我有一个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 ....
});
换句话说,它应该能够列出用户。
在 IAM 中为此设置角色时,我需要哪种策略?
如果要列出 Cognito 用户池中的用户,则需要允许 cognito-idp:ListUsers
。您可以将此操作限制为特定用户池,如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "cognito-idp:ListUsers",
"Resource": "arn:aws:cognito-idp:<region>:<account>:userpool/<userpoolid>"
}
]
}
查看 Amazon Cognito 用户池的操作、资源和条件键。
为 IAM 角色提供cognito-identity:ListIdentities
以获取更多信息。 https://iam.cloudonaut.io/reference/cognito-identity.html
该列表操作可能存在依赖关系。
你也可以做 cognito-identity:*
您是否需要一个限制较少的策略来明智地进行测试。