向 Amazon Redshift Serverless 授予权限
要访问其它 AWS 服务,Amazon Redshift Serverless 需要权限。某些 Amazon Redshift 功能要求 Amazon Redshift 代表您访问其他 AWS 服务。为了让您的 Amazon Redshift Serverless 实例为您执行操作,请向它提供安全凭证。提供安全凭证的首选方法是指定一个 AWS Identity and Access Management (IAM) 角色。您还可通过 Amazon Redshift 控制台创建 IAM 角色,并将其设置为默认角色。有关更多信息,请参阅 创建一个 IAM 角色作为 Amazon Redshift 的默认角色。
要访问其它 AWS 服务,请创建具有适当权限的 IAM 角色。您还需要将角色与您的 Amazon Redshift Serverless 关联。此外,您可在运行 Amazon Redshift 命令时指定角色的 Amazon 资源名称(ARN),或者指定 default
关键字。
在 https://console.aws.amazon.com/iam/redshift-serverless.amazonaws.com
和 redshift.amazonaws.com
作为主体服务名称。有关如何管理 IAM 角色以代表您访问其他 AWS 服务的信息,请参阅授权 Amazon Redshift 代表您访问 AWS 服务。
创建一个 IAM 角色作为 Amazon Redshift 的默认角色
当您通过 Amazon Redshift 控制台创建 IAM 角色时,Amazon Redshift 以编程方式在您的 AWS 账户 中创建角色。Amazon Redshift 还会自动为其附加现有 AWS 托管式策略。这种方法表示您可以停留在 Amazon Redshift 控制台中,无需切换到 IAM 控制台进行角色创建。
您通过控制台为集群创建的 IAM 角色具有自动附加的 AmazonRedshiftAllCommandsFullAccess
托管式策略。此 IAM 角色允许 Amazon Redshift 为 AWS IAM 账户中的资源复制、卸载、查询和分析数据。相关命令包括 UNLOAD、CREATE EXTERNAL FUNCTION、CREATE EXTERNAL TABLE、CREATE EXTERNAL SCHEMA、CREATE MODEL 和 CREATE LIBRARY。有关如何创建 IAM 角色作为 Amazon Redshift 的默认角色的更多信息,请参阅创建一个 IAM 角色作为 Amazon Redshift 的默认角色。
要开始创建 IAM 角色作为 Amazon Redshift 的默认角色,请打开 AWS Management Console,选择 Amazon Redshift 控制台,然后在菜单中选择 Redshift Serverless。在无服务器控制面板中,您可以创建新的工作组。创建步骤将引导您选择 IAM 角色或配置新的 IAM 角色。
当您已经拥有 Amazon Redshift Serverless 工作组并希望为它配置 IAM 角色时,请打开 AWS Management Console。选择 Amazon Redshift 控制台,然后选择 Redshift Serverless。在 Amazon Redshift Serverless 控制台上,为现有工作组选择命名空间配置。在安全和加密下,您可以编辑权限。
向命名空间分配 IAM 角色
每个 IAM 角色都是一个 AWS 身份,此身份的权限策略可确定每个角色可以在 AWS 中执行哪些操作。该角色旨在让任何需要它的用户代入。此外,每个命名空间都是对象(如表和架构)和用户的集合。当您使用 Amazon Redshift Serverless 时,您可以将多个 IAM 角色与命名空间关联。这样可以更轻松地为数据库对象集合适当地构建权限,以便角色可以对内部和外部数据执行操作。例如,您可以在 Amazon Redshift 数据库中运行 COPY
命令,以检索 Amazon S3 中的数据并填充 Redshift 表。
您可以使用控制台将多个角色与命名空间关联,如本节前面所述。您还可以使用 CreateNamespace
API 命令或 CLI 命令 create-namespace
。使用 API 或 CLI 命令,您可以通过用一个或多个角色填充 IAMRoles
,以将 IAM 角色分配给命名空间。具体来说,您可以将特定角色的 ARN 添加到集合中。
管理命名空间相关 IAM 角色
在 AWS Management Console上,可以管理 AWS Identity and Access Management 中角色的权限策略。您可以使用命名空间配置下提供的设置管理命名空间的 IAM 角色。有关命名空间及其在 Amazon Redshift Serverless 中的使用情况的更多信息,请参阅工作组和命名空间。