我有一个AWS Lambda函数,该函数需要能够运行以下代码:
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
cognitoidentityserviceprovider.listUsers(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
.... other useful code ....
});
换句话说,它应该能够 listUsers 。
为此在IAM中设置角色时,我需要什么样的政策?
答案 0 :(得分:1)
如果要列出Cognito用户池中的用户,则需要允许cognito-idp:ListUsers
。您可以将操作限制为特定的用户池,如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "cognito-idp:ListUsers",
"Resource": "arn:aws:cognito-idp:<region>:<account>:userpool/<userpoolid>"
}
]
}
看看Actions, Resources, and Condition Keys for Amazon Cognito User Pools。
答案 1 :(得分:0)
您需要授予IAM角色cognito-identity:ListIdentities
,以获取更多信息。 https://iam.cloudonaut.io/reference/cognito-identity.html
该列表操作可能存在依赖性。
您也可以
cognito-identity:*
,如果您需要限制性较小的策略来进行明智的测试。