2017-10-05 138 views
0

我试图实施“开发验证的身份”为AWS如下解释:https://aws.amazon.com/blogs/mobile/amazon-cognito-announcing-developer-authenticated-identities/开发验证的身份和角色

我理解正确的基本流程。

但是,我希望能够根据我的身份(例如,基于规则的角色)获得不同的角色,以便例如“Admin”用户对AWS资源拥有更多权限。但是,尽管“编辑身份池”中的AWS控制台允许我为Cognito用户池标识提供程序定义基于规则的角色,但它不会让我为定制身份验证提供程序执行此操作。

换句话说,这个页面描述了什么(http://docs.aws.amazon.com/cognito/latest/developerguide/role-based-access-control.html)可能与开发人员身份验证身份?

我该如何做到这一点?

回答

1

目前,开发者身份验证标识不支持基于规则的角色。不幸的是,因为没有一种将从GetOpenIdTokenForDeveloperIdentity返回的OIDC标记绑定到特定角色的安全方式,所以它可以交换为针对STS配置的针对任何角色的角色,从而达到目的。我们之前已经听到过这个请求,并将它作为一个功能请求,将可假设的角色嵌入到OIDC令牌中,以便STS可以确认您正在承担您被允许的角色。如果您使用基于规则的映射,我们目前仅支持GetCredentialsForIdentity。

0

当使用开发人员身份验证后,您将使用STS AssumeRole将IAM角色分配给用户。您将需要一种将用户映射到角色的方法。通常情况下,DynamoDB用于此目的。注意:您用于调用STS的证书(AccessKey,角色等)需要足够的权力来发布所需的IAM角色。然后AssumeRole创建AccessKey SecretAccessKey对以提供给用户。请记住,这些临时凭证是由您控制的到期日期。

STS AssumeRole

相关问题