AWS Cognito角色:区分联合身份池角色和用户池组角色

时间:2019-03-25 06:50:32

标签: amazon-web-services authentication permissions amazon-cognito roles

我有一个应用程序,我希望2种类型的用户属于同一用户池。它们都使用相同的AWS Cognito联合身份池进行身份验证。第一种用户类型是Manager,应该能够查看其组中的所有其他用户并更改其属性。第二种类型,雇员,应该只能看到/更改自己的属性,更改自己的密码,忘记自己的密码等。我想这种特殊情况需要一些策略“魔术”来创建2个角色,每个角色具有不同的级别权限。我认为每个角色将被分配到一个不同的组,而Manager组将获得更多的权限。但是我对联合身份池和用户池组中角色分配的冗余感到困惑。

  • AWS Cognito联合身份池具有3个角色说明符:“未经身份验证的角色”,“经过身份验证的角色”,对于身份验证提供程序,则为“经过身份验证的角色(选择)”。
  • AWS Cognito用户池组允许您指定IAM角色。

就权限而言,身份池和组之间的关系是什么?

1 个答案:

答案 0 :(得分:1)

如果您正在使用组并将角色附加到组,则可以选择使用令牌中提供的角色。默认情况下,每次登录时都会使用经过身份验证的角色(如果已激活,则为未经身份验证的角色)。您可以通过以下方式更改此行为:打开联盟身份池,然后在Cognito用户池(我认为是您的身份提供者)下更改此设置。 。 enter image description here

选择“从令牌中选择角色”以使用您附加到用户所属组的角色。