Auth0 (Okta) vs. Cognito
这篇文章比较了两个认证服务提供商:Auth0和Amazon Cognito。它们都是基于云的身份管理服务。
如今,许多软件即服务(SaaS)公司经常将其身份和访问管理需求外包给第三方。问题是如何找出最适合你的具体业务需求的方法。
这对于资源有限的初创企业和要在互联网上提供软件的公司来说尤其如此。他们必须在不分散核心业务注意力的情况下提供对其应用程序的方便和安全的访问。
就其本身而言,许多SaaS公司已经在使用SSO平台来简化其企业客户的整合工作。他们正在积极成长,并计划扩大他们的用户群。因此,他们想为他们的身份识别平台找到一个替代品,其服务已经变得太昂贵了。
我们将从IAM及其工具SSO的简要概述开始。然后看一下你在选择SSO解决方案时可能使用的标准。最后,我们在一个比较表中考察Auth0和Amazon Cognito平台的竞争地位。
什么是IAM?
Statista估计,全球身份和访问管理市场在2021年的收入已经达到139.2亿美元。今天,组织和用户与多个系统打交道,在数字环境中进行日常业务操作。
每个用户的凭证数量不断增加,不忘记或不丢失这些凭证已经成为一个真正的挑战。安全和隐私成为服务提供商和SaaS平台的另一个首要问题。
身份和访问管理是能够解决这些风险的正确解决方案。每个软件产品所有者都倾向于使用他们自己的认证机制。
身份和访问管理(IAM) 是一个政策和技术框架,提供对用户身份的验证,确保对公司技术资源的正确访问级别。
员工、合作伙伴和客户是企业实施IAM的目标受众。为了登录公司系统和访问数字资源,他们可能会使用不同的设备:路由器、智能手机、电脑,随时随地。
IAM规范了几个过程:认证,指的是身份管理,授权--访问管理,以及软件网络中用户账户的管理。
IAM对企业的好处
正确的身份认证意味着让你的消费者和员工能够轻松地与你进行数字连接--这就意味着让你能够轻松地登录、重置密码、接收个性化的数字内容并维护安全和隐私。本-古德曼。
当远程工作成为常态,公司每天管理多个应用程序和设备时,采用IAM解决方案可能是一个节省时间和金钱的决定。
它们有助于:
- 以根据结构变化来工作。基本上,它们限制了对应用程序的访问权限。
- 协助解决网络攻击和身份盗窃的问题。
- 简化用户的登录过程,增加电子商务的销售额。
- 以提高劳动力的生产力。它解决了忘记密码和限制权限的问题。
IMA包括与密码管理、同意管理、风险评级、身份存储库等相关的大量工具。
单点登录(SSO)可能是保证你的公司及其用户安全的第一个工具。基于SSO,其他IAM工具可以被实施。它经常与多因素认证(MFA)的部署一起被提及,它需要两个或更多的因素来证明用户的身份。它们可能是电子邮件、电话号码或一个秘密问题。
SSO作为IAM的一个工具
IAM基础设施通常是基于SSO建立的。它是一种用户认证方法,允许用户使用一组凭证安全地访问多个应用程序或服务。登录后,你可以访问所有公司批准的网站,而不必再次登录。通过SSO服务的访问可以应用于基于云和本地安装的应用程序。
SSO是确保互联网用户的便利性和安全性的关键。人们仍然倾向于重复使用相同的凭证来创建新的在线账户,这是一个安全风险。在其他情况下,他们可能会忘记它们。
对雇主来说,减少员工的登录时间是有益的,这可以提高生产力。它提高了员工的舒适度,所以他们不需要几个密码,而是需要一个单一的访问点来访问他们的所有应用程序。
它为企业节省了资金。超过50%的IT服务台的电话是处理密码重置的。一个密码重置请求可能要花费企业大约70美元。
SSO协议
SSO是建立在被称为服务提供商(SP)的应用程序和身份提供商(IdP)之间的信任关系上。身份数据采取包含用户识别信息(用户的电子邮件地址或用户名)的令牌形式。证书用于签署从身份提供者发送到服务提供者的身份信息。通过这种方式,服务提供者知道身份信息来自一个受信任的来源。
根据他们使用的协议,SSO的几种类型
安全断言标记语言(SAML) 是一个开放的标准,允许身份提供者向服务提供者提供授权凭证。
开放授权(OAuth 2.0) 是一个开放标准的授权协议。它在应用程序之间传输识别信息,并将其加密为机器代码。它使用授权令牌来证明消费者和服务提供者之间的身份。
OpenID Connect(OICD) 是OAuth协议之上的一个简单身份层。它允许服务提供者根据授权服务器执行的认证来验证用户的身份。它使用户能够使用他们的Facebook或谷歌账户登录服务,而不是输入用户凭证。
Kerberos 是一个使用户和服务器相互认证的协议。它在不安全的网络连接上验证对方的身份。
SSO的类型
SSO的三个主要变体:Web SSO(网络访问管理) 是一种网络认证;它使用户能够提供他的凭证。在成功的认证过程后,建立一种信任关系,允许用户访问允许的资源。
传统的网络SSO(企业SSO)。它管理对特定应用程序的多次登录。遗留SSO将SSO功能扩展到传统的遗留应用和网络资源。在企业的内部网络中使用。
联合SSO指的是组织之间保持的关系。它是基于简单对象访问协议(SOAP)和安全断言标记语言(SAML)。用户一旦登录成为一个附属组织集团的成员。然后他们就可以访问该可信联盟内的所有网站。
Okta vs Auth0.联合部队
2021年5月,Okta完成了对其最大竞争对手Auth0的收购。这次股票交易的价值为65亿美元。因此,Okta在身份识别市场的覆盖面达到800亿美元。
身份识别是一个组织今天要做的最具战略性的投资之一。Okta首席执行官兼联合创始人麦金农说,一个单一、统一的身份平台有能力通过为客户和员工提供无缝和安全的访问来改变一个组织。
自2009年以来,Okta一直是身份和访问管理的领先供应商。其软件帮助员工登录数字账户。他们向企业出售认证服务,使员工能够使用 "单点登录"。Okta专门从事基于云的身份认证。各种规模的组织都是它的重点。该公司保证企业客户的可靠性和安全性。
而Auth0是由开发者为开发者创建的。该公司成立于2013年,是一家登录技术初创公司。它为那些想为自己的应用程序建立登录选项的人提供服务。Auth0吸引了支持其产品的技术人员,并对花钱做营销没有什么困扰。世界各地的应用开发者对Auth0青睐有加,因为它的可扩展性、易用性和文件的范围。
Auth0和Okta之间的合作使其有可能为两种使用情况获得最佳产品。现在有超过15800个品牌信任Okta平台,以确保他们与员工和客户的数字互动。
结果在2022年第一季度,Okta宣布总收入为4.15亿美元。同比增长65%。订阅收入达3.98亿美元,同比增长66%。
Auth0占公司总收入的6600万美元。
什么是Auth0?
Auth0作为一个身份平台在Okta内运作。它提供身份和认证软件即服务(SaaS)。Forrester咨询公司报告说,Auth0 IAM软件可以在不到六个月的时间里产生548%的巨大投资回报率,带来1170万美元的收益。
Auth0为企业提供单点登录、被破坏的密码检测、多因素认证以及针对客户、业务伙伴和员工的用户身份管理解决方案。它还为开发者和安全专家提供了机会。
基本上,Auth0在他们的公共云中运行;但是,他们也提供在私有云中托管的选项。
什么是Cognito?
Cognito是亚马逊网络服务(AWS)的一项用户身份服务。该服务允许你增加注册、授权和控制用户访问移动和互联网应用程序的能力。亚马逊Cognito可扩展到数百万用户。支持与社会身份供应商(苹果、Facebook、谷歌、亚马逊)以及基于SAML 2.0和OpenID Connect、OAuth 2.0的企业身份供应商进行授权。
很明显,Cognito对AWS服务的效果很好。只需要几行代码就可以注册一个用户,并拿回令牌以登录到移动或网络应用。Cognito在IAM类别中的市场份额被评估为2,04%。
AWS提供Cognito用户池资源。它用于无服务器架构,并提供一个云服务,通过API(或其他服务,如Amplify),用户可以被认证。特点是。管理独特的身份,离线工作,跨设备存储和同步,MFA。
如何为SaaS产品选择SSO?供应商的标准
选择SSO供应商,你应该考虑我们选择的一些标准进行比较。在一个供应商中,有一系列的能力需要考察。
Auth0 VS AWS Cognito:价格
两个供应商都使用月度活跃用户(MAU)作为定价的基本值。它表示每月至少执行过一次任何认证操作的最大用户数。用户的身份操作包括:
- 注册、签到、修改密码。
- 代币刷新。
- 更新用户账户属性。
大多数企业可以合理地预测这个数值。这使你能做出可靠的估计。
估算。 价格估算对两个供应商都是可用的。Auth0的定价允许你在基于计划的选项中进行选择,这些选项可以有很大的不同,取决于除MAU之外的额外选项。
Cognito的定价模式主要是基于MAU,很少有配置选项需要考虑,这使得它更容易预测。
SSO估算的局限性
Auth0允许你对两个假设SSO的计划进行定价估算。它包括在专业计划的功能中,该计划是为需要增加安全性的团队和项目而设的。
- B2C(企业对消费者)专业计划 - 多达10000个MAU。
- B2B(企业对企业)专业人员--直到你的MAU低于7000。
- 企业--你需要多少就有多少。考虑企业级取决于你在与销售打交道时的谈判能力和自信程度。
Auth0企业版是为需要扩展的生产应用而开发的。它包括一系列广泛的功能。自定义连接和用户绑定;没有管理员、组织或规则限制;99,99%的SLA和企业支持,保证正常运行时间;高级部署选项;企业附加组件。但要启动它,你需要与销售部门进行个人联系。
Auth0计划计算器限制您最多拥有3个身份提供者的连接。您应该要求您的个人定价报价,以获得更多的报价,这可能显得不明显。
与Auth0相比,Cognito计算器可以进行可靠的预测,因为Auth0的不可靠程度在你达到计算器限制时就会放大。
使用Cognito,你可以推测每个用户的定价会随着用户数量的增加而下降。
对于使用IdP连接的前50000个MAU,每个用户收费0.050美元,而对于接下来的50000个用户,价格下降到0.035。
在同样的情况下,Auth0定价模式的每用户价格是否会下降并不那么明显。
两个平台都有一个免费计划:
- Auth0。免费到7000 MAU。没有任何高级功能,如角色管理、自定义电子邮件或日志保留。
- Cognito。对于直接登录到Cognito用户池的用户,免费提供高达50000 MAU。对于通过基于SAML 2.0的身份供应商联合的用户,最多50个MAU。
中长期的成本策略
对于Auth0来说,定价是由MAU定义的,并且对于所选择的计划来说是静态的(至少在可用的计算参数内)。
对于Cognito来说,定价可能取决于服务的设置,这可能并不明显,而且在某种程度上假定你知道你在做什么以及你的收费是什么。当 "高级安全功能 "被打开时,你的定价可能会大大增加,但与Auth0相比,它仍然是低得多。
"高级安全功能 "提供了你从Auth0获得的类似行为,其中之一是监控和日志,这对这类企业系统来说是必不可少的,无论如何都不能忽视。
Auth0与AWS Cognito:合规性和安全性
一次数据泄露可能会造成数百万的损失,因此,企业将他们的数据交给供应商是至关重要的。身份供应商应表明他们对数据安全是认真的。他们必须满足安全标准并确保合规认证。
有许多领先组织的合规证书。请看其中一些。
- ISO(国际标准化组织)和IEC(国际电工委员会)形成了一个世界性的标准化体系。其国际标准包含了对信息安全管理系统的创建、实施、维护和改进的要求。
- SOC 2(系统和组织控制)审计的创建是为了定义外部SaaS公司应如何管理其客户数据的标准。获得这个标准意味着一个独立的第三方评估产品、基础设施和政策,并确保公司符合其要求。这对金融机构、医疗保健公司和保险公司的客户来说是必要的。
- CSA STAR(云安全联盟安全、信任、保证和风险)认证确保云服务的安全能力。
- HIPAA(健康保险可携性和责任法案)使组织有责任控制对客户和雇员信息的访问。
- 欧洲的GDPR(通用数据保护条例)要求严格的用户访问控制。
- PCI-DSS(支付卡行业数据安全标准)对从事金融或处理卡片数据的企业很重要。
Auth0和Cognito的总结。这两个平台都在特定的合规计划范围内验证了其合规性,包括各种类型的ISO/IEC、SOC 2和CSA STAR。
符合SOC 2确保了Auth平台可以防止你和你的客户作为服务消费者的额外安全风险。如果有安全风险可能被认为是在你的系统内进行服务整合的后果,这些风险应该在文件中宣称。
如果你的产品需要认证,使用合规的第三方服务可以简化你自己的合规审计。
考虑到你的客户在与他们的IdP整合时可能需要进行合规性验证。这两种服务都有涵盖所有级别合规性的大多数标准认证,除非你在寻找你的领域的特定东西。
Auth0与AWS Cognito:文档和支持
支持
作为一个多用途和多领域的平台,AWS不提供专门的Cognito支持。你得到的是与你的一般AWS支持计划有关的支持水平。
我们不建议将生产环境的免费AWS支持计划作为一个中长期战略。
Auth0的支持水平取决于你的计划,与AWS相比,它看起来更可靠。原因很明显:他们是一个单一的服务平台,而且更面向客户。
一般来说,你可以期待Auth0提供更好的支持。除非你从AWS购买企业支持,即假定有专门的支持经理,否则显然是昂贵的。
文档
这两种服务都提供了有关SSO集成的可靠文档,包括与最流行的IdP供应商的集成实例。
Auth0与AWS Cognito的比较:企业身份识别程序流程
许多公司需要设置一个门户,以便用户在登录门户后可以导航到正确的应用程序。
一般来说,对于如何启动SSO有两种选择:由服务提供者和身份提供者。实施身份提供者发起的单点登录可以让你创建一个仪表板,上面有多个可以启用SSO的企业应用的列表。
Auth0提供产品SSO仪表板扩展。它满足了企业场景的要求,并允许IdP用户仅从IdP应用程序库中登录到你的应用程序。用户通过这个仪表板登录。
这被认为是常见的做法。然而,IdP发起的流量有安全风险,因此不建议使用。它使应用程序面临可能的登录CSRF攻击。建议尽可能地使用SP发起的流量。
Auth0在设置UI中明确提出了相关主张,而AWS会在相关文档中提出合理的主张,并且不会为你提供任何明确的配置IdP登录的选项;但是,它仍然被支持。
这两个平台都确保你了解风险并提出关注。
Auth0与AWS Cognito:与你的平台整合
你应该检查认证平台是否支持与现有目录服务和移动/网络应用的整合。
这两个平台都提供了对OIDC、SAML和AD与IdPs集成的支持,但在配置上略有不同。
两个平台都支持OAuth 2.0授权代码流,如 "隐式授权 "或PKCE(代码交换的证明密钥)。最后一种被推荐用于移动桌面和网络应用。
请注意,由于安全限制,PKCE可能是SPA(单页应用程序)的唯一选择。
除了支持,平台还提供了库,当涉及到认证流程的实施时,这些库将为你做大部分的重活。
尽管有任何建议,理解和选择适当的认证流程仍然是你的责任。
Auth0与AWS Cognito:处理最近的浏览器安全限制
美国和欧盟对其公民的个人数据保护表示关注。
他们要求科技巨头解决在线隐私的问题。作为一个例子,GDPR在2018年通过。这是一部关于欧盟公民数据保护权利的特别法律。基于它,收集用户数据的网站所有者必须通知用户这一点。如果用户没有给予同意,则禁止收集这些数据。
谷歌计划在未来几年内停止支持Chrome浏览器中的第三方追踪cookies。其他流行浏览器的开发者也将阻止广告网络使用第三方cookies。
这将使网络跟踪的工作方式和许多网站的创收方式发生很大变化。在广告和出版业中,Cookies对于追踪显示相关广告非常重要。
因此,最近浏览器隐私技术和用户隐私控制(如ITP)的发展影响了用户体验(UX),并保持用户对资源的无缝访问。这意味着用户需要在一个合理的、可配置的时期内重新授权,以便能够在平台内操作。当然,这也造成了用户体验的中断。
浏览器限制访问第三方cookie的意图限制了PKCE方法对刷新 "访问令牌 "的使用。
为了克服这些限制,两个被比较的平台都实施了 "刷新令牌 "的方法,这是一个解决上述问题的方法。然而,它们在提供对刷新令牌行为的控制能力上有所不同。
例如:如果你想让一个用户会话在某段时间内不活动后终止,这在Auth0中是可以配置的,而这必须在Cognito中实现。
Auth0与AWS Cognito:监控和日志
日志对于SSO流程来说是至关重要的,这也是Auth0与Cognito相比的优势所在。尽管 "高级安全 "为Cognito提供了额外的监控和日志记录,但与Auth0开箱即用的功能相比还是相差甚远,需要额外的努力才能达到可持续的效果。
Auth0与AWS Cognito:可扩展性
重要的是,该解决方案有能力连接到外部系统的数据源和联盟等。大多数平台提供了一种创建自定义扩展的方法。这些自定义扩展可以插入解决方案中,以处理内置功能无法处理的用例。
总而言之,金融科技软件在安全性、快速性和无摩擦交易方面的要求特别高。因此,他们会更喜欢启用了高级安全功能的Cognito或带有Auth0的B2B专业计划。因此,如果我们比较5000个MAU,Cognito的价格将是321美元,Auth0的价格是1500美元。因此,根据价格方法,AWS Cognito更受欢迎。
| 衡量标准 | AUTH0 | AWS COGNITO |
|---|---|---|
| 安全访问解决方案 | B2C - 面向企业对客户组织的现代客户身份管理解决方案。对于您的客户。通过UN/PW或社会联系等方法。B2B - 为您的商业伙伴提供身份管理。为您的客户提供企业身份集成,跨您的产品的SSO,以及带有MFA和Anomaly Detection的自适应认证。通过连接,如SAML、LDAP或AD。B2E员工身份访问管理(Okta的劳动力身份解决方案)。 | Amazon Cognito有两个主要组成部分:用户池和身份池。用户池是用户目录,为你的应用程序的用户提供注册和登录选项。身份池允许你授予用户对其他AWS服务的访问权。 |
| 定价 | 定价模式令人困惑;它是一个昂贵的解决方案。尽管如此,它包括各种各样的身份管理工具。 | 与市场上的其他解决方案相比,该解决方案的价格具有竞争力。 |
| 合规性和安全性 | 在合规性方面提供最多。ISO27001, ISO27018, SOC 2 Type II, HIPAA BAA, Gold CSA STAR, PCI DSS, GDPR。完整的合规性文件。 | 在合规性方面提供最多。ISO/IEC 27001:2013, 27017:2015, 27018:2019, 27701:2019, 22301:2019, 9001:2015, CSA STAR CCM v3.0.1, HIPAA, PCI DSS, SOC 1, 2, 3, ISMAP, FedRAMP, SGR, IRAP, C5, K-ISMS, MTCS, ENS, OSPAR, HITST CSF, FINMA, GSMA, PITuKri, CCCS, GDPR, FIPS 140-2, NIST 800-171。完整的合规文件。 |
| 文档 | 提供有关SSO整合的质量较好的文档。它包括详细的文档和常用编程语言的清晰代码示例。提供几个具有大量技术的库。 | 同时,提供有关SSO集成的可靠文档,包括与大多数流行的IdP供应商集成的例子。但它有点乱。 |
| 监测和记录 | 你可以监控你对Auth0的实施,检查外部身份提供者服务的状态,并监控你的应用程序。Auth0提供事件日志,你可以根据你的业务需要使用。 | 支持两个AWS服务,因此你可以跟踪你的组织和组织内的活动。 |
| 支持 | Auth0在其定价计划中包含了更好的支持。提供用户行为分析、档案仪表板和认证趋势。 | AWS支持是与服务无关的,必须独立购买。支持是付费的;你应该是AWS的高级客户。 |
| 易于整合 | 它是一个与同意管理、身份证明、IT、社交媒体、短信和客户成功工具整合的市场。与谷歌、GitHub和微软产品整合。使用一个开放的API,可以很容易地与几乎所有的第三方应用程序集成。与OIDC、LDAP、SAML和ADFS等工具兼容。支持OAuth 2.0("隐式授权 "或PKCE)。 | 与谷歌、亚马逊、Twitter、Facebook和SAML集成。对非AWS应用的集成性差。与OIDC、SAML和ADFS等工具兼容。支持OAuth 2.0("隐式授权 "或PKCE)。 |
| 数据安全 | 在Auth0数据库或内部企业存储库中安全存储凭证;单点登录和MFA用于安全数据访问。 | 使用MFA、SSL/TLS与AWS资源通信,使用AWS加密解决方案、Amazon Macie。 |
| 灵活性 | 通过使用认证管道得到改善。这是一个重要的功能,因为它允许你定制与认证和授权过程有关的一切。 | 由AWS Amplify实施。让开发人员有能力定制AWS的后台和部署选项。 |
| 协议支持 | OAuth, OAuth 2, OIDC, SALM | OAuth 2、OIDC、SALM |
| 可扩展性 | JavaScript / NodeJS 自定义代码的可扩展性以三种方式呈现在客户仪表板上。Auth0规则、Hooks、Extensions。 | JavaScript / NodeJS |
| 处理最近的浏览器安全限制 | Auth0为 "刷新令牌 "和相关配置提供了一个更坚实和可配置的方法,并尽可能地减少工作量。 | 它更复杂,需要额外的努力来设置。但你仍然可以用Cognito实现 "刷新令牌 "的方法。很难找到令牌的过期时间。 |
| 企业IdP流量 | 允许IdP发起的流量。有明确的设置来创建SSO仪表板应用。 | 不支持IdP发起的SSO。 |
考虑到以上列出的标准,AWS Cognito涵盖了金融科技产品的大部分必要选项。尽管这个平台有一些缺点,但在选择身份平台时,价格因素可能成为一个重要的因素。
总结:AWS Cognito与Auth0的对比:哪一个才是?
我们比较了两个IAM软件平台,Amazon Cognito和Auth0,看它们如何满足关键的安全要求。如果你能根据你独特的业务需求做出自己的最终决定,会有帮助。
Cognito是提供访问AWS服务的一个伟大选择。对于已经是AWS客户的用户,绝对应该推荐它。它将以最具竞争力的价格提供与这些服务的内置认证。对于计划扩大规模并为100万MAU的B2C市场提供服务的企业来说,它是一个不错的选择。
同时,它可能不是最适合于一般认证解决方案的解决方案。
Auth0是中小型企业的一个好选择。对于开发应用程序的公司来说,它是一个不错的选择。它提供各种工具和内置功能,使应用团队能够快速启动和运行。因此,对于大多数客户来说,他们的定价模式可能是一个令人困惑的因素。
如果你没有很多活跃的用户,Auth0可能是一个不错的选择,因为它的内置功能和用户支持。开始使用这家公司的产品可能更容易。有必要评估效益和计算好成本。
然而,这两种产品都有其独特的优点。