首页 文章

多租户Webapp中的Cognito用户

提问于
浏览
2

我们希望实现一个我们想要利用的多租户应用程序:

  • AWS Cognito作为我们的用户池

  • AWS DynamoDB用于我们的大多数数据

当我们跟随pooled approach时,我们的DynamoDB数据将 tenantID 作为主键 . 此外,所有用户都汇集在一个cognito用户池中 .

我们的应用程序还需要在应用程序中显示我们的用户,因此我需要查询用户 .

我想直接查询AWS Cognito池并显示租户的所有用户 . 因此,我会为cognito用户 custom:tenantID 添加一个属性 .

但是有一个问题:自定义属性是not searchable / filterable,所以我不能根据tenantID进行查询,我会对所有其他数据表做什么 .

我想到了“滥用”其中一个可搜索的数据字段,如租户的姓氏,但这似乎是一个坏主意 .

我想避免创建一个dynamoDB表,仅用于将用户链接到租户 . 有什么方法可以解决这个问题?

1 回答

  • 2

    将AWS Cognito用于多租户应用程序时,仅使用Cognito进行身份验证 .

    您可以为存储在DynamoDB表中的每个租户创建一个包含访问控制列表(授权)的用户表,您也可以使用该表来搜索用户等 .

    如果您在Cognito中使用称为租户或商店租户标识符的自定义属性,除了搜索限制之外,您还将用户限制为单个租户 .

相关问题