配置您的 Amazon Web Services 账户 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

配置您的 Amazon Web Services 账户

当您从 Amazon Redshift 控制台中选择查询编辑器 v2 时,浏览器将打开新选项卡,其中包含查询编辑器 v2 界面。使用适当的权限,您可以访问当前 Amazon Web Services 区域 中您的 Amazon Web Services 账户 拥有的 Amazon Redshift 集群中的数据。

管理员第一次为您的 Amazon Web Services 账户 配置查询编辑器 v2 时,他们会选择用于加密查询编辑器 v2 资源的 Amazon KMS key。默认情况下,Amazon 拥有的密钥用于加密资源。或者,管理员可在配置页面中为密钥选择 Amazon Resource Name(ARN)来使用客户托管式密钥。配置账户后,Amazon KMS 无法更改加密设置。

有关通过查询编辑器 v2 创建和使用客户托管式密钥的更多信息,请参阅创建用于查询编辑器 v2 的 Amazon KMS 客户托管式密钥

Amazon Redshift 查询编辑器 v2 支持身份验证、加密、隔离和合规性,以确保静态数据和传输中的数据安全。有关数据安全性和查询编辑器 v2 的更多信息,请参阅以下内容:

查询编辑器 v2 对其部分资源具有可调配额。有关更多信息,请参阅Amazon Redshift 配额

使用查询编辑器 v2 创建的资源

在查询编辑器 v2 中,您可以创建资源,例如保存的查询和图表。查询编辑器 v2 中的所有资源都与 IAM 角色或 IAM 用户关联。

在查询编辑器 v2 中,您可以添加和删除已保存查询和图表的标签。您可以在设置自定义 IAM 策略或搜索资源时使用这些标签。您还可以使用 Amazon Resource Groups 标签编辑器来管理标签。

您可以使用 IAM 策略设置 IAM 角色和 IAM 用户,以便与 Amazon Web Services 区域 中相同 Amazon Web Services 账户 中的其它人共享查询。

创建用于查询编辑器 v2 的 Amazon KMS 客户托管式密钥

创建对称的客户托管式密钥

使用 Amazon KMS 控制台或者 Amazon KMS API 操作,您可以创建对称的客户托管式密钥来加密查询编辑器 v2 资源。有关创建密钥的说明,请参阅《Amazon Key Management Service 开发人员指南》中的创建对称 Amazon KMS 密钥

密钥策略

密钥策略控制对客户托管式密钥的访问。每个客户托管式密钥必须只有一个密钥策略,其中包含确定谁可以使用密钥以及如何使用密钥的声明。创建客户托管式密钥时,可以指定密钥策略。有关更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的管理对 Amazon KMS 密钥的访问

要将您的客户托管式密钥与 Amazon Redshift 查询编辑器 v2 一起使用,密钥策略中必须允许以下 API 操作:

  • kms:GenerateDataKey – 生成唯一的对称数据密钥以加密您的数据。

  • kms:Decrypt – 解密客户托管式密钥加密的数据。

  • kms:DescribeKey – 提供客户托管式密钥详细信息以允许验证密钥服务。

以下是 Amazon Web Services 账户 111122223333 的示例 Amazon KMS 策略。在第一部分中,kms:ViaService 限制对查询编辑器 v2 服务的密钥使用(在策略中名为 sqlworkbench.region.amazonaws.com)。使用密钥的 Amazon Web Services 账户 必须为 111122223333。在第二部分中,Amazon Web Services 账户 111122223333的根用户和主要管理员可以访问密钥。

{ "Version": "2012-10-17", "Id": "key-consolepolicy", "Statement": [ { "Sid": "Allow access to principals authorized to use Amazon Redshift Query Editor V2", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "sqlworkbench.region.amazonaws.com", "kms:CallerAccount": "111122223333" } } }, { "Sid": "Allow access for key administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "kms:*" ], "Resource": "arn:aws:kms:region:111122223333:key/key_ID" } ] }

以下资源提供有关 Amazon KMS 密钥的更多信息:

  • 有关 Amazon KMS 策略的更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的在策略中指定权限

  • 有关 Amazon KMS 策略故障排除的信息,请参阅《Amazon Key Management Service 开发人员指南》中的密钥访问故障排除

  • 有关密钥的更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的 Amazon KMS 密钥

访问查询编辑器 v2

如要访问查询编辑器 v2,您需要相应权限。管理员可以附上下列 Amazon 托管式策略项之一,以便授予 IAM 用户或角色权限。这些 Amazon 托管式策略使用不同的选项编写,可控制标记资源允许共享查询的方式。您可以使用 IAM 控制台 (https://console.aws.amazon.com/iam/) 附加 IAM 策略。

  • AmazonRedshiftQueryEditorV2FullAccess – 授予 Amazon Redshift 查询编辑器 v2 操作和资源的完全访问权限。此策略还授予访问其它所需服务的权限。

  • AmazonRedshiftQueryEditorV2NoSharing – 授予在不共享资源的情况下使用 Amazon Redshift 查询编辑器 v2 的权限。此策略还授予访问其它所需服务的权限。

  • AmazonRedshiftQueryEditorV2ReadSharing – 授予在共享有限制资源的情况下使用 Amazon Redshift 查询编辑器 v2 的权限。授予主体可以阅读与其团队共享的资源,但无法更新它们。此策略还授予访问其它所需服务的权限。

  • AmazonRedshiftQueryEditorV2ReadWriteSharing – 授予在共享资源的情况下使用 Amazon Redshift 查询编辑器 v2 的权限。授予主体可以读取和更新与其团队共享的资源。此策略还授予访问其它所需服务的权限。

您还可以根据提供的托管式策略中允许和拒绝的权限创建您自己的策略。如果您使用 IAM 控制台策略编辑器创建自己的策略,请选择 SQL Workbench 作为您在可视化编辑器中创建策略的服务。查询编辑器 v2 使用可视化编辑器和 IAM 策略模拟器中的服务名称 Amazon SQL Workbench。

如使主体(IAM 用户或 IAM 角色)连接到 Amazon Redshift 集群,他们需要一个查询编辑器 v2 托管式策略中的权限。他们还需要对集群的 redshift:GetClusterCredentials 权限。要获得此权限,具有管理权限的人员可以使用临时证书将策略附上到需要连接到集群的 IAM 用户或 IAM 角色。您可以将策略范围限定为特定集群,也可以设为常规范围。有关使用临时证书权限的更多信息,请参阅创建有权调用 GetClusterCredentials 的 IAM 角色或用户

对于主体(IAM 用户或 IAM 角色)查看其查询编辑器 v2 资源(例如查询),除了其中一个查询编辑器 v2 托管式策略中允许的权限之外,他们还需要 tag:GetResources 权限。以下策略代码段是一个示例:

{ "Sid": "ResourceGroupPermissions", "Effect": "Allow", "Action": "tag:GetResources", "Resource": "*" }

要获得此权限,具有管理权限人员可以将策略附到查询编辑器 v2 用户使用的 IAM 用户或 IAM 角色。您可以将策略范围限定为特定集群,也可以设为常规范围。有关组建团队的权限和标记委托人的信息,请参阅使用查询编辑器 v2 所需的权限

要使主体(IAM 用户或 IAM 角色)使用 SQL Notebook(预览版)功能,您需要将以下策略添加到委托人的现有查询编辑器 v2 托管式策略之中。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AmazonRedshiftQueryEditorV2NonResourceLevelPermissions", "Effect": "Allow", "Action": [ "sqlworkbench:ListNotebooks" ], "Resource": "*" }, { "Sid": "AmazonRedshiftQueryEditorV2CreateOwnedResourcePermissions", "Effect": "Allow", "Action": [ "sqlworkbench:CreateNotebook" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/sqlworkbench-resource-owner": "${aws:userid}" } } }, { "Sid": "AmazonRedshiftQueryEditorV2OwnerSpecificPermissions", "Effect": "Allow", "Action": [ "sqlworkbench:GetNotebook", "sqlworkbench:UpdateNotebook", "sqlworkbench:DeleteNotebook", "sqlworkbench:CreateNotebookCell", "sqlworkbench:DeleteNotebookCell", "sqlworkbench:UpdateNotebookCellContent", "sqlworkbench:UpdateNotebookCellLayout", "sqlworkbench:BatchGetNotebookCell", "sqlworkbench:AssociateNotebookWithTab" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sqlworkbench-resource-owner": "${aws:userid}" } } }, { "Sid": "AmazonRedshiftQueryEditorV2TeamReadAccessPermissions", "Effect": "Allow", "Action": [ "sqlworkbench:GetNotebook", "sqlworkbench:BatchGetNotebookCell", "sqlworkbench:AssociateNotebookWithTab" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sqlworkbench-team": "${aws:PrincipalTag/sqlworkbench-team}" } } } ] }

有关 Amazon Redshift 托管式策略的更多信息,请参阅Amazon适用于 Amazon Redshift 的 托管(预定义)策略

您可以使用 IAM 控制台将 IAM 策略附到 IAM 用户或 IAM 角色上。您将策略附加到角色后,您可以将该角色附到 IAM 用户上。

将策略附到 IAM 用户上

  1. 登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Users(用户)。

  3. 选择需要访问查询编辑器 v2 的用户。

  4. 选择 Add permissions(添加权限)。

  5. 选择 Attach existing policies directly(直接附上现有策略)。

  6. 如前所述,选择适当的策略作为 Policy names(策略名称)。

  7. 选择 Next: Review(下一步:审核)。

  8. 选择 Add permissions(添加权限)。

将 IAM 策略附到 IAM 角色上

  1. 登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Roles(角色)。

  3. 选择需要访问查询编辑器 v2 的角色。

  4. 选择 Attach policies(附上策略)。

  5. 如前所述,选择适当的策略作为 Policy names(策略名称)。

  6. 选择 Attach policy(附上策略)。

有关使用 IAM 管理用户和角色的更多信息,请参阅《IAM 用户指南》中的更改 IAM 用户的权限