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

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

基于用户池的多租户

使用此设计,您可以为应用程序中的每个租户创建一个用户池。此方法为每个租户提供最大隔离,并允许您为每个租户实施不同的配置。通过用户池隔离租户允许您灵活地进行用户到租户映射。它还允许同一用户使用多个配置文件。但是,每个用户必须为他们有权访问的每个租户单独注册。使用此方法可以单独为每个租户设置托管 UI,并将用户重定向到其特定于您的应用程序的租户实例。此方法还可以更轻松地与 API Gateway 等后端服务集成。我们建议您在以下情况下使用此方法。

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

  • 您的应用程序具有复杂的用户到租户角色映射。例如,单个用户可以是租户 A 中的 “学生”,同一用户也可以是租户 B 中的 “教师”。

  • 您的应用程序使用默认 Amazon Cognito 托管 UI 作为本地用户的主要身份验证方法。(本机用户是在用户池中使用用户名和密码创建的用户)。

  • 您的应用程序具有思洛存储器多租户应用程序,其中每个租户都可以获取应用程序基础架构的完整实例以供其使用。

工作量

使用这种方法的开发和运营努力非常高。您需要在使用 Amazon Cognito API 操作和自动化工具的应用程序中构建租户入门和管理组件。这些组件是为每个租户创建所需资源所必需的。您还需要实现租户匹配的用户界面。此外,您必须向应用程序添加允许用户注册并登录其相应租户的用户池的逻辑。

注意

这些区域有:借助 Amazon Cognito 快速入门的 SaaS 身份和隔离为每租户用户池方法提供了参考体系结构和示例实现。