AWS Cognito 代替 Keycloak

lp *_*cmu 3 identity amazon-cognito keycloak okta auth0

我们正在构建一个需要用户管理功能的 Web 应用程序:管理员用户、管理员组、业务团队组、公共用户、基本用户等。根据他们的角色、组,不同的能力可以访问我们应用程序的不同资源。

为此考虑了几个选项:1/ 特定开发 2/ 使用开源:Keycloak 3/ 使用商业解决方案:AWS cognito,因为我们在开发中使用了大量 AWS 资源。

由于我们对这个项目的预算有限,我正在权衡优化开发工作、基础设施和技术支持成本的选项。问题 :

  • Keycloak 是否是小型项目的好选择,因为我们提供技术支持的资源非常有限?
  • AWS Cognito 是否成熟到可以用于商业应用程序?
  • Keycloak以后迁移到开源容易吗?
  • 我通过谷歌搜索看到一些评论说,由于与应用程序集成的复杂性和文档问题,一些项目已经回滚了他们在 AWS Cognito 上的选择。AWS Cognito 是否改进了这些功能?
  • 有其他选择吗?(Auth0,Okta)?

Yur*_*y P 5

Keycloak 是否是小型项目的好选择,因为我们提供技术支持的资源非常有限?

我认为 Keycloak 需要比 Cognito 更多的技术支持。Cognito 是 SAAS,因此您可以在几分钟内完成设置,而且您无需担心扩展、监控等问题。但另一方面,Keycloak 在配置和定制方面提供了更大的灵活性。

AWS Cognito 是否成熟到可以用于商业应用程序?

是的,Cognito 已经足够成熟,它有很好的文档并遵循标准(如 JDPR、HIPAA 等)

Keycloak以后迁移到开源容易吗?

这取决于您的系统的复杂性。Keycloak 具有导入/导出功能,但它适用于简单的情况。AWS Cognito 和 Keycloak 都提供 REST API(和库)来使用它们。它们允许编写可以在迁移过程中执行复杂逻辑的应用程序。

我通过谷歌搜索看到一些评论说,由于与应用程序集成的复杂性和文档问题,一些项目已经回滚了他们在 AWS Cognito 上的选择。AWS Cognito 是否改进了这些功能?

文档很好。至于集成,则取决于应用程序和要求。Cognito 有很多限制。检查它们是否适用于您的情况。例如,在我们的案例中,Cognito 没有提供足够的选项来自定义托管 UI(登录页面)。此外,使用 Cognito 来确保它允许实现您的组/角色/权限模型。因为与 Keycloak 相比,它允许更简单的关系。

有其他选择吗?(Auth0,Okta)?

很难比较所有功能。但价格方面:Keycloak 是免费的,Cognito对少于 5 万用户是免费的,Auth0 比 Cognito 贵,Okta 比 Auth0 贵。所以这取决于你的项目和预算的大小。

  • 最后一段 - 还值得注意的是,虽然 50k 用户(每月活跃用户)免费,但您只能获得 50 个通过 SAML 2 登录的免费每月活跃用户(例如,google、facebook 等...) (4认同)