基于应用程序客户端的多租户 - Amazon Cognito
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

基于应用程序客户端的多租户

通过基于应用程序客户端的多租户,您可以将同一用户映射到多个租户,而无需重新创建用户的配置文件。您可以为每个租户创建一个应用程序客户端,并启用租户外部 IdP 作为此应用程序客户端唯一允许的身份提供程序。有关更多信息,请参阅配置用户池应用程序客户端

当您使用托管 UI 对具有本机帐户的用户进行身份验证时,基于应用程序客户端的多租户需要额外考虑用户名、密码等。当托管 UI 正在使用时,将创建一个会话 cookie 来维护经过身份验证的用户的会话。会话 cookie 还在同一用户池中的应用程序客户端之间提供 SSO。此方法可在以下情况下使用:

  • 您的应用程序在所有租户中具有相同的配置。例如,数据驻留和密码策略在所有租户中都是相同的。

  • 您的应用程序在用户和租户之间具有一对多的映射。例如,一个用户可以使用同一个配置文件访问多个租户。

  • 您有一个仅限联合的多租户应用程序,其中租户将始终使用外部 IdP 登录到您的应用程序。

  • 您拥有 B2B 多租户应用程序,租户后端服务将使用客户端凭据授予来访问您的服务。在这种情况下,您可以为每个租户创建应用程序客户端,并与租户后端服务共享客户端 ID 和密钥以进行计算机到计算机身份验证。

工作量

采用这种方法的开发努力很大。您需要实现租户匹配逻辑和用户界面,以便将用户与其租户的应用程序客户端进行匹配。