我不希望用户使用临时凭证连接到 Amazon Redshift 查询编辑器。如何禁用查询编辑器的临时凭证访问权限?
简短描述
您可以使用以下方式,通过查询编辑器连接到 Amazon Redshift 集群:
AWS Secrets Manager。
-或者-
AWS Identity and Access Management (IAM) 临时凭证。
有关更多信息,请参阅连接查询编辑器。
解决方案
按照以下说明创建 IAM 策略,限制使用临时凭证访问查询编辑器。
1. 打开 IAM console(IAM 控制台)。
2. 创建一个 IAM 用户(如果您尚未创建)。
3. 在导航窗格中,选择 Users(用户)。
4. 在 User name(用户名)中,选择想要用来阻止访问查询编辑器的 IAM 用户。
5. 选择 Permissions(权限)选项卡,然后选择 Add inline policy(添加内联策略)。
6. 选择 JSON 策略选项卡,然后粘贴以下策略:
注意:用自己的变量替换账户 ID、集群名称、db-name、db-group 和 db-user。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Deny",
"Action": "redshift:GetClusterCredentials",
"Resource": [
"arn:aws:redshift:<region>:<account ID>cluster:<cluster name>"
"arn:aws:redshift:<region>:<account ID>:dbname:<cluster name>/<db-name>",
"arn:aws:redshift:<region>:<account ID>:dbgroup:<cluster name>/<db-group>",
"arn:aws:redshift:<region>:<account ID>:dbuser:<cluster name>/<db-user>"
]
}
]
}
7. 选择 Review policy(查看策略)。
8. 对于 Name(名称),输入策略的名称,然后选择 Create policy(创建策略)。
尝试使用具有临时凭证的此 IAM 用户访问查询编辑器会收到类似于以下内容的错误:
"Databases couldn't be listed"(无法列出数据库)。
有关更多信息,请参阅创建有权调用 GetClusterCredentials 的 IAM 角色或用户。
相关信息
为什么我不能连接到 Amazon Redshift 查询编辑器?
GetClusterCredentials 的资源策略