如何在 Amazon Redshift 中使用查询编辑器时禁用临时凭证访问权限?

1 分钟阅读
0

我不希望用户使用临时凭证连接到 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-namedb-groupdb-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 的资源策略

AWS 官方
AWS 官方已更新 2 年前