将服务相关角色用于 Amazon Redshift - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将服务相关角色用于 Amazon Redshift

Amazon Redshift 使用Amazon Identity and Access Management(IAM)服务相关角色。服务相关角色是一种与 Amazon Redshift 直接关联的独特类型的 IAM 角色。Amazon Redshift 预定义服务相关角色,并包含该服务调用所需的一切权限。Amazon服务的代表 Amazon Redshift 集群。

服务相关角色可让您更轻松地设置 Amazon Redshift,因为您不必手动添加必要的权限。该角色与 Amazon Redshift 使用案例相关联并且具有预定义的权限。只有 Amazon Redshift 可以代入该角色,并且只有服务相关角色可以使用预定义的权限策略。Amazon Redshift 在您首次创建集群时会在您的账户中创建服务相关角色。只有删除您账户中的所有 Amazon Redshift 集群之后,您才可以删除服务相关角色。这将保护您的 Amazon Redshift 资源,因为您不会无意中删除访问资源所需的权限。

Amazon Redshift 支持在服务可用的所有区域中使用服务相关角色。有关更多信息,请参阅 Amazon 区域和终端节点

有关支持服务相关角色的其他服务的信息,请参阅Amazon使用 IAM 的服务,并寻找具有中的服务相关角色column. 选择 Yes 与查看该服务的服务相关角色文档的链接。

Amazon Redshift 的服务相关角色权限

Amazon Redshift 使用名为的服务相关角色。Amazon 服务转移— 允许 Amazon Redshift 调用Amazon服务。

Amazon 服务所需的 Shift 服务相关角色仅信任redshift.amazonaws.com担任此角色。

Amazon ServiceRoleForredShift 服务相关角色权限策略允许 Amazon Redshift 对所有相关资源完成以下操作:

  • ec2:DescribeVpcs

  • ec2:DescribeSubnets

  • ec2:DescribeNetworkInterfaces

  • ec2:DescribeAddress

  • ec2:AssociateAddress

  • ec2:DisassociateAddress

  • ec2:CreateNetworkInterface

  • ec2:DeleteNetworkInterface

  • ec2:ModifyNetworkInterfaceAttribute

  • ec2:CreateVpcEndpoint

  • ec2:DeleteVpcEndpoints

  • ec2:DescribeVpcEndpoints

  • ec2:ModifyVpcEndpoint

允许 IAM 实体创建 服务相关角色

向该 IAM 实体的权限中添加以下策略声明:

{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::<AWS-account-ID>:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift", "Condition": {"StringLike": {"iam:AWSServiceName": "redshift.amazonaws.com"}} }

在中国(北京)区域,向该 IAM 实体的权限中添加以下策略声明:

{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws-cn:iam::<AWS-account-ID>:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift", "Condition": {"StringLike": {"iam:AWSServiceName": "redshift.amazonaws.com"}} }

允许 IAM 实体删除 Amazon 服务相关角色

向该 IAM 实体的权限中添加以下策略声明:

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::<AWS-account-ID>:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift", "Condition": {"StringLike": {"iam:AWSServiceName": "redshift.amazonaws.com"}} }

在中国(北京)区域,向该 IAM 实体的权限中添加以下策略声明:

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws-cn:iam::<AWS-account-ID>:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift", "Condition": {"StringLike": {"iam:AWSServiceName": "redshift.amazonaws.com"}} }

或者,您也可以使用Amazon托管策略提供完全访问权限添加到 Amazon Redshift。

为 Amazon Redshift 创建服务相关角色

您无需手动创建 Amazon 服务相关角色。Amazon Redshift 将为您创建服务相关角色。如果已从您的账户中删除 Amazon 服务相关角色,则会在您启动新的 Amazon Redshift 集群时创建角色。

重要

如果您在 2017 年 9 月 18 日(Amazon Redshift 2017 年 9 月 18 日开始支持服务相关角色)之前使用亚马逊 Redshift 服务,则会在您的账户中创建 AWSServiceRedshift 角色。要了解更多信息,请参阅我的 IAM 账户中出现新角色在中国(北京)区域,如果您在 2017 年 11 月 17 日之前使用亚马逊 Redshift 服务,则会在您的账户中创建 AWSServiceRoleForRederShift 角色。

编辑 Amazon Redshift 的服务相关角色

Amazon Redshift 不允许您编辑 AWSServiceRoleForredShift 服务相关角色。在创建服务相关角色后,您将无法更改角色的名称,因为可能有多种实体引用该角色。不过,您可以使用 IAM 控制台编辑角色的说明。Amazon Command Line Interface(Amazon CLI)或 IAM API。有关更多信息,请参阅 。修改角色中的IAM 用户指南

删除 Amazon Redshift 的服务相关角色

如果您不再需要使用某个需要服务相关角色的功能或服务,我们建议您删除该角色。这样您就没有未被主动监控或维护的未使用实体。

在删除账户的服务相关角色之前,您需要关闭并删除该账户中的所有集群。有关更多信息,请参阅 关闭和删除集群

您可以使用 IAM 控制台、Amazon CLI 或 IAM API 删除服务相关角色。有关更多信息,请参阅 。删除服务相关角色中的IAM 用户指南