如何在 AWS Cognito 中实施组限制访问

Posted

技术标签:

【中文标题】如何在 AWS Cognito 中实施组限制访问【英文标题】:How enforce group limit access in AWS Cognito 【发布时间】:2021-12-05 09:21:13 【问题描述】:

假设我有 1 个 userPool 和 2 个组:group_agroup_b。 用户可以在group_agroup_b 中或没有组。

使用 cognito API 如何按照以下规则实现访问控制:group_a 用户可以ListUsers 池中的每个用户。group_b 用户可以ListUsers 用户来自group_b,没有群组。 没有群组的用户不能ListUsers

阅读 AWS 文档后,我找不到不管理 2 个 userPools 并跨越身份池和角色的方法。 是否可以在单个 UserPool 中完成?

【问题讨论】:

【参考方案1】:

我不相信这是开箱即用的支持。 IAM 策略没有任何请求条件来检查用户所属的组。此外,list user 返回所有用户,如果您需要任何过滤,则需要在获取所有用户后进行。 我建议您构建 API 来处理此问题,检查令牌中的组,然后返回该组有权查看的用户。

【讨论】:

以上是关于如何在 AWS Cognito 中实施组限制访问的主要内容,如果未能解决你的问题,请参考以下文章

在 Angular 2 中实现 AWS-Cognito

如何缓存来自 cognito 的 ID 令牌,以便后续访问 API 网关?

如何从 AWS cognito 授权代码获取访问和刷新令牌

如何在 NodeJS 上验证 AWS Cognito 访问令牌

Nest.js 与 AWS Cognito,如何访问用户属性

如何修改 AWS Cognito 用户池的访问令牌和身份令牌的到期时间