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

配置您的 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 资源名称 (ARN) 来使用客户托管式密钥。配置账户后,Amazon KMS 无法更改加密设置。有关通过查询编辑器 v2 创建和使用客户托管式密钥的更多信息,请参阅创建用于查询编辑器 v2 的 Amazon KMS 客户托管式密钥。(可选)管理员还可以选择用于某些功能(例如从文件加载数据)的 S3 桶和路径。有关更多信息,请参阅从本地文件设置和工作流加载数据

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

Amazon CloudTrail 捕获由您的 Amazon Web Services 账户 或代表该账户发出的 API 调用和相关事件,并将日志文件传输到您指定的 Amazon S3 桶。您可以标识哪些用户和账户调用了 Amazon、发出调用的源 IP 地址以及调用的发生时间。要了解有关查询编辑器 v2 如何在 Amazon CloudTrail 上运行的更多信息,请参阅使用 Cloudtrail 进行日志记录。有关 CloudTrail 的更多信息,请参阅《Amazon CloudTrail 用户指南》。

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

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

在查询编辑器 v2 中,您可以创建资源,例如保存的查询和图表。查询编辑器 v2 中的所有资源都与 IAM 角色或用户关联。我们建议将策略附加到 IAM 角色并将该角色分配给用户。

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

您可以使用 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的根用户和主要管理员可以访问密钥。

创建 Amazon Web Services 账户 时,最初使用的是一个对账户中所有 Amazon Web Services 和资源拥有完全访问权限的登录身份。此身份称为 Amazon Web Services 账户根用户,使用您创建账户时所用的电子邮件地址和密码登录,即可获得该身份。强烈建议您不要使用根用户执行日常任务。保护好根用户凭证,并使用这些凭证来执行仅根用户可以执行的任务。有关要求您以根用户身份登录的任务的完整列表,请参阅《IAM 用户指南》中的需要根用户凭证的任务

{ "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 policy simulator 中的服务名称 Amazon SQL Workbench。

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

要让主体(通常是分配了 IAM 角色的用户)能够在账户设置页面中为账户中的其他人开启导出结果集的功能,他们需要将 sqlworkbench:UpdateAcountExportSettings 权限附加到角色。此权限包含在 AmazonRedshiftQueryEditorV2FullAccess Amazon 托管式策略中。

随着新功能添加到查询编辑器 v2,Amazon 托管策略将根据需要更新。如果您根据提供的托管策略中允许和拒绝的权限创建自己的策略,请编辑您的策略以使其与托管策略的更改保持同步。有关 Amazon Redshift 托管式策略的更多信息,请参阅适用于 Amazon Redshift 的 Amazon 托管策略

要提供访问权限,请为您的用户、组或角色添加权限:

注意

如果 Amazon IAM Identity Center 管理员删除了整个账户中某个特定权限集的所有权限集关联,则最初与所删除权限集关联的所有查询编辑器资源都将无法再访问。如果以后重新创建了相同的权限,系统同会创建一个新的内部标识符。由于内部标识符已更改,因此以前用户拥有的对查询编辑器资源的访问权限将不再有效。在管理员删除权限集之前,建议权限集的用户应导出查询编辑器资源作为备份。

设置主体标签以从查询编辑器 v2 连接到集群或工作组

要使用联合用户选项连接到您的集群或工作组,请使用主体标签设置 IAM 角色或用户。或者,设置身份提供者 (IdP) 以传入 RedshiftDbUser 和(可选)RedshiftDbGroups。有关使用 IAM 管理标签的更多信息,请参阅《IAM 用户指南》中的在 Amazon Security Token Service 中传递会话标签。要使用 Amazon Identity and Access Management 设置访问权限,管理员可以使用 IAM 控制台 (https://console.aws.amazon.com/iam/) 添加标签。

将主体标签添加到 IAM 角色中
  1. 登录Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中选择 Roles

  3. 使用联合用户选择需要访问查询编辑器 v2 的角色。

  4. 选择标签选项卡。

  5. 选择管理标签

  6. 选择添加标签,然后在中输入 RedshiftDbUser,并输入联合用户名的

  7. (可选)选择添加标签,然后在中输入 RedshiftDbGroups,并且输入要与用户关联的组名称的

  8. 选择保存更改以查看与您选择的 IAM 角色关联的标签列表。传播更改可能需要几秒时间。

  9. 要使用联合用户,请在传播更改后刷新查询编辑器 v2 页面。

设置身份提供者 (IdP) 以传递主体标签

使用身份提供者 (IdP) 设置标签的过程因 IdP 而异。有关如何将用户和组信息传递给 SAML 属性的说明,请参阅 IdP 文档。正确进行配置后,以下属性将显示在 SAML 响应中,Amazon Security Token Service 使用此响应填充 RedshiftDbUserRedshiftDbGroups 的主体标签。

<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:RedshiftDbUser"> <AttributeValue>db-user-name</AttributeValue> </Attribute> <Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:RedshiftDbGroups"> <AttributeValue>db-groups</AttributeValue> </Attribute>

可选的 db_groups 必须是以冒号分隔的列表,例如 group1:group2:group3

此外,您还可以设置 TransitiveTagKeys 属性以在角色链接过程中保留标签。

<Attribute Name="https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys"> <AttributeValue>RedshiftDbUser</AttributeValue> <AttributeValue>RedshiftDbGroups</AttributeValue> </Attribute>

有关设置查询编辑器 v2 的更多信息,请参阅使用查询编辑器 v2 所需的权限

有关如何设置 Active Directory 联合身份验证服务 (AD FS) 的信息,请参阅博客文章:使用 Active Directory 联合身份验证服务 (AD FS) 进行 Amazon Redshift 查询编辑器 v2 联合访问

有关如何设置 Okta 的信息,请参阅博客文章:通过 Okta 对 Amazon Redshift 查询编辑器 v2 进行联合单点登录访问

注意

当您使用查询编辑器 v2 的联合用户连接选项连接到集群或工作组时,身份提供者 (IdP) 可以为 RedshiftDbUserRedshiftDbGroups 提供自定义主体标签。目前,Amazon IAM Identity Center 不支持将自定义主体标签直接传递给查询编辑器 v2。