AWS Cognito标识池的Web接口未保存对已身份验证的提供程序角色选择的更改



在AWS Cognito的身份池中,我试图让用户根据他们在用户池中所属的组来承担IAM角色。每当我选择"编辑标识池">身份验证提供程序>quot;从令牌中选择角色";然后点击保存更改,我会在屏幕顶部看到一条横幅,上面写着更改保存成功,但如果我回去查看设置,它们会返回到";使用默认角色"而不是";从令牌中选择角色";。这是一个错误吗?我是否有配置错误的地方,那是一个无效的选项,还是另一个潜在的问题?这是我选择并希望生效的设置的图像这是它当前的状态,以及在我按下保存更改后返回的状态

AWS CLI命令,用于设置带有选项的标识池角色"从令牌中选择角色";

aws cognito-identity set-identity-pool-roles --identity-pool-id "IDENTITY POOL ID" --roles authenticated="Auth IAM Role ARN",unauthenticated="UnAuth IAM Role ARN" --role-mappings cognito-idp.<<AWS REGION>>.amazonaws.com/<<USER POOL ID>>:<< APP CLIENT ID>>="{Type="Token", AmbiguousRoleResolution="Deny"}"

我确信这一定是AWS web控制台的错误,而不是我自己的错误。在尽可能多地排除故障后,我设置了AWS CLI,并从那里运行了必要的命令,第一次尝试就成功了。在AWS web控制台中重新访问该页面后,更改得到了正确反映,我的身份验证现在可以正常工作。

我在UI方面也遇到了同样的问题,感谢这篇文章,我尝试了CLI。

identity_roles.json

{
"IdentityPoolId": "us-east-1:pool_id",
"Roles": {
"unauthenticated": "arn:aws:iam::account_id:role/UnAuthDefaultRole",
"authenticated": "arn:aws:iam::account_id:role/AuthDefaultRole"
},
"RoleMappings": {
"cognito-idp.us-east-1.amazonaws.com/user-pool-id:app-id": {
"Type": "Token",
"AmbiguousRoleResolution": "AuthenticatedRole"
}
}

}

aws cognito identity get identity pool roles--identity pool-id us-east-1:identity_pool_id

aws cognito标识集标识池角色--cli input json文件://pwd/identity_roles.json

最新更新