Amazon CloudWatch
ユーザーガイド

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

このトピックでは、アカウント管理者が IAM ID (ユーザー、グループ、ロール) にアクセス許可ポリシーをアタッチし、それによって CloudWatch リソースでオペレーションを実行するアクセス許可を付与する方法を示すアイデンティティベースのポリシーの例を示します。

重要

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

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

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

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

このサンプルポリシーには、グループがリクエストに SSL を使用する場合のみ ("aws:SecureTransport":"true")、2 つの CloudWatch アクション (cloudwatch:GetMetricStatisticsdata および cloudwatch:ListMetrics) のグループにアクセス許可を付与する 1 つのステートメントがあります。IAM ポリシーステートメント内のエレメントの詳細については、IAM ユーザーガイド の「ポリシー要素の指定 : アクション、効果、プリンシパル」および「IAM ポリシーエレメントリファレンス」を参照してください。

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

CloudWatch コンソールを使用して作業するユーザーの場合、そのユーザーは、他の AWS リソースを AWS アカウントで記述できる、最小限のアクセス権限を持っている必要があります。CloudWatch コンソールでは次のサービスからのアクセス許可が必要になります。

  • Amazon EC2 Auto Scaling

  • CloudTrail

  • CloudWatch

  • CloudWatch イベント

  • CloudWatch Logs

  • Amazon EC2

  • Amazon ES

  • IAM

  • Kinesis

  • Lambda

  • Amazon S3

  • Amazon SNS

  • Amazon SQS

  • Amazon SWF

これらの最小限必要なアクセス権限よりも制限された IAMIAM ポリシーを作成している場合、その IAM ポリシーを使用するユーザーに対してコンソールは意図したとおりには機能しません。「CloudWatch での AWS 管理 (事前定義) ポリシー」で説明されているとおり、ユーザーが CloudWatch コンソールを使用できること、および、CloudWatchReadOnlyAccess 管理対象ポリシーがユーザーにアタッチされていることを確認してください。

AWS CLI または CloudWatch API のみを呼び出すユーザーには、最小限のコンソールアクセス権限を付与する必要はありません。

CloudWatch コンソールを使用して作業するのに必要なフルセットのアクセス許可は以下に記載されています。

  • application-autoscaling:DescribeScalingPolicies

  • autoscaling:DescribeAutoScalingGroups

  • autoscaling:DescribePolicies

  • cloudtrail:DescribeTrails

  • cloudwatch:DeleteAlarms

  • cloudwatch:DescribeAlarmHistory

  • cloudwatch:DescribeAlarms

  • cloudwatch:GetMetricData

  • cloudwatch:GetMetricStatistics

  • cloudwatch:ListMetrics

  • cloudwatch:PutMetricAlarm

  • cloudwatch:PutMetricData

  • ec2:DescribeInstances

  • ec2:DescribeTags

  • ec2:DescribeVolumes

  • es:DescribeElasticsearchDomain

  • es:ListDomainNames

  • events:DeleteRule

  • events:DescribeRule

  • events:DisableRule

  • events:EnableRule

  • events:ListRules

  • events:PutRule

  • iam:AttachRolePolicy

  • iam:CreateRole

  • iam:GetPolicy

  • iam:GetPolicyVersion

  • iam:GetRole

  • iam:ListAttachedRolePolicies

  • iam:ListRoles

  • kinesis:DescribeStream

  • kinesis:ListStreams

  • lambda:AddPermission

  • lambda:CreateFunction

  • lambda:GetFunctionConfiguration

  • lambda:ListAliases

  • lambda:ListFunctions

  • lambda:ListVersionsByFunction

  • lambda:RemovePermission

  • logs:CancelExportTask

  • logs:CreateExportTask

  • logs:CreateLogGroup

  • logs:CreateLogStream

  • logs:DeleteLogGroup

  • logs:DeleteLogStream

  • logs:DeleteMetricFilter

  • logs:DeleteRetentionPolicy

  • logs:DeleteSubscriptionFilter

  • logs:DescribeExportTasks

  • logs:DescribeLogGroups

  • logs:DescribeLogStreams

  • logs:DescribeMetricFilters

  • logs:DescribeSubscriptionFilters

  • logs:FilterLogEvents

  • logs:GetLogEvents

  • logs:PutMetricFilter

  • logs:PutRetentionPolicy

  • logs:PutSubscriptionFilter

  • logs:TestMetricFilter

  • s3:CreateBucket

  • s3:ListBucket

  • sns:CreateTopic

  • sns:GetTopicAttributes

  • sns:ListSubscriptions

  • sns:ListTopics

  • sns:SetTopicAttributes

  • sns:Subscribe

  • sns:Unsubscribe

  • sqs:GetQueueAttributes

  • sqs:GetQueueUrl

  • sqs:ListQueues

  • sqs:SetQueueAttributes

  • swf:CreateAction

  • swf:DescribeAction

  • swf:ListActionTemplates

  • swf:RegisterAction

  • swf:RegisterDomain

  • swf:UpdateAction

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

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

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

  • CloudWatchFullAccess – CloudWatch へのフルアクセスを付与します。

  • CloudWatchReadOnlyAccess – CloudWatch への読み取り専用アクセスを付与します。

  • CloudWatchActionsEC2Access– CloudWatch アラーム、メトリクスおよび Amazon EC2 メタデータへの読み取り専用アクセスを付与します。EC2 インスタンス用の API アクションの停止、終了、再起動へのアクセス権を付与します。

注記

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

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

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

このセクションでは、さまざまな CloudWatch アクションのアクセス権限を付与するユーザーポリシー例を示しています。これらのポリシーは、CloudWatch API、AWS SDK、または AWS CLI を使用しているときに機能します。

例 1: ユーザーに CloudWatch への完全アクセスを許可する

次のポリシーでは、ユーザーにすべての CloudWatch アクション、CloudWatch Logs アクション、Amazon SNS アクションへのアクセス、および Amazon EC2 Auto Scaling への読み取り専用アクセスを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "autoscaling:Describe*", "cloudwatch:*", "logs:*", "sns:*" ], "Effect": "Allow", "Resource": "*" } ] }

例 2: CloudWatch への読み取り専用アクセスを許可する

次のポリシーはユーザーに CloudWatch への読み取り専用アクセス、および、Amazon EC2 Auto Scaling アクション、CloudWatch メトリクス、CloudWatch Logs データとアラーム関連の Amazon SNS データの表示を許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "autoscaling:Describe*", "cloudwatch:Describe*", "cloudwatch:Get*", "cloudwatch:List*", "logs:Get*", "logs:Describe*", "sns:Get*", "sns:List*" ], "Effect": "Allow", "Resource": "*" } ] }

例 3: Amazon EC2 インスタンスを停止、または終了する

以下のポリシーは、CloudWatch アラームアクションにより EC2 インスタンスの停止または終了を許可します。下の例では、GetMetricStatistics、ListMetrics、DescribeAlarms アクションはオプションです。これらのアクションを含めて、インスタンスが正常に停止または終了したことを確認することをお勧めします。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:PutMetricAlarm", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "cloudwatch:DescribeAlarms" ], "Sid": "00000000000000", "Resource": [ "*" ], "Effect": "Allow" }, { "Action": [ "ec2:DescribeInstanceStatus", "ec2:DescribeInstances", "ec2:StopInstances", "ec2:TerminateInstances" ], "Sid": "00000000000000", "Resource": [ "*" ], "Effect": "Allow" } ] }