Amazon Redshift 无服务器中的安全性和连接 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Amazon Redshift 无服务器中的安全性和连接

访问 Amazon Redshift 时需要可供 Amazon 用来验证您的请求的凭证。

Amazon Redshift 无服务器中的 Identity and Access Management

访问 Amazon Redshift 时需要可供 Amazon 用来验证您的请求的凭证。这些凭证必须有权限访问 Amazon 资源,如无服务器端点。

以下部分提供详细信息来说明如何使用 Amazon Identity and Access Management(IAM)和 Amazon Redshift 控制谁能访问您的资源,从而对这些资源进行保护:有关更多信息,请参阅 Amazon Redshift 中的 Identity and Access Management

向 Amazon Redshift 无服务器授予权限

要访问其它 Amazon 服务,Amazon Redshift 无服务器需要权限。

授权 Amazon Redshift 无服务器为您访问其它 Amazon 服务

某些 Amazon Redshift 功能要求 Amazon Redshift 代表您访问其他 Amazon 服务。为了让您的 Amazon Redshift 无服务器端点为您执行操作,请向端点提供安全凭证。提供安全凭证的首选方法是指定一个 Amazon Identity and Access Management (IAM) 角色。您还可通过 Amazon Redshift 控制台创建 IAM 角色,并将其设置为默认角色。有关更多信息,请参阅 创建一个 IAM 角色作为 Amazon Redshift 的默认角色

要访问其它 Amazon 服务,请创建具有适当权限的 IAM 角色。您还需要将角色与您的无服务器端点关联。此外,您可在运行 Amazon Redshift 命令时指定角色的 Amazon Resource Name(ARN),或者指定 default 关键字。

https://console.aws.amazon.com/iam/ 中更改 IAM 角色的信任关系时,请确保使用 redshift.amazonaws.com 作为服务名称。有关如何管理 IAM 角色以代表您访问其它 Amazon 服务的信息,请参阅授权 Amazon Redshift 代表您访问其他 Amazon 服务

创建一个 IAM 角色作为 Amazon Redshift 的默认角色

当您通过 Amazon Redshift 控制台创建 IAM 角色时,Amazon Redshift 以编程方式在您的 Amazon Web Services 账户 中创建角色。Amazon Redshift 还会自动为其附加现有 Amazon 托管式策略。这种方法表示您可以停留在 Amazon Redshift 控制台中,无需切换到 IAM 控制台进行角色创建。

您通过控制台为集群创建的 IAM 角色具有自动附加的 AmazonRedshiftAllCommandsFullAccess 托管式策略。此 IAM 角色允许 Amazon Redshift 为 Amazon IAM 账户中的资源复制、卸载、查询和分析数据。相关命令包括 UNLOAD、CREATE EXTERNAL FUNCTION、CREATE EXTERNAL TABLE、CREATE EXTERNAL SCHEMA、CREATE MODEL 和 CREATE LIBRARY。有关如何创建 IAM 角色作为 Amazon Redshift 的默认角色的更多信息,请参阅创建一个 IAM 角色作为 Amazon Redshift 的默认角色。

要开始创建 IAM 角色作为 Amazon Redshift 的默认角色,请打开 Amazon Web Services Management Console,选择 Amazon Redshift 控制台,然后选择 Try Amazon Redshift Serverless(尝试 Amazon Redshift 无服务器)。在 Amazon Redshift 无服务器控制台上,选择 Customize settings(自定义设置)。在 Permissions(权限)下,按照 使用控制台管理 IAM 角色关联 中的步骤进行操作。

当您已经拥有无服务器端点并希望为端点配置 IAM 角色时,请打开 Amazon Web Services Management Console。选择 Amazon Redshift 控制台,然后选择 Go to serverless(转到无服务器)。在 Amazon Redshift 无服务器控制台上,选择 Serverless configuration(无服务器配置),然后选择 Data access(数据访问)。在 Permissions(权限)下,按照 使用控制台管理 IAM 角色关联 中的步骤进行操作。

Amazon Redshift 的 IAM 凭证入门

当您首次登录到 Amazon Redshift 控制台,并首次尝试 Amazon Redshift 无服务器时,您可以 IAM 用户或 IAM 角色身份登录。开始创建无服务器端点后,Amazon Redshift 会记录您在登录时使用的 IAM 用户名或角色名称。您可以使用相同的 IAM 凭证登录到 Amazon Redshift 控制台和 Amazon Redshift 无服务器控制台。

在创建无服务器端点时,您可以在无服务器端点中创建数据库。使用查询编辑器 v2 通过临时凭证选项连接到数据库。

要添加持续用于数据库的新管理员用户名和密码,请选择 Customize admin user credentials(定制管理员用户凭证),然后输入新的管理员用户名和管理员用户密码。

要开始使用 Amazon Redshift 无服务器,并首次在无服务器端点控制台中创建无服务器端点,请使用 IAM 用户或 IAM 角色。确保此用户或角色具有管理员权限 arn:aws:iam::aws:policy/AdministratorAccess,或者具有附加到您使用的 IAM 策略的完整 Amazon Redshift 权限 arn:aws:iam::aws:policy/AmazonRedshiftFullAccess

以下场景概述了当您开始使用 Amazon Redshift 无服务器控制台时,Amazon Redshift 无服务器如何使用 IAM 凭证:

  • 如果选择 Use default settings(使用默认设置)– Amazon Redshift 无服务器会将您当前的 IAM 身份转换为数据库超级用户。您可以将相同的 IAM 身份与 Amazon Redshift 无服务器控制台一起使用,以在无服务器端点中的数据库中执行超级用户操作。

  • 如果选择 Customize settings(自定义设置)而不指定 Amazon Redshift 无服务器的 Admin user name(管理员用户名)和密码,则您当前的 IAM 凭证用作默认管理员用户凭证。这基本上与 Use default settings(使用默认设置)一样。

  • 如果选择 Customize settings(自定义设置),然后指定 Amazon Redshift 无服务器的 Admin user name(管理员用户名)和密码 – Amazon Redshift 无服务器会将您当前的 IAM 身份转换为数据库超级用户。Amazon Redshift 无服务器还会以超级用户身份创建另一个长期登录用户名和密码对。您可使用当前的 IAM 身份或创建的用户名和密码对以超级用户身份登录到数据库。