【问题标题】:Restrict IAM user to access specific Cognito user pool(s)限制 IAM 用户访问特定 Cognito 用户池
【发布时间】:2019-08-18 06:44:30
【问题描述】:
我在 Cognito 中有三个用户池 - 一个用于 DEV,一个用于 UAT,一个用于 PROD。我已经创建了一个 IAM 用户,以便使用 Cognito API 以编程方式访问用户池。这工作正常,但我想限制此用户只能访问一个用户池。
然后,我将为其他两个池创建另外两个 IAM 用户。
Cognito 支持“资源级权限”,但我很难理解如何配置它以将用户限制为单个用户池。
有谁知道这是否可行以及你如何去做?
【问题讨论】:
标签:
amazon-web-services
amazon-cognito
amazon-iam
【解决方案1】:
你可以这样使用:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "cognito-idp:ListUserPools",
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "cognito-idp:*",
"Resource": <Pool ARN>
}
]
}
如果您不希望用户能够列出所有池,只需去掉 List user pools 部分。另外,我将cognito-idp:* 仅用于演示目的。您应该指定要授予的所有权利。