メニュー
Amazon ElastiCache
ユーザーガイド (API Version 2015-02-02)

Amazon ElastiCache でアイデンティティベースのポリシー (IAM ポリシー) を使用する

このトピックでは、アカウント管理者が識別 IAM アイデンティティ (ユーザー、グループ、ロール) へのアクセス権限ポリシーをアタッチする、アイデンティティベースのポリシーの例を示します。

重要

初めに、Amazon ElastiCache リソースへのアクセスを管理するための基本概念と使用可能なオプションについて説明する概要トピックを読むことをお勧めします。詳細については、「ElastiCache リソースへのアクセス権限の管理の概要」を参照してください。

このセクションでは、次のトピックを対象としています。

以下に示しているのは、アクセス権限ポリシーの例です。

Copy
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowClusterPermissions", "Effect": "Allow", "Action": [ "elasticache:CreateCacheCluster", "elasticache:CreateReplicationGroup", "elasticache:DescribeCacheClusters", "elasticache:ModifyCacheCluster", "elasticache:RebootCacheCluster"], "Resource": "*" } ] }

このポリシーには以下の 2 つのステートメントがあります。

  • 最初のステートメントは、アカウントが所有するキャッシュクラスターに対して Amazon ElastiCache アクション (elasticache:CreateCacheClusterelasticache:DescribeCacheClusterselasticache:ModifyCacheClusterelasticache:RebootCacheCluster) を実行するためのアクセス権限を付与します。現在、Amazon ElastiCache では、リソースレベルでのアクションを実行するためのアクセス権限はサポートされていません。したがって、ポリシーでは Resource の値としてワイルドカード文字 (*) を指定します。

  • 2 番目のステートメントは、IAM ロールに対して IAM アクション (iam:PassRole) を実行するためのアクセス権限を付与します。このステートメントで Resource 値の末尾のワイルドカード文字 (*) は、任意の IAM ロールに対して iam:PassRole アクションを実行するためのアクセス権限を付与することを意味します。このアクセス権限を特定のロールに制限するには、リソース ARN 内のワイルドカード文字 (*) を特定のロール名に置き換えます。

アイデンティティベースのポリシーでアクセス権限を得るプリンシパルを指定していないため、ポリシーでは Principal 要素を指定していません。ユーザーにポリシーをアタッチすると、そのユーザーが暗黙のプリンシパルになります。IAM ロールにアクセス権限ポリシーをアタッチすると、ロールの信頼ポリシーで識別されたプリンシパルがアクセス権限を得ることになります。

すべての Amazon ElastiCache API アクションとそれらが適用されるリソースの表については、「ElastiCache API のアクセス権限: アクション、リソース、条件リファレンス」を参照してください。

Amazon ElastiCache コンソールを使用するために必要なアクセス権限

アクセス権限のリファレンス表では、Amazon ElastiCache API オペレーションとそれらの各オペレーションに必要なアクセス権限を示しています。ElastiCache API オペレーションの詳細については、「ElastiCache API のアクセス権限: アクション、リソース、条件リファレンス」を参照してください。

Amazon ElastiCache コンソールを使用するには、以下のアクセス権限ポリシーに示しているように、追加のアクションのためのアクセス権限を付与する必要があります。

Copy
{ "Version": "2012-10-17", "Statement": [{ "Sid": "MinPermsForECConsole", "Effect": "Allow", "Action": [ "elasticache:Describe*", "elasticache:List*", "ec2:DescribeAvailabilityZones", "ec2:DescribeVpcs", "ec2:DescribeAccountAttributes", "ec2:DescribeSecurityGroups", "cloudwatch:GetMetricStatistics", "cloudwatch:DescribeAlarms", "s3:ListAllMyBuckets", "sns:ListTopics", "sns:ListSubscriptions" ], "Resource": "*" } ] }

ElastiCache コンソールには、以下の理由でこれらの追加のアクセス権限が必要になります。

  • ElastiCache アクションを実行するためのアクセス権限。コンソールで、アカウントの ElastiCache リソースを表示するために必要です。

  • Amazon EC2 に対してクエリを行う ec2 アクションを実行するためのアクセス権限。コンソールで、アベイラビリティーゾーン、VPC、セキュリティグループ、アカウント属性を表示するために必要です。

  • cloudwatch アクションを実行するためのアクセス権限。コンソールで、Amazon CloudWatch メトリクスとアラームを取得し、表示するために必要です。

  • sns アクションを実行するためのアクセス権限。コンソールで、Amazon Simple Notification Service (Amazon SNS) トピックとサブスクリプションを取得し、表示するために必要です。

Amazon ElastiCache での AWS 管理 (事前定義) ポリシー

AWS は、AWS によって作成され管理されるスタンドアロンの IAM ポリシーが提供する多くの一般的ユースケースに対応します。管理ポリシーは、一般的ユースケースに必要なアクセス権限を付与することで、どの権限が必要なのかをユーザーが調査する必要をなくすることができます。詳細については、IAM ユーザーガイド の「AWS 管理ポリシー」を参照してください。

アカウントのユーザーにアタッチ可能な以下の AWS 管理ポリシーは、ElastiCache に固有のものです。

  • AmazonElastiCacheReadOnlyAccess - Amazon ElastiCache リソースへの読み取り専用アクセスを許可します。

  • AmazonElastiCacheFullAccess - Amazon ElastiCache リソースへのフルアクセスを許可します。

注記

IAM コンソールにサインインし、特定のポリシーを検索することで、これらのアクセス権限ポリシーを確認することができます。

独自のカスタム IAM ポリシーを作成して、Amazon ElastiCache API アクションにアクセス権限を付与することもできます。これらのカスタムポリシーは、それらのアクセス権限が必要な IAM ユーザーまたはグループにアタッチできます。

お客様が管理するポリシーの例

Amazon ElastiCache コンソールを使用するために必要な最小限のアクセス権限と組み合わせて、このセクションでのポリシーの例は、追加のアクセス権限を付与します。この例は、AWS SDK と AWS CLI に関連しています。ElastiCache コンソールを使用するために必要なアクセス権限の詳細については、「Amazon ElastiCache コンソールを使用するために必要なアクセス権限」を参照してください。

IAM ユーザーとグループを設定する手順については、『IAM ユーザーガイド』の「最初の IAM ユーザーと管理者グループの作成」を参照してください。

重要

IAM ポリシーは必ず、本稼働環境での使用前にテストしてください。ElastiCache のアクションによっては、シンプルに見えても、ElastiCache コンソールの使用時にそれらのアクションをサポートするために、他のアクションが必要になる場合があります。たとえば、elasticache:CreateCacheCluster は、ElastiCache キャッシュクラスターを作成するためのアクセス権限を付与します。ただし、このオペレーションを実行するために、ElastiCache コンソールでは DescribeList の多数のアクションが使用されて、リストが事前設定されます。また、レプリケーションが有効な Redis キャッシュクラスターをユーザーが作成する必要がある場合は、elasticache:CreateReplicationGroup アクションを実行するためのアクセス権限もユーザーに付与する必要があります。

例 1: ユーザーにセキュリティグループの作成と管理を許可する

以下のポリシーでは、セキュリティグループの特定の ElastiCache アクションを実行するためのアクセス権限を付与します。通常、このタイプのアクセス権限ポリシーはシステム管理者グループにアタッチします。

Copy
{ "Version": "2012-10-17", "Statement":[{ "Sid": "SecGrpAllows", "Effect":"Allow", "Action":[ "elasticache:CreateCacheSecurityGroup", "elasticache:DeleteCacheSecurityGroup", "elasticache:DescribeCacheSecurityGroup", "elasticache:AuthorizeCacheSecurityGroupIngress", "elasticache:RevokeCacheSecurityGroupIngress"], "Resource":"*" } ] }

例 2: ユーザーに ElastiCache リソースへの読み取り専用アクセスを許可する

以下のポリシーでは、リソースを一覧表示する ElastiCache アクションを実行するためのアクセス権限をユーザーに付与します。通常、このタイプのアクセス権限ポリシーは管理者グループにアタッチします。

Copy
{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECUnrestricted", "Effect":"Allow", "Action": [ "elasticache:Describe*", "elasticache:List*"], "Resource":"*" } ] }

例 3: ユーザーに一般的な ElastiCache システム管理者タスクの実行を許可する

一般的なシステム管理者タスクには、キャッシュクラスター、パラメータ、パラメータグループの変更が含まれます。システム管理者は ElastiCache イベントに関する情報を取得することが必要になる場合もあります。以下のポリシーでは、これらの一般的なシステム管理タスクに必要な ElastiCache アクションを実行するためのアクセス権限をユーザーに付与します。通常、このタイプのアクセス権限ポリシーはシステム管理者グループにアタッチします。

Copy
{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECAllowSpecific", "Effect":"Allow", "Action":[ "elasticache:ModifyCacheCluster", "elasticache:RebootCacheCluster", "elasticache:DescribeCacheClusters", "elasticache:DescribeEvents", "elasticache:ModifyCacheParameterGroup", "elasticache:DescribeCacheParameterGroups", "elasticache:DescribeCacheParameters", "elasticache:ResetCacheParameterGroup", "elasticache:DescribeEngineDefaultParameters"], "Resource":"*" } ] }

例 4: ユーザーにすべての ElastiCache API アクションへのアクセスを許可する

以下のポリシーでは、ユーザーにすべての ElastiCache アクションへのアクセスを許可します。このタイプのアクセス権限ポリシーは管理者ユーザーにのみ付与することをお勧めします。

Copy
{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECAllowSpecific", "Effect":"Allow", "Action":[ "elasticache:*" ], "Resource":"*" } ] }