Amazon Redshift 的操作、资源和条件键 - 服务授权参考
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

Amazon Redshift 的操作、资源和条件键

Amazon Redshift(服务前缀:redshift)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。

参考:

Amazon Redshift 定义的操作

您可以在 Action 策略语句的 IAM 元素中指定以下操作。可以使用策略授予在 AWS 中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。

资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定所有资源(“*”)。如果该列包含一种资源类型,则可以在含有该操作的语句中指定该类型的 ARN。必需资源在表中以星号 (*) 表示。如果在使用该操作的语句中指定资源级权限 ARN,则它必须属于该类型。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种类型而不使用其他类型。

有关下表中各列的详细信息,请参阅 操作表

操作 描述 访问级别 资源类型(* 为必需) 条件键 相关操作
AcceptReservedNodeExchange 授予权限以使用 DC1 预留节点交换 DC2 预留节点而不对配置进行任何更改 写入
AuthorizeClusterSecurityGroupIngress 授予权限以向 Amazon Redshift 安全组添加入站(传入)规则 权限管理

securitygroup*

securitygroupingress-ec2securitygroup*

AuthorizeSnapshotAccess 向指定 AWS 账户授予权限以还原快照 权限管理

snapshot*

BatchDeleteClusterSnapshots 授予权限以批量删除快照(最多 100 个) 写入

snapshot*

BatchModifyClusterSnapshots 授予权限以修改快照列表设置 写入

snapshot*

CancelQuery [仅权限] 授予权限以通过 Amazon Redshift 控制台取消查询 写入
CancelQuerySession [仅权限] 授予权限以在 Amazon Redshift 控制台中查看查询 写入
CancelResize 授予权限以取消调整大小操作 写入

cluster*

CopyClusterSnapshot 授予权限以复制集群快照 写入

snapshot*

CreateCluster 授予权限以创建集群 写入

cluster*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateClusterParameterGroup 授予权限以创建 Amazon Redshift 参数组 写入

parametergroup*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateClusterSecurityGroup 授予权限以创建 Amazon Redshift 安全组 写入

securitygroup*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateClusterSnapshot 授予权限以创建指定集群的手动快照 写入

snapshot*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateClusterSubnetGroup 授予权限以创建 Amazon Redshift 子网组 写入

subnetgroup*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateClusterUser 授予权限以自动创建指定的 Amazon Redshift 用户(如果不存在) 权限管理

dbuser*

redshift:DbUser

CreateEventSubscription 授予权限以创建 Amazon Redshift 事件通知订阅 写入

eventsubscription*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateHsmClientCertificate 授予权限以创建 HSM 客户端证书,集群在连接到 HSM 时使用该证书 写入

hsmclientcertificate*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateHsmConfiguration 授予权限以创建 HSM 配置,其中包含集群在硬件安全模块 (HSM) 中存储并使用数据库加密密钥所需的信息 写入

hsmconfiguration*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateSavedQuery [仅权限] 授予权限以通过 Amazon Redshift 控制台创建保存的 SQL 查询 写入
CreateScheduledAction 授予权限以创建 Amazon Redshift 计划操作 写入
CreateSnapshotCopyGrant 授予权限以在目标 AWS 区域创建快照复制授权并加密复制的快照 权限管理

snapshotcopygrant*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateSnapshotSchedule 授予权限以创建快照计划 写入

snapshotschedule*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateTags 授予权限以将一个或多个标签添加到指定的资源中 标记

cluster

dbgroup

dbname

dbuser

eventsubscription

hsmclientcertificate

hsmconfiguration

parametergroup

securitygroup

securitygroupingress-cidr

securitygroupingress-ec2securitygroup

snapshot

snapshotcopygrant

snapshotschedule

subnetgroup

usagelimit

aws:RequestTag/${TagKey}

aws:TagKeys

CreateUsageLimit 授予创建使用限制的权限 写入

usagelimit*

aws:RequestTag/${TagKey}

aws:TagKeys

DeleteCluster 授予权限以删除以前预配置的集群 写入

cluster*

DeleteClusterParameterGroup 授予权限以删除 Amazon Redshift 参数组 写入

parametergroup*

DeleteClusterSecurityGroup 授予权限以删除 Amazon Redshift 安全组 写入

securitygroup*

DeleteClusterSnapshot 授予权限以删除手动快照 写入

snapshot*

DeleteClusterSubnetGroup 授予权限以删除集群子网组 写入

subnetgroup*

DeleteEventSubscription 授予权限以删除 Amazon Redshift 事件通知订阅 写入

eventsubscription*

DeleteHsmClientCertificate 授予权限以删除 HSM 客户端证书 写入

hsmclientcertificate*

DeleteHsmConfiguration 授予权限以删除 Amazon Redshift HSM 配置 写入

hsmconfiguration*

DeleteSavedQueries [仅权限] 授予权限以通过 Amazon Redshift 控制台删除保存的 SQL 查询 写入
DeleteScheduledAction 授予权限以删除 Amazon Redshift 计划操作 写入
DeleteSnapshotCopyGrant 授予权限以删除快照复制授权 写入

snapshotcopygrant*

DeleteSnapshotSchedule 授予权限以删除快照计划 写入

snapshotschedule*

DeleteTags 授予权限以从资源中删除一个或多个标签 标记

cluster

dbgroup

dbname

dbuser

eventsubscription

hsmclientcertificate

hsmconfiguration

parametergroup

securitygroup

securitygroupingress-cidr

securitygroupingress-ec2securitygroup

snapshot

snapshotcopygrant

snapshotschedule

subnetgroup

usagelimit

aws:TagKeys

DeleteUsageLimit 授予删除使用限制的权限 写入

usagelimit*

DescribeAccountAttributes 授予权限以描述附加到指定 AWS 账户的属性 Read
DescribeClusterDbRevisions 授予权限以描述集群的数据库修订 List
DescribeClusterParameterGroups 授予权限以描述 Amazon Redshift 参数组,包括您创建的参数组和默认参数组 Read
DescribeClusterParameters 授予权限以描述 Amazon Redshift 参数组中包含的参数 Read

parametergroup*

DescribeClusterSecurityGroups 授予权限以描述 Amazon Redshift 安全组 Read
DescribeClusterSnapshots 授予权限以描述一个或多个包含集群快照元数据的快照对象 Read
DescribeClusterSubnetGroups 授予权限以描述一个或多个集群子网组对象,其中包含与集群子网组相关的元数据 Read
DescribeClusterTracks 授予权限以描述可用维护跟踪 List
DescribeClusterVersions 授予权限以描述可用 Amazon Redshift 集群版本 Read
DescribeClusters 授予权限以描述预配置的集群属性 List
DescribeDefaultClusterParameters 授予权限以描述参数组系列的参数设置 Read
DescribeEventCategories 授予权限以描述所有事件源类型或指定源类型的事件类别 Read
DescribeEventSubscriptions 授予权限以描述指定 AWS 账户的 Amazon Redshift 事件通知订阅 Read
DescribeEvents 授予权限以描述过去 14 天内与集群、安全组、快照和参数组相关的事件 List
DescribeHsmClientCertificates 授予权限以描述 HSM 客户端证书 Read
DescribeHsmConfigurations 授予权限以描述 Amazon Redshift HSM 配置 Read
DescribeLoggingStatus 授予权限以描述是否为集群记录信息(例如查询和连接尝试) Read

cluster*

DescribeNodeConfigurationOptions 授予权限以描述可能节点配置的属性,例如节点类型、节点数以及指定操作类型的磁盘使用情况。 List
DescribeOrderableClusterOptions 授予权限以描述可排序集群选项 Read
DescribeQuery [仅权限] 授予权限以通过 Amazon Redshift 控制台描述查询 Read
DescribeReservedNodeOfferings 授予权限以描述 Amazon Redshift 提供的可用预留节点产品 Read
DescribeReservedNodes 授予权限以描述预留节点 Read
DescribeResize 授予权限以描述集群的上次调整大小操作 Read

cluster*

DescribeSavedQueries [仅权限] 授予权限以通过 Amazon Redshift 控制台描述已保存查询 Read
DescribeScheduledActions 授予权限以描述已创建的 Amazon Redshift 计划操作 Read
DescribeSnapshotCopyGrants 授予权限以描述目标 AWS 区域中指定 AWS 账户拥有的快照复制授权 Read
DescribeSnapshotSchedules 授予权限以描述快照计划 Read

snapshotschedule*

DescribeStorage 授予权限以描述账户级备份存储大小和临时存储 Read
DescribeTable [仅权限] 授予权限以通过 Amazon Redshift 控制台描述表 Read
DescribeTableRestoreStatus 授予权限以描述使用 RestoreTableFromClusterSnapshot API 操作做出的一个或多个表恢复请求的状态 Read
DescribeTags 授予权限以描述标签 Read

cluster

dbgroup

dbname

dbuser

eventsubscription

hsmclientcertificate

hsmconfiguration

parametergroup

securitygroup

securitygroupingress-cidr

securitygroupingress-ec2securitygroup

snapshot

snapshotcopygrant

snapshotschedule

subnetgroup

usagelimit

DescribeUsageLimits 授予描述使用限制的权限 Read

usagelimit*

DisableLogging 授予权限以禁用集群的日志记录信息(例如查询和连接尝试) 写入

cluster*

DisableSnapshotCopy 授予权限以禁用集群的快照自动复制 写入

cluster*

EnableLogging 授予权限以启用集群的日志记录信息(例如查询和连接尝试) 写入

cluster*

EnableSnapshotCopy 授予权限以启用集群的快照自动复制 写入

cluster*

ExecuteQuery [仅权限] 授予权限以通过 Amazon Redshift 控制台执行查询 写入
FetchResults [仅权限] 授予权限以通过 Amazon Redshift 控制台提取查询结果 Read
GetClusterCredentials 授予权限以获取临时凭证,以便通过指定 AWS 账户访问 Amazon Redshift 数据库 写入

dbuser*

dbgroup

dbname

redshift:DbName

redshift:DbUser

redshift:DurationSeconds

GetReservedNodeExchangeOfferings 授予权限以获取与给定 DC1 预留节点的付款类型、期限和使用价格匹配的 DC2 ReservedNodeOfferings 数组 Read
JoinGroup 授予权限以加入指定的 Amazon Redshift 组 权限管理

dbgroup*

ListDatabases [仅权限] 授予权限以通过 Amazon Redshift 控制台列出数据库 List
ListSavedQueries [仅权限] 授予权限以通过 Amazon Redshift 控制台列出保存的查询 List
ListSchemas [仅权限] 授予权限以通过 Amazon Redshift 控制台列出架构 List
ListTables [仅权限] 授予权限以通过 Amazon Redshift 控制台列出表 List
ModifyAquaConfiguration 授予权限以修改集群的 AQUA 配置 写入

cluster*

ModifyCluster 授予权限以修改集群的设置 写入

cluster*

ModifyClusterDbRevision 授予权限以修改集群的数据库修订 写入

cluster*

ModifyClusterIamRoles 授予权限以描述修改 AWS Identity and Access Management (IAM) 角色的列表,集群会使用这些角色访问其他 AWS 服务 权限管理

cluster*

ModifyClusterMaintenance 授予权限以修改集群的维护设置 写入
ModifyClusterParameterGroup 授予权限以修改参数组的参数 写入

parametergroup*

ModifyClusterSnapshot 授予权限以修改快照的设置 写入

snapshot*

ModifyClusterSnapshotSchedule 授予权限以修改集群的快照计划 写入

cluster*

ModifyClusterSubnetGroup 授予权限以修改集群子网组来包含指定的 VPC 子网列表 写入

subnetgroup*

ModifyEventSubscription 授予权限以修改现有 Amazon Redshift 事件通知订阅 写入

eventsubscription*

ModifySavedQuery [仅权限] 授予权限以通过 Amazon Redshift 控制台修改现有保存的查询 写入
ModifyScheduledAction 授予权限以修改现有 Amazon Redshift 计划操作 写入
ModifySnapshotCopyRetentionPeriod 授予权限以修改将快照从源 AWS 区域复制到目标 AWS 区域后保留的天数 写入

cluster*

ModifySnapshotSchedule 授予权限以修改快照计划 写入

snapshotschedule*

ModifyUsageLimit 授予修改使用限制的权限 写入

usagelimit*

PauseCluster 授予暂停集群的权限 写入

cluster*

PurchaseReservedNodeOffering 授予权限以购买预留节点 写入
RebootCluster 授予权限以重新引导集群 写入

cluster*

ResetClusterParameterGroup 授予权限以将某个参数组的一个或多个参数设为其默认值,并将参数的源值设为“engine-default” 写入

parametergroup*

ResizeCluster 授予权限以更改集群大小 写入

cluster*

RestoreFromClusterSnapshot 授予权限以从快照创建集群 写入

cluster*

snapshot*

RestoreTableFromClusterSnapshot 授予权限以从 Amazon Redshift 集群快照中的表创建表 写入

cluster*

snapshot*

ResumeCluster 授予权限以恢复集群 写入

cluster*

RevokeClusterSecurityGroupIngress 授予权限以撤销 Amazon Redshift 安全组中之前授权的 IP 范围或 Amazon EC2 安全组的传入规则 权限管理

securitygroup*

securitygroupingress-ec2securitygroup*

RevokeSnapshotAccess 授予权限以从指定 AWS 账户撤销恢复快照的访问权限 权限管理

snapshot*

RotateEncryptionKey 授予权限以轮换集群的加密密钥 权限管理

cluster*

ViewQueriesFromConsole [仅权限] 授予权限以通过 Amazon Redshift 控制台查看查询结果 List
ViewQueriesInConsole [仅权限] 授予权限以通过 Amazon Redshift 控制台终止正在运行的查询和负载 List

Amazon Redshift 定义的资源类型

以下资源类型是由该服务定义的,可以在 IAM 权限策略语句的 Resource 元素中使用这些资源类型。操作表中的每个操作都标识了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在表的最后一列。有关下表中各列的详细信息,请参阅 资源类型表

资源类型 ARN 条件键
cluster arn:${Partition}:redshift:${Region}:${Account}:cluster:${ClusterName}

aws:ResourceTag/${TagKey}

dbgroup arn:${Partition}:redshift:${Region}:${Account}:dbgroup:${ClusterName}/${DbGroup}

aws:ResourceTag/${TagKey}

dbname arn:${Partition}:redshift:${Region}:${Account}:dbname:${ClusterName}/${DbName}

aws:ResourceTag/${TagKey}

dbuser arn:${Partition}:redshift:${Region}:${Account}:dbuser:${ClusterName}/${DbUser}

aws:ResourceTag/${TagKey}

eventsubscription arn:${Partition}:redshift:${Region}:${Account}:eventsubscription:${EventSubscriptionName}

aws:ResourceTag/${TagKey}

hsmclientcertificate arn:${Partition}:redshift:${Region}:${Account}:hsmclientcertificate:${HSMClientCertificateId}

aws:ResourceTag/${TagKey}

hsmconfiguration arn:${Partition}:redshift:${Region}:${Account}:hsmconfiguration:${HSMConfigurationId}

aws:ResourceTag/${TagKey}

parametergroup arn:${Partition}:redshift:${Region}:${Account}:parametergroup:${ParameterGroupName}

aws:ResourceTag/${TagKey}

securitygroup arn:${Partition}:redshift:${Region}:${Account}:securitygroup:${SecurityGroupName}/ec2securitygroup/${Owner}/${Ec2SecurityGroupId}

aws:ResourceTag/${TagKey}

securitygroupingress-cidr arn:${Partition}:redshift:${Region}:${Account}:securitygroupingress:${SecurityGroupName}/cidrip/${IpRange}

aws:ResourceTag/${TagKey}

securitygroupingress-ec2securitygroup arn:${Partition}:redshift:${Region}:${Account}:securitygroupingress:${SecurityGroupName}/ec2securitygroup/${Owner}/${Ece2SecuritygroupId}

aws:ResourceTag/${TagKey}

snapshot arn:${Partition}:redshift:${Region}:${Account}:snapshot:${ClusterName}/${SnapshotName}

aws:ResourceTag/${TagKey}

snapshotcopygrant arn:${Partition}:redshift:${Region}:${Account}:snapshotcopygrant:${SnapshotCopyGrantName}

aws:ResourceTag/${TagKey}

snapshotschedule arn:${Partition}:redshift:${Region}:${Account}:snapshotschedule:${ParameterGroupName}

aws:ResourceTag/${TagKey}

subnetgroup arn:${Partition}:redshift:${Region}:${Account}:subnetgroup:${SubnetGroupName}

aws:ResourceTag/${TagKey}

usagelimit arn:${Partition}:redshift:${Region}:${Account}:usagelimit:${UsageLimitId}

aws:ResourceTag/${TagKey}

Amazon Redshift 的条件键

Amazon Redshift 定义以下可以在 IAM 策略的 Condition 元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅 条件键表

要查看适用于所有服务的全局条件键,请参阅可用的全局条件键

条件键 描述 类型
aws:RequestTag/${TagKey} 根据每个标签的允许值集筛选操作 字符串
aws:ResourceTag/${TagKey} 根据与资源关联的标签值筛选操作 字符串
aws:TagKeys 根据在请求中是否具有必需标签以筛选操作 字符串
redshift:DbName 按数据库名称筛选访问权限 字符串
redshift:DbUser 按数据库用户名筛选访问权限 字符串
redshift:DurationSeconds 根据距临时凭证集到期剩余的秒数筛选访问权限。 字符串