用户池多租赁最佳实践
在应用程序中为每个租户创建一个用户池。此方法为每个租户提供最大程度的隔离。您可以为每个租户实施不同的配置。按用户池隔离租户为您在用户到租户映射中提供了灵活性。您可以为同一用户创建多个配置文件。但是,每个用户必须为他们可以访问的每个租户单独注册。
使用此方法,可以单独为每个租户设置托管 UI,并将用户重新导向到您应用程序的租户特定实例。您还可以使用此方法与 Amazon API Gateway 等后端服务集成。
下图显示每个租户都有一个专用用户池。
何时实施用户池多租赁
当隔离和自定义是您的主要关注点时。在具有多个用户池的架构中,用户和租户之间的关系可能很复杂。举一个例子,您有两个教育租户。同一个用户在一个应用程序中可能是访问受限的学生,而在另一个应用程序中可能是具有较高权限的教师。您可能需要在一个应用程序中使用 MFA,但在另一个应用程序中不需要使用 MFA,或者两个应用程序有不同的密码策略。由于本地用户可以使用托管 UI 登录到用户池中的多个应用程序客户端,因此,当您希望多个租户使用托管 UI 登录时,用户池多租赁也是理想的选择。
工作量水平
使用此方法的开发和操作工作量很大。为了确保您的应用程序系列获得一致且可预测的结果,必须将 Amazon Cognito 资源与自动化工具集成,并在身份验证架构变得越来越复杂时维持最初设定的基准。当您想为应用程序打造统一的起始页面时,您必须构建用户界面(UI)元素来捕获用户的初步选择,并将他们引导到正确的资源。