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

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

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

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

参考:

Amazon ElastiCache 定义的操作

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

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

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

注意

在 IAM 中创建 ElastiCache 策略时,您必须在资源数据块中使用“*”通配符。有关在 IAM 策略中使用以下 ElastiCache API 操作的信息,请参阅 Amazon ElastiCache 用户指南 中的 ElastiCache 操作和 IAM

操作 描述 访问级别 资源类型(* 为必需) 条件键 相关操作
AddTagsToResource 授予权限以将标签添加到 ElastiCache 资源中 标记

cluster

parametergroup

replicationgroup

reserved-instance

securitygroup

snapshot

subnetgroup

user

usergroup

aws:TagKeys

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

AuthorizeCacheSecurityGroupIngress 授予权限以授权 ElastiCache 安全组上的 EC2 安全组 写入

securitygroup*

ec2:AuthorizeSecurityGroupIngress

aws:ResourceTag/${TagKey}

BatchApplyUpdateAction 授予权限以将 ElastiCache 服务更新应用于集群集和复制组 写入

cluster

ec2:CreateNetworkInterface

ec2:DeleteNetworkInterface

ec2:DescribeNetworkInterfaces

ec2:DescribeSubnets

ec2:DescribeVpcs

s3:GetObject

replicationgroup

aws:ResourceTag/${TagKey}

BatchStopUpdateAction 授予权限以阻止 ElastiCache 服务更新在一组集群上执行 写入

cluster

replicationgroup

aws:ResourceTag/${TagKey}

CompleteMigration 授予权限以完成数据从 Amazon EC2 上托管的 Redis 到 ElastiCache 的在线迁移 写入

cluster

replicationgroup

aws:ResourceTag/${TagKey}

CopySnapshot 授予权限以复制现有快照 写入

snapshot*

elasticache:AddTagsToResource

s3:DeleteObject

s3:GetBucketAcl

s3:PutObject

aws:ResourceTag/${TagKey}

aws:RequestTag/${TagKey}

aws:TagKeys

elasticache:KmsKeyId

CreateCacheCluster 授予权限以创建缓存集群 写入

parametergroup*

ec2:CreateNetworkInterface

ec2:DeleteNetworkInterface

ec2:DescribeNetworkInterfaces

ec2:DescribeSubnets

ec2:DescribeVpcs

elasticache:AddTagsToResource

s3:GetObject

cluster

replicationgroup

securitygroup

snapshot

subnetgroup

aws:ResourceTag/${TagKey}

aws:RequestTag/${TagKey}

aws:TagKeys

elasticache:CacheNodeType

elasticache:EngineVersion

elasticache:EngineType

elasticache:MultiAZEnabled

elasticache:AuthTokenEnabled

elasticache:SnapshotRetentionLimit

elasticache:CacheParameterGroupName

CreateCacheParameterGroup 授予权限以创建参数组 写入

parametergroup*

elasticache:AddTagsToResource

aws:RequestTag/${TagKey}

aws:TagKeys

elasticache:CacheParameterGroupName

CreateCacheSecurityGroup 授予权限以创建缓存安全组 写入

securitygroup*

elasticache:AddTagsToResource

aws:RequestTag/${TagKey}

aws:TagKeys

CreateCacheSubnetGroup 授予权限以创建缓存子网组 写入

subnetgroup*

elasticache:AddTagsToResource

aws:RequestTag/${TagKey}

aws:TagKeys

CreateGlobalReplicationGroup 授予权限以创建全局复制组 写入

globalreplicationgroup*

replicationgroup*

aws:ResourceTag/${TagKey}

CreateReplicationGroup 授予权限以创建复制组 写入

parametergroup*

ec2:CreateNetworkInterface

ec2:DeleteNetworkInterface

ec2:DescribeNetworkInterfaces

ec2:DescribeSubnets

ec2:DescribeVpcs

elasticache:AddTagsToResource

s3:GetObject

cluster

globalreplicationgroup

replicationgroup

securitygroup

snapshot

subnetgroup

usergroup

aws:ResourceTag/${TagKey}

aws:RequestTag/${TagKey}

aws:TagKeys

elasticache:NumNodeGroups

elasticache:CacheNodeType

elasticache:ReplicasPerNodeGroup

elasticache:EngineVersion

elasticache:EngineType

elasticache:AtRestEncryptionEnabled

elasticache:TransitEncryptionEnabled

elasticache:AutomaticFailoverEnabled

elasticache:MultiAZEnabled

elasticache:ClusterModeEnabled

elasticache:AuthTokenEnabled

elasticache:SnapshotRetentionLimit

elasticache:KmsKeyId

elasticache:CacheParameterGroupName

CreateSnapshot 授予权限以在特定时刻及时创建整个 Redis 集群的副本 写入

snapshot*

elasticache:AddTagsToResource

s3:DeleteObject

s3:GetBucketAcl

s3:PutObject

cluster

replicationgroup

aws:ResourceTag/${TagKey}

aws:RequestTag/${TagKey}

aws:TagKeys

elasticache:KmsKeyId

CreateUser 授予权限以为 Redis 引擎 6.x 及以上版本创建 Redis 用户 写入

user*

elasticache:AddTagsToResource

aws:TagKeys

aws:RequestTag/${TagKey}

CreateUserGroup 授予权限以为 Redis 引擎 6.x 及以上版本创建 Redis 用户组 写入

user*

elasticache:AddTagsToResource

usergroup*

aws:TagKeys

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

DecreaseNodeGroupsInGlobalReplicationGroup 授予权限以减少全局复制组中节点组的数量 写入

globalreplicationgroup*

elasticache:NumNodeGroups

DecreaseReplicaCount 授予权限以减少 Redis(已禁用集群模式)复制组中的副本数量或 Redis(已启用集群模式)复制组中一个或多个节点组(分区)中的副本节点数量 写入

replicationgroup*

ec2:CreateNetworkInterface

ec2:DeleteNetworkInterface

ec2:DescribeNetworkInterfaces

ec2:DescribeSubnets

ec2:DescribeVpcs

aws:ResourceTag/${TagKey}

elasticache:ReplicasPerNodeGroup

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

cluster*

ec2:CreateNetworkInterface

ec2:DeleteNetworkInterface

ec2:DescribeNetworkInterfaces

ec2:DescribeSubnets

ec2:DescribeVpcs

snapshot

aws:ResourceTag/${TagKey}

DeleteCacheParameterGroup 授予权限以删除指定缓存参数组 写入

parametergroup*

aws:ResourceTag/${TagKey}

elasticache:CacheParameterGroupName

DeleteCacheSecurityGroup 授予权限以删除缓存安全组 写入

securitygroup*

aws:ResourceTag/${TagKey}

DeleteCacheSubnetGroup 授予权限以删除缓存子网组 写入

subnetgroup*

ec2:CreateNetworkInterface

ec2:DeleteNetworkInterface

ec2:DescribeNetworkInterfaces

ec2:DescribeSubnets

ec2:DescribeVpcs

aws:ResourceTag/${TagKey}

DeleteGlobalReplicationGroup 授予权限以删除现有全局复制组 写入

globalreplicationgroup*

DeleteReplicationGroup 授予权限以删除现有复制组 写入

replicationgroup*

ec2:CreateNetworkInterface

ec2:DeleteNetworkInterface

ec2:DescribeNetworkInterfaces

ec2:DescribeSubnets

ec2:DescribeVpcs

snapshot

aws:ResourceTag/${TagKey}

DeleteSnapshot 授予权限以删除现有快照 写入

snapshot*

aws:ResourceTag/${TagKey}

DeleteUser 授予权限以删除现有用户,从而将其从分配给它的所有用户组和复制组中删除 写入

user*

aws:ResourceTag/${TagKey}

DeleteUserGroup 授予权限以删除现有用户组 写入

usergroup*

aws:ResourceTag/${TagKey}

DescribeCacheClusters 授予权限以列出有关预置缓存集群的信息 List

cluster*

aws:ResourceTag/${TagKey}

DescribeCacheEngineVersions 授予权限以列出可用的缓存引擎及其版本 List
DescribeCacheParameterGroups 授予权限以列出缓存参数组描述 List

parametergroup*

aws:ResourceTag/${TagKey}

DescribeCacheParameters 授予权限以检索特定缓存参数组的详细参数列表 List

parametergroup*

aws:ResourceTag/${TagKey}

DescribeCacheSecurityGroups 授予权限以列出缓存安全组描述 List

securitygroup*

aws:ResourceTag/${TagKey}

DescribeCacheSubnetGroups 授予权限以列出缓存子网组描述 List

subnetgroup*

aws:ResourceTag/${TagKey}

DescribeEngineDefaultParameters 授予权限以检索指定缓存引擎的默认引擎和系统参数信息 List
DescribeEvents 授予权限以列出与集群、缓存安全组和缓存参数组相关的事件 List
DescribeGlobalReplicationGroups 授予权限以列出有关全局复制组的信息 List

globalreplicationgroup*

DescribeReplicationGroups 授予权限以列出有关预置复制组的信息 List

replicationgroup*

aws:ResourceTag/${TagKey}

DescribeReservedCacheNodes 授予权限以列出有关购买的预留缓存节点的信息 List

reserved-instance*

aws:ResourceTag/${TagKey}

DescribeReservedCacheNodesOfferings 授予权限以获取可用的预留缓存节点产品 List
DescribeServiceUpdates 授予权限以列出服务更新详细信息 List
DescribeSnapshots 授予权限以列出有关集群或复制组快照的信息 List

snapshot*

aws:ResourceTag/${TagKey}

DescribeUpdateActions 授予权限以列出一组集群或复制组的更新操作详细信息 List

cluster

replicationgroup

aws:ResourceTag/${TagKey}

DescribeUserGroups 授予权限以列出有关 Redis 用户组的信息 List

usergroup*

aws:ResourceTag/${TagKey}

DescribeUsers 授予权限以列出有关 Redis 用户的信息 List

user*

aws:ResourceTag/${TagKey}

DisassociateGlobalReplicationGroup 授予权限以从全局复制组中删除辅助复制组 写入

globalreplicationgroup*

FailoverGlobalReplicationGroup 授予权限以将主区域故障转移到全局复制组的选定辅助区域 写入

globalreplicationgroup*

IncreaseNodeGroupsInGlobalReplicationGroup 授予权限以增加全局复制组中节点组的数量 写入

globalreplicationgroup*

elasticache:NumNodeGroups

IncreaseReplicaCount 授予权限以增加 Redis(已禁用集群模式)复制组中的副本数量或 Redis(已启用集群模式)复制组中一个或多个节点组(分区)中的副本节点数量 写入

replicationgroup*

ec2:CreateNetworkInterface

ec2:DeleteNetworkInterface

ec2:DescribeNetworkInterfaces

ec2:DescribeSubnets

ec2:DescribeVpcs

aws:ResourceTag/${TagKey}

elasticache:ReplicasPerNodeGroup

ListAllowedNodeTypeModifications 授予权限以列出可用于扩展特定 Redis 集群或复制组的可用节点类型 List

cluster

replicationgroup

aws:ResourceTag/${TagKey}

ListTagsForResource 授予权限以列出 ElastiCache 资源的标签 Read

cluster

snapshot

aws:ResourceTag/${TagKey}

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

cluster*

parametergroup

securitygroup

aws:ResourceTag/${TagKey}

elasticache:CacheNodeType

elasticache:EngineVersion

elasticache:MultiAZEnabled

elasticache:AuthTokenEnabled

elasticache:SnapshotRetentionLimit

elasticache:CacheParameterGroupName

ModifyCacheParameterGroup 授予权限以修改缓存参数组的参数 写入

parametergroup*

aws:ResourceTag/${TagKey}

elasticache:CacheParameterGroupName

ModifyCacheSubnetGroup 授予权限以修改现有缓存子网组 写入

subnetgroup*

aws:ResourceTag/${TagKey}

ModifyGlobalReplicationGroup 授予权限以修改全局复制组的设置 写入

globalreplicationgroup*

elasticache:CacheNodeType

elasticache:EngineVersion

elasticache:AutomaticFailoverEnabled

ModifyReplicationGroup 授予权限以修改复制组的设置 写入

replicationgroup*

ec2:CreateNetworkInterface

ec2:DeleteNetworkInterface

ec2:DescribeNetworkInterfaces

ec2:DescribeSubnets

ec2:DescribeVpcs

parametergroup

securitygroup

usergroup

aws:ResourceTag/${TagKey}

elasticache:CacheNodeType

elasticache:EngineVersion

elasticache:AutomaticFailoverEnabled

elasticache:MultiAZEnabled

elasticache:AuthTokenEnabled

elasticache:SnapshotRetentionLimit

elasticache:CacheParameterGroupName

ModifyReplicationGroupShardConfiguration 授予权限以在复制组现有分区之间添加分区、删除分区或重新平衡密钥空间 写入

replicationgroup*

ec2:CreateNetworkInterface

ec2:DeleteNetworkInterface

ec2:DescribeNetworkInterfaces

ec2:DescribeSubnets

ec2:DescribeVpcs

aws:ResourceTag/${TagKey}

elasticache:NumNodeGroups

ModifyUser 授予权限以更改 Redis 用户密码和/或访问字符串 写入

user*

aws:ResourceTag/${TagKey}

ModifyUserGroup 授予权限以更改属于用户组的用户列表 写入

user*

usergroup*

aws:ResourceTag/${TagKey}

PurchaseReservedCacheNodesOffering 授予权限以购买预留缓存节点产品 写入

reserved-instance*

elasticache:AddTagsToResource

aws:TagKeys

aws:RequestTag/${TagKey}

RebalanceSlotsInGlobalReplicationGroup 授予权限以执行密钥空间重新平衡操作,以重新分发插槽并确保在全局复制组中的现有分区之间进行密钥的统一分配 写入

globalreplicationgroup*

RebootCacheCluster 授予权限以重新启动预置缓存集群或复制组中的部分或全部缓存节点(已禁用集群模式) 写入

cluster*

aws:ResourceTag/${TagKey}

RemoveTagsFromResource 授予权限以从 ElastiCache 资源中删除标签 标记

cluster

parametergroup

replicationgroup

reserved-instance

securitygroup

snapshot

subnetgroup

user

usergroup

aws:TagKeys

aws:ResourceTag/${TagKey}

ResetCacheParameterGroup 授予权限以将缓存参数组的参数改回其默认值 写入

parametergroup*

aws:ResourceTag/${TagKey}

elasticache:CacheParameterGroupName

RevokeCacheSecurityGroupIngress 授予权限以从 ElastiCache 安全组移除 EC2 安全组传入 写入

securitygroup*

aws:ResourceTag/${TagKey}

StartMigration 授予权限以开始数据从 Amazon EC2 上托管的 Redis 到 ElastiCache for Redis 的迁移 写入

replicationgroup*

aws:ResourceTag/${TagKey}

TestFailover 授予权限以测试复制组中的指定节点组上的自动故障转移 写入

replicationgroup*

ec2:CreateNetworkInterface

ec2:DeleteNetworkInterface

ec2:DescribeNetworkInterfaces

ec2:DescribeSubnets

ec2:DescribeVpcs

aws:ResourceTag/${TagKey}

Amazon ElastiCache 定义的资源类型

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

资源类型 ARN 条件键
parametergroup arn:${Partition}:elasticache:${Region}:${Account}:parametergroup:${CacheParameterGroupName}

aws:ResourceTag/${TagKey}

securitygroup arn:${Partition}:elasticache:${Region}:${Account}:securitygroup:${CacheSecurityGroupName}

aws:ResourceTag/${TagKey}

subnetgroup arn:${Partition}:elasticache:${Region}:${Account}:subnetgroup:${CacheSubnetGroupName}

aws:ResourceTag/${TagKey}

replicationgroup arn:${Partition}:elasticache:${Region}:${Account}:replicationgroup:${ReplicationGroupId}

aws:ResourceTag/${TagKey}

cluster arn:${Partition}:elasticache:${Region}:${Account}:cluster:${CacheClusterId}

aws:ResourceTag/${TagKey}

reserved-instance arn:${Partition}:elasticache:${Region}:${Account}:reserved-instance:${ReservedCacheNodeId}

aws:ResourceTag/${TagKey}

snapshot arn:${Partition}:elasticache:${Region}:${Account}:snapshot:${SnapshotName}

aws:ResourceTag/${TagKey}

globalreplicationgroup arn:${Partition}:elasticache::${Account}:globalreplicationgroup:${GlobalReplicationGroupId}
user arn:${Partition}:elasticache:${Region}:${Account}:user:${UserId}

aws:ResourceTag/${TagKey}

usergroup arn:${Partition}:elasticache:${Region}:${Account}:usergroup:${UserGroupId}

aws:ResourceTag/${TagKey}

Amazon ElastiCache 的条件键

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

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

注意

有关在 IAM 策略中使用条件以控制 ElastiCache 访问的信息,请参阅 Amazon ElastiCache 用户指南 中的 ElastiCache 键

条件键 描述 类型
aws:RequestTag/${TagKey} 根据在请求中传递的标签筛选操作 字符串
aws:ResourceTag/${TagKey} 根据与资源关联的标签筛选操作 字符串
aws:TagKeys 根据在请求中传递的标签键筛选操作 字符串
elasticache:AtRestEncryptionEnabled 按请求中存在的 AtRestEncryptionEnabled 参数筛选访问,如果参数不存在,则默认为 false Bool
elasticache:AuthTokenEnabled 按请求中是否存在非空 AuthToken 参数筛选访问 Bool
elasticache:AutomaticFailoverEnabled 按请求中的 AutomaticFailoverEnabled 参数筛选访问 Bool
elasticache:CacheNodeType 按请求中存在的 cacheNodeType 参数筛选访问。此密钥可用于限制在集群创建或扩展操作中使用哪些缓存节点类型 字符串
elasticache:CacheParameterGroupName 按请求中的 CacheParameterGroupName 参数筛选访问 字符串
elasticache:ClusterModeEnabled 按请求中存在的集群模式参数筛选访问。单节点组(分区)创建的默认值为 false Bool
elasticache:EngineType 按创建请求中存在的引擎类型筛选访问。对于创建复制组,如果参数不存在,则使用默认引擎“redis”作为密钥 字符串
elasticache:EngineVersion 按创建或集群修改请求中存在的 engineVersion 参数筛选访问 字符串
elasticache:KmsKeyId 按请求中的 KmsKeyId 参数筛选访问。 字符串
elasticache:MultiAZEnabled 按 AZMode 参数、MultiAZEnabled 参数或可以放置集群或复制组的可用区的数量筛选访问 Bool
elasticache:NumNodeGroups 按请求中指定的 NumNodeGroups 或 NodeGroupCount 参数筛选访问。此密钥可用于限制创建或扩展操作后集群可以拥有的节点组(分区)的数量 数值
elasticache:ReplicasPerNodeGroup 按创建或扩展请求中指定的每个节点组(分区)的副本数筛选访问 数值
elasticache:SnapshotRetentionLimit 按请求中的 SnapshotRetentionLimit 参数筛选访问 数值
elasticache:TransitEncryptionEnabled 按请求中存在的 TransitEncryptionEnabled 参数筛选访问,如果参数不存在,则默认为 false Bool