翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon ElastiCache でのアイデンティティベースのポリシー (IAM ポリシー) の使用
このトピックでは、アカウント管理者が IAM ID (ユーザー、グループ、ロール) へのアクセス許可ポリシーをアタッチする、ID ベースのポリシーの例を示します。
重要
最初に、Amazon ElastiCache リソースへのアクセスを管理するための基本的な概念とオプションについて説明するトピックを読むことをお勧めします。詳細については、「 ElastiCache リソースへのアクセス許可の管理の概要」を参照してください。
このセクションでは、次のトピックを対象としています。
以下に、Redis OSS を使用する場合のアクセス許可ポリシーの例を示します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowClusterPermissions", "Effect": "Allow", "Action": [ "elasticache:CreateServerlessCache", "elasticache:CreateCacheCluster", "elasticache:DescribeServerlessCaches", "elasticache:DescribeReplicationGroups", "elasticache:DescribeCacheClusters", "elasticache:ModifyServerlessCache", "elasticache:ModifyReplicationGroup", "elasticache:ModifyCacheCluster" ], "Resource": "*" }, { "Sid": "AllowUserToPassRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/EC2-roles-for-cluster" } ] }
以下に、Memcached を使用する場合のアクセス許可ポリシーの例を示します。
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowClusterPermissions", "Effect": "Allow", "Action": [ "elasticache:CreateServerlessCache", "elasticache:CreateCacheCluster", "elasticache:DescribeServerlessCaches", "elasticache:DescribeCacheClusters", "elasticache:ModifyServerlessCache", "elasticache:ModifyCacheCluster" ], "Resource": "*" }, { "Sid": "AllowUserToPassRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/EC2-roles-for-cluster" } ] }
このポリシーには以下の 2 つのステートメントがあります。
-
最初のステートメントは、Amazon ElastiCache アクション (
elasticache:Create*
、elasticache:Describe*
、elasticache:Modify*
) のアクセス許可を付与します。 -
2 番目のステートメントは、
Resource
値の最後に指定した IAM ロール名での IAM アクションiam:PassRole
のアクセス許可を付与します。
ID ベースのポリシーでアクセス許可を得るプリンシパルを指定していないため、ポリシーでは Principal
要素を指定していません。ユーザーにポリシーをアタッチすると、そのユーザーが暗黙のプリンシパルになります。IAM ロールにアクセス権限ポリシーをアタッチすると、ロールの信頼ポリシーで識別されたプリンシパルがアクセス権限を得ることになります。
すべての Amazon ElastiCache API アクションとそれらが適用されるリソースの表については、「ElastiCache API のアクセス許可: アクション、リソース、条件リファレンス」を参照してください。
カスタマーマネージドポリシーの例
デフォルトポリシーを使用せず、カスタム管理ポリシーを使用することを選択した場合は、以下の 2 点のいずれかを確認してください。iam:createServiceLinkedRole
を呼び出すためのアクセス許可があることが必要です (詳細については、「例 4: ユーザーが IAM CreateServiceLinkedRole API を呼び出すことを許可する」を参照)。または、ElastiCache サービスにリンクされたロールを作成済みであることが必要です。
Amazon ElastiCache コンソールを使用するために必要な最小限のアクセス権限と組み合わせて、このセクションでのポリシーの例は、追加のアクセス権限を付与します。この例は、AWS SDK と AWS CLI に関連しています。
IAM ユーザーおよびグループのセットアップ手順については、IAM ユーザーガイドの「最初の IAM ユーザーおよび管理者グループの作成」を参照してください。
重要
IAM ポリシーは必ず、本稼働環境での使用前にテストしてください。ElastiCache のアクションによっては、シンプルに見えても、ElastiCache コンソールの使用時にそれらのアクションをサポートするために、他のアクションが必要になる場合があります。たとえば、elasticache:CreateCacheCluster
は、ElastiCache キャッシュクラスターを作成するためのアクセス許可を付与します。ただし、このオペレーションを実行するために、ElastiCache コンソールでは Describe
と List
の多数のアクションが使用されて、リストが事前設定されます。
例
例 1: ユーザーに ElastiCache リソースへの読み取り専用アクセスを許可する
以下のポリシーでは、リソースを一覧表示する ElastiCache アクションを実行するためのアクセス許可をユーザーに付与します。通常、このタイプのアクセス権限ポリシーは管理者グループにアタッチします。
{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECReadOnly", "Effect":"Allow", "Action": [ "elasticache:Describe*", "elasticache:List*"], "Resource":"*" } ] }
例 2: ユーザーに一般的な ElastiCache システム管理者タスクの実行を許可する
一般的なシステム管理者タスクには、リソースの変更が含まれます。システム管理者は ElastiCache イベントに関する情報を取得することが必要になる場合もあります。以下のポリシーでは、これらの一般的なシステム管理タスクに必要な ElastiCache アクションを実行するためのアクセス権限をユーザーに付与します。通常、このタイプのアクセス権限ポリシーはシステム管理者グループにアタッチします。
{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECAllowMutations", "Effect":"Allow", "Action":[ "elasticache:Modify*", "elasticache:Describe*", "elasticache:ResetCacheParameterGroup" ], "Resource":"*" } ] }
例 3: ユーザーにすべての ElastiCache API アクションへのアクセスを許可する
以下のポリシーでは、ユーザーにすべての ElastiCache アクションへのアクセスを許可します。このタイプのアクセス権限ポリシーは管理者ユーザーにのみ付与することをお勧めします。
{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECAllowAll", "Effect":"Allow", "Action":[ "elasticache:*" ], "Resource":"*" } ] }
例 4: ユーザーが IAM CreateServiceLinkedRole API を呼び出すことを許可する
次のポリシーでは、ユーザーが IAM CreateServiceLinkedRole
API を呼び出すことを許可します。mutative ElastiCache オペレーションを実行するユーザーには、このタイプのアクセス許可ポリシーを与えることをお勧めします。
{ "Version":"2012-10-17", "Statement":[ { "Sid":"CreateSLRAllows", "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:AWSServiceName":"elasticache.amazonaws.com" } } } ] }
例 5: ユーザーが IAM 認証を使用してサーバーレスキャッシュに接続することを許可する
次のポリシーでは、どのユーザーにも、IAM 認証を使用して 2023 年 4 月 1 日 から 2023 年 6 月 30 日 までのサーバーレスキャッシュに接続することを許可します。
{ "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : ["elasticache:Connect"], "Resource" : [ "arn:aws:elasticache:us-east-1:123456789012:serverlesscache:*" ], "Condition": { "DateGreaterThan": {"aws:CurrentTime": "2023-04-01T00:00:00Z"}, "DateLessThan": {"aws:CurrentTime": "2023-06-30T23:59:59Z"} } }, { "Effect" : "Allow", "Action" : ["elasticache:Connect"], "Resource" : [ "arn:aws:elasticache:us-east-1:123456789012:user:*" ] } ] }