当前位置: 首页 > 知识库问答 >
问题:

Amazon Cognito多租户最佳方法

夔博
2023-03-14

我正在AWS上开发一个多租户应用程序。我正在努力在Cognito上实现多租户。我的第一个方法是为整个应用程序使用一个认知用户池和一个标识池。

这个想法是为每个用户角色创建一个认知组,并将它们与各自的IAM角色相关联。工作正常。当使用组进行角色分配时,我将身份池经过身份验证的角色选择配置为“从令牌中选择角色”。

但是,对于20个租户,将需要40个组,每个用户池的认知组限制为25个。

每个租户使用一个认知用户池也有同样的不便,因为认知用户池的限制是50个(我们希望超过25个租户)。

if custom:role equals 'tenant1_admin' then assign TENANT_1_ADMIN_IAM_ROLE

if custom:role equals 'tenant1_regular' then assign TENANT_1_REGULAR_IAM_ROLE

...

if custom:role equals 'tenant20_admin' then assign TENANT_20_ADMIN_IAM_ROLE

if custom:role equals 'tenant20_regular' then assign TENANT_20_REGULAR_IAM_ROLE

共有1个答案

滕令雪
2023-03-14

我知道这个问题已经被回答了,有点老了,但我想这可能对其他遇到这个问题的人有用。AWS实际上已经发布了一份白皮书和快速入门指南,用于在AWS上创建多租户SaaS应用程序https://aws-quickstart.s3.amazonaws.com/saas-identity-cognito/doc/saas-identity-and-election-with-cognito-on-the-aws-cloud.pdf

它有一个基本的Web前端(S3上的AngularJS)、Cognito(每个租户有一个池)、处理用户-租户查找的逻辑和托管服务的ECS配置。非常详细,应该有助于回答一堆问题,为人们开始或想知道这些类型的问题。

 类似资料:
  • 我最近在工作中遇到了以下架构问题,我不确定这里的最佳做法。 我们为学校提供了一个多租户SAAS应用程序,其体系结构与一个中央主数据库(包含配置和共享数据)以及每个“学校组”的一个特定数据库配合使用。这些群体通常具有地域性,学校合作并为他们的群体取得软件许可证。 这在过去带来了一些问题,因为有时学校会改变群体。我们通过创建一个迁移工具来解决这个问题,该工具从一个数据库中提取学校数据,并将其合并到其他

  • 目前为止,我们已经让用户页面在多租户风格下工作。为使它工作,我们看起来并没有做太多的变化。但请记住,我们正在对一个原来不是多租户的系统作修改。 让我们在 Roles 表应用类似的原则。 再一次,一个租户的用户在不能查看或修改其他租户的角色,每个租户的用户是相互独立工作的。 我们先在 RoleRow.cs 添加 TenantId 属性: namespace MultiTenancy.Administ

  • 问题内容: Tl; dr:有没有方法可以覆盖默认行为? 在我的django项目中,我有很多网址,例如 允许使用以下网址 这样,我便可以使用自定义中间件来修改请求,以包括基于使用我的网站的公司的一些特定详细信息 这一切工作正常,除了当Django试图破译与完整路径和… 它似乎作为正则表达式的默认匹配返回。由于该方法具有用于映射到的转义映射 该标签我已经能够覆盖更换正确的公司名称,我想知道是否有类似的

  • 我使用和配置了hibernate的多租户。我还编写了一个过滤器,截取url并确定谁是租户。 我有几个问题/困惑。 > 这种方法合适吗?我也想过在用户会话中存储租户标识,但我认为这不是一个好主意。(在过去,我在会话中存储东西时遇到过问题,在某些情况下有其局限性)。 我对这两种方法感到困惑,请问还有第三种方法吗。对于多租户,我选择了hibernate的策略。

  • 由于我们现在有一个行为处理仓储的详细信息,我们只需在行(rows)实现 IMultiTenantRow 接口并添加 TenantId 属性。 从 SupplierRow.cs 开始: namespace MultiTenancy.Northwind.Entities { //... public sealed class SupplierRow : Row, IId

  • 问题内容: 我想在Django中创建多个用户。我想知道哪种方法最好。 还是应该使用.. 还是我必须创建自定义用户模型…这将对创建多种类型的用户非常有用… ?? 问题答案: Django没有多个用户-它只有一个用户,然后根据权限,用户可以执行不同的操作。 因此,首先-django中只有一种用户类型。如果你使用默认的身份验证框架,则从将此用户的模型称为。 如果要自定义django中的用户行为,可以执行