U ser-pool-based 多租户 - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

U ser-pool-based 多租户

利用此设计,您可以为应用程序中的每个租户创建一个用户池。此方法为每个租户提供最大程度的隔离。您可以为每个租户实施不同的配置。通过用户池进行租户隔离使您可以灵活地进行 user-to-tenant 映射。您可以为同一用户创建多个配置文件。但是,每个用户必须为他们可以访问的每个租户单独注册。使用此方法,可以单独为每个租户设置托管 UI,并将用户重新导向到您应用程序的租户特定实例。您还可以使用此方法与 API Gateway 等后端服务集成。

您可以在以下情况下使用 user-pool-based 多租户:

  • 您的应用程序对于每个租户具有不同的配置。例如,每个租户的数据驻留要求、密码策略和 MFA 配置可能有所不同。

  • 您的应用程序具有复杂的 user-to-tenant 角色映射。例如,某个用户可以在租户 A 中是“学生”,也可以在租户 B 中是“教师”。

  • 您的应用程序使用原定设置 Amazon Cognito 托管 UI 作为本地用户进行身份验证的主要方法。本地用户仅存在于您的用户群体目录中,无需通过外部 IdP 进行联合身份验证。

  • 您的应用程序具有孤立的多租户应用程序,其中每个租户都可以获取应用程序基础设施的完整实例以供其使用。

工作量级别

使用此方法的开发和操作工作量很大。您必须在使用 Amazon Cognito API 操作和自动化工具的应用程序中构建租户登录和管理组件。这些组件是为每个租户创建所需资源所必需的组件。您还需要实施与租户匹配的用户界面。此外,您必须向应用程序添加逻辑,以便用户注册和登录其相应租户的用户池。