CloudWatch リソースへの許可の管理の概要 - Amazon CloudWatch

CloudWatch リソースへの許可の管理の概要

すべての AWS リソースは AWS アカウント によって所有され、リソースの作成またはアクセスは、アクセス権限のポリシーによって管理されます。アカウント管理者は、アクセス許可ポリシーを IAM アイデンティティ (ユーザー、グループ、ロール)にアタッチできます。一部のサービス(AWS Lambda など) では、アクセス許可ポリシーをリソースにアタッチすることもできます。

注記

アカウント管理者 (または管理者 IAM ユーザー) は、管理者権限を持つユーザーです。詳細については、IAM ユーザーガイドの「IAM ベストプラクティス」を参照してください。

アクセス権限を付与する場合、アクセス権限を取得するユーザー、取得するアクセス権限の対象となるリソース、およびそれらのリソースに対して許可される特定のアクションを決定します。

CloudWatch リソースおよびオペレーション

ポリシーで Amazon リソースネーム (ARN) を使用することで、特定のアラームとダッシュボードへのアクセスを制限できます。詳細については、IAM ユーザーガイドの「Amazon CloudWatch のアクション、リソース、および条件キー」を参照してください。

CloudWatch アクションに対するアクセスをコントロールするポリシーを記述する場合は、リソースとして * (アスタリスク) を使用します。次に例を示します。

{ "Version": "2012-10-17", "Statement":[{ "Effect":"Allow", "Action":["cloudwatch:GetMetricData","cloudwatch:ListMetrics"], "Resource":"*", "Condition":{ "Bool":{ "aws:SecureTransport":"true" } } } ] }

ARN の詳細については、IAM ユーザーガイドの「ARN」を参照してください。CloudWatch Logs ARN の詳細については、Amazon Web Services 全般のリファレンスから Amazon リソースネーム (ARN) と AWS サービスの名前空間を参照してください。CloudWatch アクションを対象とするポリシーの例については、「CloudWatch でのアイデンティティベースのポリシー (IAM ポリシー) の使用」を参照してください。

アクション ARN (リージョンを伴う) ARN (IAM ロールで使用)

Stop

arn:aws:automate:us-east-1:ec2:stop

arn:aws:swf:us-east-1:customer-account:action/actions/AWS_EC2.InstanceId.Stop/1.0

Terminate

arn:aws:automate:us-east-1:ec2:terminate

arn:aws:swf:us-east-1:customer-account:action/actions/AWS_EC2.InstanceId.Terminate/1.0

Reboot

arn:aws:automate:us-east-1:ec2:reboot

arn:aws:swf:us-east-1:customer-account:action/actions/AWS_EC2.InstanceId.Reboot/1.0

Recover

arn:aws:automate:us-east-1:ec2:recover

arn:aws:swf:us-east-1:customer-account:action/actions/AWS_EC2.InstanceId.Recover/1.0

リソース所有権について

AWS アカウントは、誰がリソースを作成したかにかかわらず、アカウントで作成されたリソースを所有します。具体的には、リソース所有者は、リソースの作成リクエストを認証するプリンシパルエンティティ (AWS アカウントルートユーザー、IAM ユーザー、または IAM ロール) の AWS アカウントです。CloudWatch には、所有できるリソースはありません。

リソースへのアクセスの管理

アクセスポリシーでは、誰が何にアクセスできるかを記述します。以下のセクションで、アクセス権限のポリシーを作成するために使用可能なオプションについて説明します。

注記

このセクションでは、CloudWatch のコンテキストでの IAM の使用について説明します。これは、IAM サービスに関する詳細情報を取得できません。IAM に関する詳細なドキュメントについては、「IAM ユーザーガイド」の「What is IAM?」(IAM とは?) を参照してください。IAM ポリシー構文の詳細と説明については、「IAM ユーザーガイド」の「 IAM ポリシーリファレンス」を参照してください。

IAM アイデンティティにアタッチされたポリシーはアイデンティティベースのポリシー (IAM ポリシー) と呼ばれ、リソースにアタッチされたポリシーはリソースベースのポリシーと呼ばれます。CloudWatch では、アイデンティティベースのポリシーのみがサポートされています。

アイデンティティベースのポリシー (IAM ポリシー)

ポリシーを IAM アイデンティティにアタッチできます。たとえば、次の操作を実行できます。

  • アカウントのユーザーまたはグループにアクセス権限ポリシーをアタッチする – メトリクスなどの Amazon CloudWatch リソースを作成するためのアクセス権限を付与するには、ユーザーまたはユーザーが所属するグループにアクセス権限ポリシーをアタッチできます。

  • 許可ポリシーをロールに添付する (クロスアカウントの許可を付与) – アイデンティティベースのアクセス許可ポリシーを IAM ロールにアタッチして、クロスアカウントの許可を付与することができます。例えば、アカウント A の管理者は、次のように別の AWS アカウント (例えば、アカウント B) または AWS のサービス にクロスアカウント許可を付与するロールを作成できます。

    1. アカウント A の管理者は、IAM ロールを作成して、アカウント A のリソースに許可を付与するロールに許可ポリシーをアタッチします。

    2. アカウント A の管理者は、アカウント B をそのロールを引き受けるプリンシパルとして識別するロールに、信頼ポリシーをアタッチします。

    3. アカウント B の管理者は、アカウント B のユーザーにロールを引き受ける許可を委任できるようになります。これにより、アカウント B のユーザーはアカウント A のリソースの作成とアクセスができます。ロールを引き受ける許可を AWS のサービス に付与すると、信頼ポリシー内のプリンシパルも AWS のサービス のプリンシパルとなることができます。

    IAM を使用したアクセス許可の委任の詳細については、IAM ユーザーガイドアクセス管理を参照してください。

CloudWatch でアイデンティティベースのポリシーを使用する方法の詳細については、「CloudWatch でのアイデンティティベースのポリシー (IAM ポリシー) の使用」を参照してください。ユーザー、グループ、ロール、アクセス許可の詳細については、IAM ユーザーガイドの「アイデンティティ (ユーザー、グループ、ロール)」を参照してください。

リソースベースのポリシー (IAM ポリシー)

Amazon S3 などの他のサービスでは、リソースベースのアクセス権限ポリシーもサポートされています。例えば、ポリシーを Amazon S3 バケットにアタッチして、そのバケットに対するアクセス権限を管理できます。CloudWatch では、リソースベースのポリシーはサポートされていません。

ポリシー要素 (アクション、効果、プリンシパル) の指定

サービスは、CloudWatch リソースごとに一連の API オペレーションを定義します。これらの API オペレーションを実行するためのアクセス許可を付与するために、CloudWatch ではポリシーに一連のアクションを定義できます。一部の API オペレーションは、API オペレーションを実行するために複数のアクションに対するアクセス許可を要求できます。リソースおよび API オペレーションに関する詳細については、CloudWatch リソースおよびオペレーション および CloudWatch アクションを参照してください。

以下は、基本的なポリシーの要素です。

  • リソース - Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。CloudWatch には、ポリシーのリソースを使用して制御するためのリソースがないため、IAM ポリシーではワイルドカード文字 (*) を使用します。詳細については、「CloudWatch リソースおよびオペレーション」を参照してください。

  • アクション – アクションのキーワードを使用して、許可または拒否するリソースオペレーションを識別します。たとえば、cloudwatch:ListMetrics 権限は、ListMetrics オペレーションの実行をユーザーに許可します。

  • 効果 – ユーザーが特定のアクションをリクエストする際の効果 (許可または拒否) を指定します。リソースへのアクセスを明示的に許可していない場合、アクセスは暗黙的に拒否されます。また、明示的にリソースへのアクセスを拒否すると、別のポリシーによってアクセスが許可されている場合でも、ユーザーはそのリソースにアクセスできなくなります。

  • プリンシパル - ID ベースのポリシー (IAM ポリシー) で、ポリシーがアタッチされているユーザーが黙示的なプリンシパルとなります。リソースベースのポリシーでは、権限 (リソースベースのポリシーにのみ適用) を受け取りたいユーザー、アカウント、サービス、またはその他のエンティティを指定します。CloudWatch では、リソースベースのポリシーはサポートされていません。

IAM ポリシーの構文と記述の詳細については、IAM ユーザーガイドAWS IAM JSON ポリシーのリファレンスを参照してください。

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

ポリシーでの条件を指定する

アクセス権限を付与するとき、アクセスポリシー言語を使用して、ポリシーが有効になる必要がある条件を指定できます。例えば、特定の日付の後にのみ適用されるポリシーが必要になる場合があります。ポリシー言語での条件の指定の詳細については、「IAM ユーザーガイド」の「条件」を参照してください。

条件を表すには、あらかじめ定義された条件キーを使用します。AWS の各サービスでサポートされるコンテキストキーと AWS 全体のポリシーキーのリストについては、IAM ユーザーガイドAWS サービスのアクション、リソース、条件キーおよびグローバルおよび IAM 条件コンテキストキーを参照してください。