Amazon ElastiCache のアクション、リソース、および条件キー
Amazon ElastiCache (サービスプレフィックス: elasticache
) では、IAM アクセス許可ポリシーで使用できるように、以下のサービス固有のリソースやアクション、条件コンテキストキーが用意されています。
参照:
-
このサービスを設定する方法について説明します。
-
このサービスで使用可能な API オペレーションのリストを表示します。
-
IAM アクセス許可ポリシーを使用して、このサービスとそのリソースを保護する方法を学びます。
Amazon ElastiCache で定義されるアクション
IAM ポリシーステートメントの Action
エレメントでは、以下のアクションを指定できます。ポリシーを使用して、AWS でオペレーションを実行するアクセス許可を付与します。ポリシーでアクションを使用する場合は、通常、同じ名前の API オペレーションまたは CLI コマンドへのアクセスを許可または拒否します。ただし、場合によっては、1 つのアクションによって複数のオペレーションへのアクセスが制御されます。あるいは、いくつかのオペレーションはいくつかの異なるアクションを必要とします。
[アクション] テーブルの [リソースタイプ] 列は、各アクションがリソースレベルの許可をサポートしているかどうかを示します。この列に値がない場合は、ポリシーステートメントの Resource
要素で、ポリシーが適用されるすべてのリソース (「*」) を指定する必要があります。列にリソースタイプが含まれる場合、そのアクションを含むステートメントでそのタイプの ARN を指定できます。アクションで 1 つ以上のリソースが必須となっている場合、呼び出し元には、それらのリソースを伴うアクションを使用するための許可が付与されている必要があります。必須リソースは、アスタリスク (*) でテーブルに示されています。IAM ポリシーの Resource
要素でリソースアクセスを制限する場合は、必要なリソースタイプごとに ARN またはパターンを含める必要があります。一部のアクションでは、複数のリソースタイプがサポートされています。リソースタイプがオプション (必須として示されていない) の場合、オプションのリソースタイプのいずれかを使用することを選択できます。
[アクション] テーブルの [条件キー] 列には、ポリシーステートメントの Condition
要素で指定できるキーが含まれます。サービスのリソースに関連付けられている条件キーの詳細については、[リソースタイプ] テーブルの [条件キー] 列を参照してください。
注記
リソース条件キーは、リソースタイプテーブルに一覧表示されています。アクションに適用されるリソースタイプへのリンクは、[アクション] テーブルの [リソースタイプ (* 必須)] 列にあります。[リソースタイプ] テーブルのリソースタイプには、[アクション] テーブルのアクションに適用されるリソース条件キーである、[条件キー] 列が含まれています。
以下の表の列の詳細については、「アクションテーブル」を参照してください。
注記
IAM で ElastiCache ポリシーを作成する場合、リソースブロックでワイルドカード「*」を使用する必要があります。IAM ポリシーで以下の ElastiCache の API アクションを使用する方法については、Amazon ElastiCache ユーザーガイドの「ElastiCache のアクションと IAM」を参照してください。
アクション | 説明 | アクセスレベル | リソースタイプ (* 必須) | 条件キー | 依存アクション |
---|---|---|---|---|---|
AddTagsToResource | ElastiCache リソースにタグを追加する許可を付与。 | タグ付け | |||
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 (クラスターモード有効化) レプリケーショングループの 1 つ以上のノードグループ (シャード) のレプリカノードの数を減らすアクセス許可を付与します。 | 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 | キャッシュパラメータグループの説明を一覧表示する許可を付与。 | リスト | |||
DescribeCacheParameters | 特定のキャッシュパラメータグループの詳細なパラメータリストを取得する許可を付与。 | リスト | |||
DescribeCacheSecurityGroups | キャッシュセキュリティグループの説明を一覧表示する許可を付与。 | リスト | |||
DescribeCacheSubnetGroups | キャッシュサブネットグループの説明を一覧表示する許可を付与。 | リスト | |||
DescribeEngineDefaultParameters | 指定されたキャッシュエンジンのデフォルトのエンジンおよびシステムパラメータ情報を取得する許可を付与。 | リスト | |||
DescribeEvents | クラスター、キャッシュセキュリティグループ、キャッシュパラメータグループに関連するイベントを一覧表示する許可を付与。 | リスト | |||
DescribeGlobalReplicationGroups | グローバルレプリケーショングループに関する情報を一覧表示する許可を付与。 | リスト | |||
DescribeReplicationGroups | プロビジョンドレプリケーショングループに関する情報を一覧表示する許可を付与。 | リスト | |||
DescribeReservedCacheNodes | 購入したリザーブドキャッシュノードに関する情報を一覧表示する許可を付与。 | リスト | |||
DescribeReservedCacheNodesOfferings | 利用可能なリザーブドキャッシュノードを一覧表示する許可を付与。 | リスト | |||
DescribeServerlessCacheSnapshots | サーバーレスキャッシュスナップショットに関する情報を一覧表示するためのアクセス許可を付与 | リスト | |||
DescribeServerlessCaches | サーバーレスキャッシュを一覧表示するためのアクセス許可を付与 | リスト | |||
DescribeServiceUpdates | サービス更新の詳細を一覧表示する許可を付与。 | リスト | |||
DescribeSnapshots | クラスターまたはレプリケーショングループのスナップショットに関する情報を一覧表示する許可を付与。 | リスト | |||
DescribeUpdateActions | クラスターまたはレプリケーショングループのセットの更新アクションの詳細を一覧表示する許可を付与。 | リスト | |||
DescribeUserGroups | Redis ユーザーグループに関する情報を一覧表示する許可を付与。 | リスト | |||
DescribeUsers | Redis ユーザーに関する情報を一覧表示する許可を付与。 | リスト | |||
DisassociateGlobalReplicationGroup | グローバルレプリケーショングループからセカンダリレプリケーショングループを削除する許可を付与。 | 書き込み | |||
ExportServerlessCacheSnapshot | 特定の時点でのサーバーレスキャッシュのコピーを S3 バケットにエクスポートするためのアクセス許可を付与 | 書き込み |
s3:DeleteObject s3:ListAllMyBuckets s3:PutObject |
||
FailoverGlobalReplicationGroup | グローバルレプリケーショングループで選択したセカンダリリージョンにプライマリリージョンをフェイルオーバーする許可を付与。 | Write | |||
IncreaseNodeGroupsInGlobalReplicationGroup | グローバルレプリケーショングループのノードグループ数を増やすアクセス許可を付与します。 | Write | |||
IncreaseReplicaCount | Redis (クラスターモード無効化) レプリケーショングループのレプリカ数、または Redis (クラスターモード有効化) レプリケーショングループの 1 つ以上のノードグループ (シャード) のレプリカノードの数を増やすアクセス許可を付与します。 | 書き込み |
ec2:CreateNetworkInterface ec2:DeleteNetworkInterface ec2:DescribeNetworkInterfaces ec2:DescribeSubnets ec2:DescribeVpcs |
||
InterruptClusterAzPower [アクセス許可のみ] | ElastiCache リソースの AZ 間電源遮断をテストするためのアクセス許可を付与 | 書き込み | |||
ListAllowedNodeTypeModifications | 特定の Redis クラスターまたはレプリケーショングループのスケーリングに使用できるノードタイプを一覧表示する許可を付与。 | リスト | |||
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 リソースからタグを削除する許可を付与。 | タグ付け | |||
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 ポリシーの Condition
要素で使用できる以下の条件キーを定義します。これらのキーを使用して、ポリシーステートメントが適用される条件をさらに絞り込むことができます。以下の表の列の詳細については、「条件キーテーブル」を参照してください。
すべてのサービスで使用できるグローバル条件キーを確認するには、「使用できるグローバル条件キー」を参照してください。
注記
IAM ポリシーの条件で ElastiCache へのアクセスを制御する方法については、Amazon ElastiCache ユーザーガイドの「ElastiCache キー」を参照してください。
条件キー | 説明 | タイプ |
---|---|---|
aws:RequestTag/${TagKey} | リクエストで渡されたタグに基づいてアクションをフィルタリングします。 | 文字列 |
aws:ResourceTag/${TagKey} | リソースに関連付けられているタグに基づいてアクションをフィルタリングします。 | 文字列 |
aws:TagKeys | リクエストで渡されたタグキーに基づいてアクションをフィルタリングします。 | ArrayOfString |
elasticache:AtRestEncryptionEnabled | リクエストに存在する AtRestEncryptionEnabled パラメータ、またはパラメータが存在しない場合はデフォルト false 値によって、アクセスをフィルタリングします。 | Bool |
elasticache:AuthTokenEnabled | リクエスト内の空でない AuthToken パラメータが存在することでアクセスをフィルタリングします。 | Bool |
elasticache:AutomaticFailoverEnabled | リクエスト内の AutomaticFailoverEnabled パラメータでアクセスをフィルタリングします。 | Bool |
elasticache:CacheNodeType | リクエストに存在する cacheNodeType パラメータでアクセスをフィルタリングします。このキーを使用して、クラスターの作成またはスケーリング操作に使用できるキャッシュノードタイプを制限できます。 | 文字列 |
elasticache:CacheParameterGroupName | リクエスト内の CacheParameterGroupName パラメータでアクセスをフィルタリングします | 文字列 |
elasticache:ClusterModeEnabled | リクエストに存在するクラスターモードのパラメータでアクセスをフィルタリングします。単一ノードグループ (シャード) 作成のデフォルト値は false です。 | Bool |
elasticache:DataStorageUnit | CreateServerlessCache および ModifyServerlessCache リクエスト内の CacheUsageLimits.DataStorage.Unit パラメータでアクセスをフィルタリングします | 文字列 |
elasticache:EngineType | 作成リクエストに存在するエンジンタイプでアクセスをフィルタリングします。レプリケーショングループの作成には、パラメータが存在しない場合、デフォルトのエンジン「redis」がキーとして使用されます | 文字列 |
elasticache:EngineVersion | 作成リクエストまたはクラスター変更リクエストに存在する engineVersion パラメータでアクセスをフィルタリングします。 | 文字列 |
elasticache:KmsKeyId | リクエスト内の KmsKeyId パラメータでアクセスをフィルタリングします。 | 文字列 |
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」がキーとして使用されます | Bool |
elasticache:UserAuthenticationMode | リクエスト内の UserAuthenticationMode パラメータでアクセスをフィルタリングします | 文字列 |