我正在尝试为亚马逊网络服务实现“开发者认证身份”,如下所述:https://aws.amazon.com/blogs/mobile/amazon-cognito-announcing-developer-authenticated-identities/
我正确地理解了基本流程。
然而,我希望能够根据我的身份获得不同的角色(例如:基于规则的角色),例如"Admin“用户可以对AWS资源拥有更多权限。然而,虽然“编辑身份池”中的AWS控制台允许我为Cognito User Pool身份提供者定义基于规则的角色,但它不允许我为自定义身份验证提供者定义基于规则的角色。
换句话说,此页面(http://docs.aws.amazon.com/cognito/latest/developerguide/role-based-access-control.html)上描述的内容是否可以通过开发人员身份验证?
我怎样才能做到这一点呢?
发布于 2017-10-06 11:49:47
目前,开发人员身份验证身份不支持基于规则的角色。不幸的是,由于没有一种将从GetOpenIdTokenForDeveloperIdentity返回的OIDC令牌绑定到特定角色的安全方法,因此可以将其替换为针对池配置的任何角色,而STS则无法实现此目的。我们以前听说过此请求,并将其视为在OIDC令牌中嵌入假定角色的功能请求,以便STS可以确认您正在承担您被允许的角色。如果您使用基于规则的映射,我们目前只支持GetCredentialsForIdentity。
发布于 2017-10-07 10:48:26
在使用开发人员身份时,在身份验证之后,您将使用STS AssumeRole将IAM角色分配给用户。您需要一种将用户映射到角色的方法。通常,DynamoDB用于此目的。注意:凭据(AccessKey、角色等)您用来调用STS的需要足够的电源才能发出所需的IAM角色。然后,AssumeRole创建AccessKey SecretAccessKey对以提供给用户。请记住,这些是临时凭据,您可以控制它们的过期时间。
STS AssumeRole
https://stackoverflow.com/questions/46588694
复制相似问题