Amazon ElastiCache 的操作、资源和条件键
Amazon ElastiCache(服务前缀:elasticache
)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。
参考:
Amazon ElastiCache 定义的操作
您可以在 IAM 策略语句的 Action
元素中指定以下操作。可以使用策略授予在 Amazon 中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。
操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource
元素中指定策略应用的所有资源(“*”)。通过在 IAM policy 中使用条件来筛选访问权限,以控制是否可以在资源或请求中使用特定标签键。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您在 IAM policy 中使用 Resource
元素限制资源访问权限,则必须为每种必需的资源类型添加 ARN 或模式。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种可选资源类型。
操作表的条件键列包括可以在策略语句的 Condition
元素中指定的键。有关与服务资源关联的条件键的更多信息,请参阅资源类型表的条件键列。
注意
资源条件键在资源类型表中列出。您可以在操作表的资源类型(* 为必需)列中找到应用于某项操作的资源类型的链接。资源类型表中的资源类型包括条件密钥列,这是应用于操作表中操作的资源条件键。
有关下表中各列的详细信息,请参阅操作表。
注意
在 IAM 中创建 ElastiCache 策略时,您必须在资源数据块中使用“*”通配符。有关在 IAM policy 中使用以下 ElastiCache API 操作的信息,请参阅 Amazon ElastiCache 用户指南 中的 ElastiCache 操作和 IAM。
操作 | 描述 | 访问级别 | 资源类型(* 为必需) | 条件键 | 相关操作 |
---|---|---|---|---|---|
AddTagsToResource | 授予权限以将标签添加到 ElastiCache 资源中 | Tagging | |||
AuthorizeCacheSecurityGroupIngress | 授予权限以授权 ElastiCache 安全组上的 EC2 安全组 | Write |
ec2:AuthorizeSecurityGroupIngress |
||
BatchApplyUpdateAction | 授予权限以将 ElastiCache 服务更新应用于集群集和复制组 | Write |
ec2:CreateNetworkInterface ec2:DeleteNetworkInterface ec2:DescribeNetworkInterfaces ec2:DescribeSubnets ec2:DescribeVpcs s3:GetObject |
||
BatchStopUpdateAction | 授予权限以阻止 ElastiCache 服务更新在一组集群上执行 | Write | |||
CompleteMigration | 授予权限以完成数据从 Amazon EC2 上托管的 Redis 到 ElastiCache 的在线迁移 | 写入 | |||
Connect | 授予以指定 ElastiCache 用户身份连接到 ElastiCache 复制组或 ElastiCache 无服务器缓存的权限 | 写入 | |||
CopyServerlessCacheSnapshot | 授予复制现有无服务器缓存快照的权限 | 写入 |
elasticache:AddTagsToResource |
||
CopySnapshot | 授予权限以复制现有快照 | Write |
elasticache:AddTagsToResource s3:DeleteObject s3:GetBucketAcl s3:PutObject |
||
CreateCacheCluster | 授予权限以创建缓存集群 | Write |
ec2:CreateNetworkInterface ec2:DeleteNetworkInterface ec2:DescribeNetworkInterfaces ec2:DescribeSubnets ec2:DescribeVpcs elasticache:AddTagsToResource s3:GetObject |
||
CreateCacheParameterGroup | 授予权限以创建参数组 | Write |
elasticache:AddTagsToResource |
||
CreateCacheSecurityGroup | 授予权限以创建缓存安全组 | Write |
elasticache:AddTagsToResource |
||
CreateCacheSubnetGroup | 授予权限以创建缓存子网组 | Write |
elasticache:AddTagsToResource |
||
CreateGlobalReplicationGroup | 授予权限以创建全局复制组 | Write | |||
CreateReplicationGroup | 授予权限以创建复制组 | 写入 |
ec2:CreateNetworkInterface ec2:DeleteNetworkInterface ec2:DescribeNetworkInterfaces ec2:DescribeSubnets ec2:DescribeVpcs elasticache:AddTagsToResource s3:GetObject |
||
elasticache:ReplicasPerNodeGroup elasticache:AtRestEncryptionEnabled elasticache:TransitEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:ClusterModeEnabled |
|||||
elasticache:ReplicasPerNodeGroup elasticache:AtRestEncryptionEnabled elasticache:TransitEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:ClusterModeEnabled |
|||||
CreateServerlessCache | 授予创建无服务器缓存的权限 | 写入 |
elasticache:SnapshotRetentionLimit |
ec2:CreateTags ec2:CreateVpcEndpoint ec2:DeleteVpcEndpoints ec2:DescribeSecurityGroups ec2:DescribeSubnets ec2:DescribeTags ec2:DescribeVpcEndpoints ec2:DescribeVpcs elasticache:AddTagsToResource s3:GetObject |
|
CreateServerlessCacheSnapshot | 授予在特定时刻创建无服务器缓存副本的权限 | 写入 |
elasticache:AddTagsToResource |
||
CreateSnapshot | 授予权限以在特定时刻及时创建整个 Redis 集群的副本 | 写入 |
elasticache:AddTagsToResource s3:DeleteObject s3:GetBucketAcl s3:PutObject |
||
CreateUser | 授予权限以创建 Redis 的用户。Redis 6.0 及更高版本支持用户 | 写入 |
elasticache:AddTagsToResource |
||
CreateUserGroup | 授予权限以创建 Redis 的用户组。Redis 6.0 及更高版本支持组 | 写入 |
elasticache:AddTagsToResource |
||
DecreaseNodeGroupsInGlobalReplicationGroup | 授予权限以减少全局复制组中节点组的数量 | Write | |||
DecreaseReplicaCount | 授予权限以减少 Redis(已禁用集群模式)复制组中的副本数量或 Redis(已启用集群模式)复制组中一个或多个节点组(分区)中的副本节点数量 | Write |
ec2:CreateNetworkInterface ec2:DeleteNetworkInterface ec2:DescribeNetworkInterfaces ec2:DescribeSubnets ec2:DescribeVpcs |
||
DeleteCacheCluster | 授予权限以删除以前预配置的集群 | Write |
ec2:CreateNetworkInterface ec2:DeleteNetworkInterface ec2:DescribeNetworkInterfaces ec2:DescribeSubnets ec2:DescribeVpcs |
||
DeleteCacheParameterGroup | 授予权限以删除指定缓存参数组 | Write | |||
DeleteCacheSecurityGroup | 授予权限以删除缓存安全组 | Write | |||
DeleteCacheSubnetGroup | 授予权限以删除缓存子网组 | Write |
ec2:CreateNetworkInterface ec2:DeleteNetworkInterface ec2:DescribeNetworkInterfaces ec2:DescribeSubnets ec2:DescribeVpcs |
||
DeleteGlobalReplicationGroup | 授予权限以删除现有全局复制组 | Write | |||
DeleteReplicationGroup | 授予权限以删除现有复制组 | 写入 |
ec2:CreateNetworkInterface ec2:DeleteNetworkInterface ec2:DescribeNetworkInterfaces ec2:DescribeSubnets ec2:DescribeVpcs |
||
DeleteServerlessCache | 授予删除无服务器缓存的权限 | 写入 |
ec2:DescribeTags |
||
DeleteServerlessCacheSnapshot | 授予删除无服务器缓存快照的权限 | 写入 | |||
DeleteSnapshot | 授予权限以删除现有快照 | Write | |||
DeleteUser | 授予权限以删除现有用户,从而将其从分配给它的所有用户组和复制组中删除 | Write | |||
DeleteUserGroup | 授予权限以删除现有用户组 | Write | |||
DescribeCacheClusters | 授予权限以列出有关预置缓存集群的信息 | 列出 | |||
DescribeCacheEngineVersions | 授予列出可用缓存引擎及其版本的权限 | 列出 | |||
DescribeCacheParameterGroups | 授予权限以列出缓存参数组描述 | List | |||
DescribeCacheParameters | 授予权限以检索特定缓存参数组的详细参数列表 | List | |||
DescribeCacheSecurityGroups | 授予权限以列出缓存安全组描述 | List | |||
DescribeCacheSubnetGroups | 授予权限以列出缓存子网组描述 | List | |||
DescribeEngineDefaultParameters | 授予权限以检索指定缓存引擎的默认引擎和系统参数信息 | List | |||
DescribeEvents | 授予权限以列出与集群、缓存安全组和缓存参数组相关的事件 | List | |||
DescribeGlobalReplicationGroups | 授予权限以列出有关全局复制组的信息 | List | |||
DescribeReplicationGroups | 授予权限以列出有关预置复制组的信息 | List | |||
DescribeReservedCacheNodes | 授予权限以列出有关购买的预留缓存节点的信息 | List | |||
DescribeReservedCacheNodesOfferings | 授予权限以获取可用的预留缓存节点产品 | 列出 | |||
DescribeServerlessCacheSnapshots | 授予列出无服务器缓存快照信息的权限 | 列出 | |||
DescribeServerlessCaches | 授予列出无服务器缓存的权限 | 列出 | |||
DescribeServiceUpdates | 授予权限以列出服务更新详细信息 | List | |||
DescribeSnapshots | 授予权限以列出有关集群或复制组快照的信息 | List | |||
DescribeUpdateActions | 授予权限以列出一组集群或复制组的更新操作详细信息 | List | |||
DescribeUserGroups | 授予权限以列出有关 Redis 用户组的信息 | List | |||
DescribeUsers | 授予权限以列出有关 Redis 用户的信息 | List | |||
DisassociateGlobalReplicationGroup | 授予权限以从全局复制组中删除辅助复制组 | 写入 | |||
ExportServerlessCacheSnapshot | 授予在指定时刻将无服务器缓存副本导出到 S3 存储桶的权限 | 写入 |
s3:DeleteObject s3:ListAllMyBuckets s3:PutObject |
||
FailoverGlobalReplicationGroup | 授予权限以将主区域故障转移到全局复制组的选定辅助区域 | Write | |||
IncreaseNodeGroupsInGlobalReplicationGroup | 授予权限以增加全局复制组中节点组的数量 | Write | |||
IncreaseReplicaCount | 授予权限以增加 Redis(已禁用集群模式)复制组中的副本数量或 Redis(已启用集群模式)复制组中一个或多个节点组(分区)中的副本节点数量 | 写入 |
ec2:CreateNetworkInterface ec2:DeleteNetworkInterface ec2:DescribeNetworkInterfaces ec2:DescribeSubnets ec2:DescribeVpcs |
||
InterruptClusterAzPower [仅权限] | 授予对 ElastiCache 资源进行可用区停电测试的权限 | 写入 | |||
ListAllowedNodeTypeModifications | 授予权限以列出可用于扩展特定 Redis 集群或复制组的可用节点类型 | List | |||
ListTagsForResource | 授予权限以列出 ElastiCache 资源的标签 | Read | |||
ModifyCacheCluster | 授予权限以修改集群的设置 | Write | |||
ModifyCacheParameterGroup | 授予权限以修改缓存参数组的参数 | Write | |||
ModifyCacheSubnetGroup | 授予权限以修改现有缓存子网组 | Write | |||
ModifyGlobalReplicationGroup | 授予权限以修改全局复制组的设置 | Write | |||
ModifyReplicationGroup | 授予权限以修改复制组的设置 | Write |
elasticache:AutomaticFailoverEnabled elasticache:SnapshotRetentionLimit elasticache:CacheParameterGroupName |
ec2:CreateNetworkInterface ec2:DeleteNetworkInterface ec2:DescribeNetworkInterfaces ec2:DescribeSubnets ec2:DescribeVpcs |
|
ModifyReplicationGroupShardConfiguration | 授予权限以在复制组现有分区之间添加分区、删除分区或重新平衡密钥空间 | 写入 |
ec2:CreateNetworkInterface ec2:DeleteNetworkInterface ec2:DescribeNetworkInterfaces ec2:DescribeSubnets ec2:DescribeVpcs |
||
ModifyServerlessCache | 授予修改无服务器缓存参数的权限 | 写入 |
elasticache:SnapshotRetentionLimit |
ec2:DescribeSecurityGroups ec2:DescribeTags |
|
ModifyUser | 授予权限以更改 Redis 用户密码和/或访问字符串 | Write | |||
ModifyUserGroup | 授予权限以更改属于用户组的用户列表 | Write | |||
PurchaseReservedCacheNodesOffering | 授予权限以购买预留缓存节点产品 | Write |
elasticache:AddTagsToResource |
||
RebalanceSlotsInGlobalReplicationGroup | 授予权限以执行密钥空间重新平衡操作,以重新分发插槽并确保在全局复制组中的现有分区之间进行密钥的统一分配 | Write | |||
RebootCacheCluster | 授予权限以重新启动预置缓存集群或复制组中的部分或全部缓存节点(已禁用集群模式) | Write | |||
RemoveTagsFromResource | 授予权限以从 ElastiCache 资源中删除标签 | Tagging | |||
ResetCacheParameterGroup | 授予权限以将缓存参数组的参数改回其默认值 | Write | |||
RevokeCacheSecurityGroupIngress | 授予权限以从 ElastiCache 安全组移除 EC2 安全组传入 | Write | |||
StartMigration | 授予权限以开始数据从 Amazon EC2 上托管的 Redis 到 ElastiCache for Redis 的迁移 | Write | |||
TestFailover | 授予权限以测试复制组中的指定节点组上的自动故障转移 | 写入 |
ec2:CreateNetworkInterface ec2:DeleteNetworkInterface ec2:DescribeNetworkInterfaces ec2:DescribeSubnets ec2:DescribeVpcs |
||
TestMigration | 授予权限以测试数据从 Amazon EC2 上托管的 Redis 到 ElastiCache for Redis 的迁移 | 写入 | |||
Amazon ElastiCache 定义的资源类型
以下资源类型是由该服务定义的,可以在 IAM 权限策略语句的 Resource
元素中使用这些资源类型。操作表中的每个操作指定了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在资源类型表的最后一列。有关下表中各列的详细信息,请参阅资源类型表。
资源类型 | ARN | 条件键 |
---|---|---|
parametergroup |
arn:${Partition}:elasticache:${Region}:${Account}:parametergroup:${CacheParameterGroupName}
|
|
securitygroup |
arn:${Partition}:elasticache:${Region}:${Account}:securitygroup:${CacheSecurityGroupName}
|
|
subnetgroup |
arn:${Partition}:elasticache:${Region}:${Account}:subnetgroup:${CacheSubnetGroupName}
|
|
replicationgroup |
arn:${Partition}:elasticache:${Region}:${Account}:replicationgroup:${ReplicationGroupId}
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
cluster |
arn:${Partition}:elasticache:${Region}:${Account}:cluster:${CacheClusterId}
|
|
reserved-instance |
arn:${Partition}:elasticache:${Region}:${Account}:reserved-instance:${ReservedCacheNodeId}
|
|
snapshot |
arn:${Partition}:elasticache:${Region}:${Account}:snapshot:${SnapshotName}
|
|
globalreplicationgroup |
arn:${Partition}:elasticache::${Account}:globalreplicationgroup:${GlobalReplicationGroupId}
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
user |
arn:${Partition}:elasticache:${Region}:${Account}:user:${UserId}
|
|
usergroup |
arn:${Partition}:elasticache:${Region}:${Account}:usergroup:${UserGroupId}
|
|
serverlesscache |
arn:${Partition}:elasticache:${Region}:${Account}:serverlesscache:${ServerlessCacheName}
|
elasticache:MaximumDataStorage |
serverlesscachesnapshot |
arn:${Partition}:elasticache:${Region}:${Account}:serverlesscachesnapshot:${ServerlessCacheSnapshotName}
|
Amazon ElastiCache 的条件键
Amazon ElastiCache 定义以下可以在 IAM policy 的 Condition
元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表。
要查看适用于所有服务的全局条件键,请参阅可用的全局条件键。
注意
有关在 IAM policy 中使用条件以控制 ElastiCache 访问的信息,请参阅 Amazon ElastiCache 用户指南 中的 ElastiCache 键。
条件键 | 描述 | 类型 |
---|---|---|
aws:RequestTag/${TagKey} | 根据在请求中传递的标签筛选操作 | String |
aws:ResourceTag/${TagKey} | 根据与资源关联的标签筛选操作 | String |
aws:TagKeys | 根据在请求中传递的标签键筛选操作 | 字符串数组 |
elasticache:AtRestEncryptionEnabled | 按请求中存在的 AtRestEncryptionEnabled 参数筛选访问,如果参数不存在,则默认为 false | Bool |
elasticache:AuthTokenEnabled | 按请求中是否存在非空 AuthToken 参数筛选访问 | Bool |
elasticache:AutomaticFailoverEnabled | 按请求中的 AutomaticFailoverEnabled 参数筛选访问 | Bool |
elasticache:CacheNodeType | 按请求中存在的 cacheNodeType 参数筛选访问。此密钥可用于限制在集群创建或扩展操作中使用哪些缓存节点类型 | String |
elasticache:CacheParameterGroupName | 按请求中的 CacheParameterGroupName 参数筛选访问权限 | String |
elasticache:ClusterModeEnabled | 按请求中存在的集群模式参数筛选访问。单节点组(分区)创建的默认值为 false | 布尔型 |
elasticache:DataStorageUnit | 按 CreateServerlessCache 和 ModifyServerlessCache 请求中的 CacheUsageLimits.DataStorage.Unit 参数筛选访问权限 | String |
elasticache:EngineType | 按创建请求中存在的引擎类型筛选访问。对于创建复制组,如果参数不存在,则使用默认引擎“redis”作为键 | String |
elasticache:EngineVersion | 按创建或集群修改请求中存在的 engineVersion 参数筛选访问 | String |
elasticache:KmsKeyId | 按请求中的 KmsKeyId 参数筛选访问。 | String |
elasticache:MaximumDataStorage | 按 CreateServerlessCache 和 ModifyServerlessCache 请求中的 CacheUsageLimits.DataStorage.Maximum 参数筛选访问权限 | 数值 |
elasticache:MaximumECPUPerSecond | 按 CreateServerlessCache 和 ModifyServerlessCache 请求中的 CacheUsageLimits.ECPUPerSecond.Maximum 参数筛选访问权限 | 数值 |
elasticache:MultiAZEnabled | 按 AZMode 参数、MultiAZEnabled 参数或可以放置集群或复制组的可用区的数量筛选访问 | Bool |
elasticache:NumNodeGroups | 按请求中指定的 NumNodeGroups 或 NodeGroupCount 参数筛选访问。此密钥可用于限制创建或扩展操作后集群可以拥有的节点组(分区)的数量 | 数值 |
elasticache:ReplicasPerNodeGroup | 按创建或扩展请求中指定的每个节点组(分区)的副本数筛选访问 | 数值 |
elasticache:SnapshotRetentionLimit | 按请求中的 SnapshotRetentionLimit 参数筛选访问 | 数值 |
elasticache:TransitEncryptionEnabled | 按请求中存在的 TransitEncryptionEnabled 参数筛选访问。在创建复制组时,如果参数不存在,则使用默认值“false”作为键 | 布尔型 |
elasticache:UserAuthenticationMode | 按请求中的 UserAuthenticationMode 参数筛选访问权限 | String |