Actions, resources, and condition keys for Amazon ElastiCache
Amazon ElastiCache (service prefix: elasticache) provides the following
service-specific operations, resources, actions, and condition keys for use in IAM permission
policies.
References:
-
Learn how to configure this service.
-
View a list of the API operations available for this service.
-
Learn how to secure this service and its resources by using IAM permission policies.
-
View the programmatic service authorization reference
for this service.
Topics
API operations defined by Amazon ElastiCache
The following table maps API operations to the IAM actions they authorize. Only condition keys that have static values for the given API and action are listed; for the full set of condition keys supported by each action, see the Actions table.
| Operation | IAM action | Condition key | Possible value(s) | Access level |
|---|---|---|---|---|
|
AddTagsToResource |
Tagging, Write |
|||
|
AuthorizeCacheSecurityGroupIngress |
Write |
|||
|
BatchApplyUpdateAction |
Write |
|||
|
BatchStopUpdateAction |
Write |
|||
|
CompleteMigration |
Write |
|||
|
CopyServerlessCacheSnapshot |
Write |
|||
|
CopySnapshot |
Tagging, Write |
|||
Write |
||||
|
CreateCacheCluster |
Tagging, Write |
|||
Write |
||||
|
CreateCacheParameterGroup |
Tagging, Write |
|||
Write |
||||
|
CreateCacheSecurityGroup |
Write |
|||
|
CreateCacheSubnetGroup |
Tagging, Write |
|||
Write |
||||
|
CreateGlobalReplicationGroup |
Write |
|||
|
CreateReplicationGroup |
Tagging, Write |
|||
Write |
||||
|
CreateServerlessCache |
Tagging, Write |
|||
Write |
||||
|
CreateServerlessCacheSnapshot |
Tagging, Write |
|||
Write |
||||
|
CreateSnapshot |
Tagging, Write |
|||
Write |
||||
|
CreateUser |
Tagging, Write |
|||
Write |
||||
|
CreateUserGroup |
Tagging, Write |
|||
Write |
||||
|
DecreaseNodeGroupsInGlobalReplicationGroup |
Write |
|||
|
DecreaseReplicaCount |
Write |
|||
|
DeleteCacheCluster |
Write |
|||
Write |
||||
|
DeleteCacheParameterGroup |
Write |
|||
|
DeleteCacheSecurityGroup |
Write |
|||
|
DeleteCacheSubnetGroup |
Write |
|||
|
DeleteGlobalReplicationGroup |
Write |
|||
|
DeleteReplicationGroup |
Write |
|||
Write |
||||
|
DeleteServerlessCache |
Write |
|||
Write |
||||
|
DeleteServerlessCacheSnapshot |
Write |
|||
|
DeleteSnapshot |
Write |
|||
|
DeleteUser |
Write |
|||
|
DeleteUserGroup |
Write |
|||
|
DescribeCacheClusters |
List |
|||
|
DescribeCacheEngineVersions |
List |
|||
|
DescribeCacheParameterGroups |
List |
|||
|
DescribeCacheParameters |
List |
|||
|
DescribeCacheSecurityGroups |
List |
|||
|
DescribeCacheSubnetGroups |
List |
|||
|
DescribeEngineDefaultParameters |
List |
|||
|
DescribeEvents |
List |
|||
|
DescribeGlobalReplicationGroups |
List |
|||
|
DescribeReplicationGroups |
List |
|||
|
DescribeReservedCacheNodes |
List |
|||
|
DescribeReservedCacheNodesOfferings |
List |
|||
|
DescribeServerlessCacheSnapshots |
List |
|||
|
DescribeServerlessCaches |
List |
|||
|
DescribeServiceUpdates |
List |
|||
|
DescribeSnapshots |
List |
|||
|
DescribeUpdateActions |
List |
|||
|
DescribeUserGroups |
List |
|||
|
DescribeUsers |
List |
|||
|
DisassociateGlobalReplicationGroup |
Write |
|||
|
ExportServerlessCacheSnapshot |
Write |
|||
|
FailoverGlobalReplicationGroup |
Write |
|||
|
IncreaseNodeGroupsInGlobalReplicationGroup |
Write |
|||
|
IncreaseReplicaCount |
Write |
|||
|
ListAllowedNodeTypeModifications |
List |
|||
|
ListTagsForResource |
Read |
|||
|
ModifyCacheCluster |
Write |
|||
|
ModifyCacheParameterGroup |
Write |
|||
|
ModifyCacheSubnetGroup |
Write |
|||
|
ModifyGlobalReplicationGroup |
Write |
|||
|
ModifyReplicationGroup |
Write |
|||
|
ModifyReplicationGroupShardConfiguration |
Write |
|||
|
ModifyServerlessCache |
Write |
|||
|
ModifyUser |
Write |
|||
|
ModifyUserGroup |
Write |
|||
|
PurchaseReservedCacheNodesOffering |
Tagging, Write |
|||
Write |
||||
|
RebalanceSlotsInGlobalReplicationGroup |
Write |
|||
|
RebootCacheCluster |
Write |
|||
|
RemoveTagsFromResource |
Tagging, Write |
|||
|
ResetCacheParameterGroup |
Write |
|||
|
RevokeCacheSecurityGroupIngress |
Write |
|||
|
StartMigration |
Write |
|||
|
TestFailover |
Write |
|||
|
TestMigration |
Write |
Actions defined by Amazon ElastiCache
You can specify the following actions in the Action element of an IAM
policy statement. Use policies to grant permissions to perform an operation in Amazon. When
you use an action in a policy, you usually allow or deny access to the API operation or CLI
command with the same name. However, in some cases, a single action controls access to more
than one operation. Alternatively, some operations require several different actions.
| Actions | Description | Resource types (*required) | Condition keys | Access level |
|---|---|---|---|---|
Grants permission to add tags to an ElastiCache resource |
Tagging, Write |
|||
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
||||
|
elasticache:MaximumDataStorage elasticache:MaximumECPUPerSecond elasticache:MinimumDataStorage |
||||
Grants permission to authorize an EC2 security group on a ElastiCache security group |
Write |
|||
Grants permission to apply ElastiCache service updates to sets of clusters and replication groups |
Write |
|||
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
||||
Grants permission to stop ElastiCache service updates from being executed on a set of clusters |
Write |
|||
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
||||
Grants permission to complete an online migration of data from hosted Redis on Amazon EC2 to ElastiCache |
Write |
|||
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
||||
Grants permission to connect as a specified ElastiCache user to an ElastiCache Replication Group or ElastiCache serverless cache |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
||
|
elasticache:MaximumDataStorage elasticache:MaximumECPUPerSecond elasticache:MinimumDataStorage |
||||
Grants permission to make a copy of an existing serverless cache snapshot |
Write |
|||
Grants permission to make a copy of an existing snapshot |
Write |
|||
Grants permission to create a cache cluster |
Write |
|||
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
||||
Grants permission to create a parameter group |
Write |
|||
Grants permission to create a cache security group |
Write |
|||
Grants permission to create a cache subnet group |
Write |
|||
Grants permission to create a global replication group |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
||
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
||||
Grants permission to create a replication group |
Write |
|||
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
||||
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
||||
Grants permission to create a serverless cache |
elasticache:MaximumDataStorage elasticache:MaximumECPUPerSecond elasticache:MinimumDataStorage |
Write |
||
Grants permission to create a copy of a serverless cache at a specific moment in time |
elasticache:MaximumDataStorage elasticache:MaximumECPUPerSecond elasticache:MinimumDataStorage |
Write |
||
Grants permission to create a copy of an entire Redis cluster at a specific moment in time |
Write |
|||
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
||||
Grants permission to create a user for Redis. Users are supported from Redis 6.0 onwards |
Write |
|||
Grants permission to create a user group for Redis. Groups are supported from Redis 6.0 onwards |
Write |
|||
Grants permission to decrease the number of node groups in global replication groups |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
||
Grants permission to decrease the number of replicas in a Redis (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
||
Grants permission to delete a previously provisioned cluster |
Write |
|||
Grants permission to delete the specified cache parameter group |
Write |
|||
Grants permission to delete a cache security group |
Write |
|||
Grants permission to delete a cache subnet group |
Write |
|||
Grants permission to delete an existing global replication group |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
||
Grants permission to delete an existing replication group |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
||
Grants permission to delete a serverless cache |
elasticache:MaximumDataStorage elasticache:MaximumECPUPerSecond elasticache:MinimumDataStorage |
Write |
||
Grants permission to delete a serverless cache snapshot |
Write |
|||
Grants permission to delete an existing snapshot |
Write |
|||
Grants permission to delete an existing user and thus remove it from all user groups and replication groups where it was assigned |
Write |
|||
Grants permission to delete an existing user group |
Write |
|||
Grants permission to list information about provisioned cache clusters |
List |
|||
Grants permission to list available cache engines and their versions |
List |
|||
Grants permission to list cache parameter group descriptions |
List |
|||
Grants permission to retrieve the detailed parameter list for a particular cache parameter group |
List |
|||
Grants permission to list cache security group descriptions |
List |
|||
Grants permission to list cache subnet group descriptions |
List |
|||
Grants permission to retrieve the default engine and system parameter information for the specified cache engine |
List |
|||
Grants permission to list events related to clusters, cache security groups, and cache parameter groups |
List |
|||
Grants permission to list information about global replication groups |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
List |
||
Grants permission to list information about provisioned replication groups |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
List |
||
Grants permission to list information about purchased reserved cache nodes |
List |
|||
Grants permission to list available reserved cache node offerings |
List |
|||
Grants permission to list information about serverless cache snapshots |
elasticache:MaximumDataStorage elasticache:MaximumECPUPerSecond elasticache:MinimumDataStorage |
List |
||
Grants permission to list serverless caches |
elasticache:MaximumDataStorage elasticache:MaximumECPUPerSecond elasticache:MinimumDataStorage |
List |
||
Grants permission to list details of the service updates |
List |
|||
Grants permission to list information about cluster or replication group snapshots |
List |
|||
Grants permission to list details of the update actions for a set of clusters or replication groups |
List |
|||
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
||||
Grants permission to list information about Redis user groups |
List |
|||
Grants permission to list information about Redis users |
List |
|||
Grants permission to remove a secondary replication group from the global replication group |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
||
Grants permission to export a copy of a serverless cache at a specific moment in time to s3 bucket |
Write |
|||
Grants permission to failover the primary region to a selected secondary region of a global replication group |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
||
Grants permission to increase the number of node groups in a global replication group |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
||
Grants permission to increase the number of replicas in a Redis (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
||
Grants permission to list available node type that can be used to scale a particular Redis cluster or replication group |
List |
|||
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
||||
Grants permission to list tags for an ElastiCache resource |
Read |
|||
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
||||
|
elasticache:MaximumDataStorage elasticache:MaximumECPUPerSecond elasticache:MinimumDataStorage |
||||
Grants permission to modify settings for a cluster |
Write |
|||
Grants permission to modify parameters of a cache parameter group |
Write |
|||
Grants permission to modify an existing cache subnet group |
Write |
|||
Grants permission to modify settings for a global replication group |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
||
Grants permission to modify the settings for a replication group |
Write |
|||
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
||||
Grants permission to add shards, remove shards, or rebalance the keyspaces among existing shards of a replication group |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
||
Grants permission to modify parameters for a serverless cache |
elasticache:MaximumDataStorage elasticache:MaximumECPUPerSecond elasticache:MinimumDataStorage |
Write |
||
Grants permission to change Redis user password(s) and/or access string |
Write |
|||
Grants permission to change list of users that belong to the user group |
Write |
|||
Grants permission to purchase a reserved cache node offering |
Write |
|||
Grants permission to perform a key space rebalance operation to redistribute slots and ensure uniform key distribution across existing shards in a global replication group |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
||
Grants permission to reboot some, or all, of the cache nodes within a provisioned cache cluster or replication group (cluster mode disabled) |
Write |
|||
Grants permission to remove tags from a ElastiCache resource |
Tagging, Write |
|||
|
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
||||
|
elasticache:MaximumDataStorage elasticache:MaximumECPUPerSecond elasticache:MinimumDataStorage |
||||
Grants permission to modify parameters of a cache parameter group back to their default values |
Write |
|||
Grants permission to remove an EC2 security group ingress from a ElastiCache security group |
Write |
|||
Grants permission to start a migration of data from hosted Redis on Amazon EC2 to ElastiCache for Redis |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
||
Grants permission to test automatic failover on a specified node group in a replication group |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
||
Grants permission to test a migration of data from hosted Redis on Amazon EC2 to ElastiCache for Redis |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
Permission-only actions for Amazon ElastiCache
The following actions are defined by Amazon ElastiCache but are not directly invocable through any API operation. They can only be used in IAM policy statements to grant or deny permissions.
| Actions | Description | Resource types (*required) | Condition keys | Access level |
|---|---|---|---|---|
Grants permission to test an AZ power interruption for an ElastiCache resource |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
Write |
Resource types defined by Amazon ElastiCache
The following resource types are defined by this service and can be used in the
Resource element of IAM permission policy statements.
| Resource types | ARN | Condition keys |
|---|---|---|
arn:${Partition}:elasticache:${Region}:${Account}:cluster:${CacheClusterId} |
||
arn:${Partition}:elasticache::${Account}:globalreplicationgroup:${GlobalReplicationGroupId} |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
|
arn:${Partition}:elasticache:${Region}:${Account}:parametergroup:${CacheParameterGroupName} |
||
arn:${Partition}:elasticache:${Region}:${Account}:replicationgroup:${ReplicationGroupId} |
elasticache:AtRestEncryptionEnabled elasticache:AutomaticFailoverEnabled elasticache:CacheParameterGroupName elasticache:ClusterModeEnabled elasticache:ReplicasPerNodeGroup |
|
arn:${Partition}:elasticache:${Region}:${Account}:reserved-instance:${ReservedCacheNodeId} |
||
arn:${Partition}:elasticache:${Region}:${Account}:securitygroup:${CacheSecurityGroupName} |
||
arn:${Partition}:elasticache:${Region}:${Account}:serverlesscache:${ServerlessCacheName} |
elasticache:MaximumDataStorage elasticache:MaximumECPUPerSecond elasticache:MinimumDataStorage |
|
arn:${Partition}:elasticache:${Region}:${Account}:serverlesscachesnapshot:${ServerlessCacheSnapshotName} |
||
arn:${Partition}:elasticache:${Region}:${Account}:snapshot:${SnapshotName} |
||
arn:${Partition}:elasticache:${Region}:${Account}:subnetgroup:${CacheSubnetGroupName} |
||
arn:${Partition}:elasticache:${Region}:${Account}:user:${UserId} |
||
arn:${Partition}:elasticache:${Region}:${Account}:usergroup:${UserGroupId} |
Condition keys for Amazon ElastiCache
Amazon ElastiCache defines the following condition keys that can be used in the
Condition element of an IAM policy.
| Condition keys | Description | Type |
|---|---|---|
Filters actions based on the tags that are passed in the request |
String |
|
Filters actions based on the tags associated with the resource |
String |
|
Filters actions based on the tag keys that are passed in the request |
ArrayOfString |
|
Filters access by the AtRestEncryptionEnabled parameter present in the request or default false value if parameter is not present |
Bool |
|
Filters access by the presence of non empty AuthToken parameter in the request |
Bool |
|
Filters access by the AutomaticFailoverEnabled parameter in the request |
Bool |
|
Filters access by the cacheNodeType parameter present in the request. This key can be used to restrict which cache node types can be used on cluster creation or scaling operations |
String |
|
Filters access by the CacheParameterGroupName parameter in the request |
String |
|
Filters access by the cluster mode parameter present in the request. Default value for single node group (shard) creations is false |
Bool |
|
Filters access by the CacheUsageLimits.DataStorage.Unit parameter in the CreateServerlessCache and ModifyServerlessCache request |
String |
|
Filters access by the Durability parameter in the request. Valid values are default, async, sync, or disabled |
String |
|
Filters access by the engine type present in creation requests. For replication group creations, default engine 'redis' is used as key if parameter is not present |
String |
|
Filters access by the engineVersion parameter present in creation or cluster modification requests |
String |
|
Filters access by the Key ID of the KMS key |
String |
|
Filters access by the CacheUsageLimits.DataStorage.Maximum parameter in the CreateServerlessCache and ModifyServerlessCache request |
Numeric |
|
Filters access by the CacheUsageLimits.ECPUPerSecond.Maximum parameter in the CreateServerlessCache and ModifyServerlessCache request |
Numeric |
|
Filters access by the CacheUsageLimits.DataStorage.Minimum parameter in the CreateServerlessCache and ModifyServerlessCache request |
Numeric |
|
Filters access by the CacheUsageLimits.ECPUPerSecond.Minimum parameter in the CreateServerlessCache and ModifyServerlessCache request |
Numeric |
|
Filters access by the AZMode parameter, MultiAZEnabled parameter or the number of availability zones that the cluster or replication group can be placed in |
Bool |
|
Filters access by the NumNodeGroups or NodeGroupCount parameter specified in the request. This key can be used to restrict the number of node groups (shards) clusters can have after creation or scaling operations |
Numeric |
|
Filters access by the number of replicas per node group (shards) specified in creations or scaling requests |
Numeric |
|
Filters access by the SnapshotRetentionLimit parameter in the request |
Numeric |
|
Filters access by the TransitEncryptionEnabled parameter present in the request. For replication group creations, default value 'false' is used as key if parameter is not present |
Bool |
|
Filters access by the UserAuthenticationMode parameter in the request |
String |