首页 > 解决方案 > AWS 多租户无服务器应用程序中每个租户的用户池有哪些挑战

问题描述

我正在考虑根据推荐的多租户架构为每个租户创建一个用户池(例如:https ://aws.amazon.com/quickstart/saas/identity-with-cognito/ )

应用程序中的其余资源将使用池化资源(例如:API 网关、dynamoDB 表)。考虑仅适用于应用程序的 Cognito/auth 部分的筒仓模型。

申请要求:

  1. 每个租户的子域,即tenant1.company.com 和tenant2.company.com
  2. 一个用户可以属于多个租户(外汇:用户A可以在tenant1tenant2
  3. 需要能够列出特定租户的所有用户
  4. 个人身份信息的数据驻留限制

我相信如果我要为所有租户使用相同的 Cognito 用户池,我可以强制用户为新租户使用不同的电子邮件,即abc@tenant1.comforTenant1abc+tenant2@tenant2.comfor Tenant2

但是要列出特定租户的所有用户,我想所有租户的相同用户池将不起作用,因为tenant_id 将是自定义属性。

我还可以通过为每个租户创建一个用户池来确保数据驻留限制。但是,在这种情况下如何处理区域故障转移?

此外,这种方法是否支持每个租户的子域?

我听说每个租户的用户池一直很痛苦,应该避免。有哪些痛点?

对于我的用例,我是否应该选择 AuthZ 提供程序而不是 auth0 或 authress?

标签: amazon-web-servicesauthenticationamazon-cognitomulti-tenantsaas

解决方案


推荐阅读