开发人员认证的身份和角色

时间:2017-10-05 14:53:34

标签: amazon-web-services amazon-cognito aws-cognito

我试图实施"开发者身份验证身份"对于AWS,如此处所述:https://aws.amazon.com/blogs/mobile/amazon-cognito-announcing-developer-authenticated-identities/

我理解正确的基本流程。

但是,我希望能够根据我的身份(例如基于规则的角色)获得不同的角色,例如" Admin"用户可以拥有AWS资源的更多权限。但是,当AWS控制台处于" Edit identity pool"让我为Cognito用户池标识提供程序定义基于规则的角色,它不允许我为自定义身份验证提供程序执行此操作。

换句话说,此页面(http://docs.aws.amazon.com/cognito/latest/developerguide/role-based-access-control.html)中描述的内容是否可能与开发人员身份验证的身份相符?

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

使用开发者身份时,在身份验证之后,您将使用STS AssumeRole将IAM角色分配给用户。您将需要一种方法将用户映射到角色。通常使用DynamoDB。注意:用于调用STS的凭据(AccessKey,角色等)需要足够的功率来发出所需的IAM角色。然后AssumeRole创建AccessKey SecretAccessKey对以提供给用户。请记住,这些是您控制的到期时间的临时凭证。

STS AssumeRole