AWS Cognito 角色:区分联合身份池角色和用户池组角色
Posted
技术标签:
【中文标题】AWS Cognito 角色:区分联合身份池角色和用户池组角色【英文标题】:AWS Cognito role: Distinguish between Federated Identity Pool roles and User Pool Group roles 【发布时间】:2019-08-15 09:11:10 【问题描述】:我有一个应用程序,其中我希望 2 种类型的用户属于同一个用户池。它们都使用相同的 AWS Cognito 联合身份池进行身份验证。第一种类型的用户,经理,应该能够看到他们组中的所有其他用户并更改他们的属性。第二种类型,员工,应该只能看到/更改自己的属性,更改自己的密码,忘记自己的密码等。我想这种特殊情况需要一些策略“魔法”来创建 2 个角色,每个角色都有不同的级别的权限。我认为每个角色将被分配到不同的组,经理组获得更多的权力/权限。但我对联合身份池和用户池组中角色分配的冗余感到困惑。
AWS Cognito 联合身份池具有 3 个角色说明符:“未经身份验证的角色”、“经过身份验证的角色”,对于身份验证提供者,“经过身份验证的角色(选择)”。 AWS Cognito 用户池组允许您指定 IAM 角色。身份池和组在权限方面是什么关系?
【问题讨论】:
【参考方案1】:如果您正在使用组并将角色附加到它们,则可以选择使用令牌中提供的角色。默认情况下,每当您登录时都会使用经过身份验证的角色(或未经身份验证的角色,如果您已激活)。您可以通过打开联合身份池并在 cognito 用户池(我假设是您的身份提供者)下更改此设置来更改此行为.
选择“从令牌中选择角色”以使用您附加到用户所属组的角色。
【讨论】:
以上是关于AWS Cognito 角色:区分联合身份池角色和用户池组角色的主要内容,如果未能解决你的问题,请参考以下文章
使用带或不带 cognito 的 aws api 网关的联合身份的轻量级 rbac
我们可以在 AWS Cognito 的单个用户池中拥有多个角色吗?
具有 Cognito 联合身份的 AWS AppSync IAM 授权
有啥方法可以限制 IAM 用户/假定角色在 AWS cognito 中启用未经身份验证的用户身份?
CloudFormation AWS::Cognito::IdentityPoolRoleAttachment RoleMappings 语法错误