CloudWatch ログでのアイデンティティベースのポリシー (IAM ポリシー) の使用 - Amazon CloudWatch Logs

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

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

重要

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

このトピックでは次の内容について説明します。

以下は、アクセス権限ポリシーの例です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }

このポリシーには、ロググループとログストリームを作成して、ログストリームにログイベントをアップロードし、ログストリームの詳細を一覧表示する権限を付与する 1 つのステートメントがあります。

このステートメントで Resource 値の末尾のワイルドカード文字 (*) は、任意のロググループに対して logs:CreateLogGrouplogs:CreateLogStreamlogs:PutLogEvents、および logs:DescribeLogStreams アクションを実行するためのアクセス権限を付与することを意味します。このアクセス権限を特定のロググループに制限するには、リソース ARN 内のワイルドカード文字 (*) を特定のロググループ ARN に置き換えます。IAM ポリシーステートメント内のセクションの詳細については、IAM ユーザーガイドの「IAM JSON ポリシーの要素のリファレンス」を参照してください。すべての CloudWatch Logs アクションを示すリストについては、「」を参照してくださいCloudWatch Logs アクセス許可リファレンス

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

CloudWatch ユーザーがコンソールで CloudWatch Logs を使用するには、そのユーザーに、アカウント AWS 内の他の AWS リソースを記述できる最小限のアクセス許可が必要です。 CloudWatch コンソールで CloudWatch ログを使用するには、次のサービスからのアクセス許可が必要です。

  • CloudWatch

  • CloudWatch ログ

  • OpenSearch サービス

  • IAM

  • Kinesis

  • Lambda

  • Amazon S3

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

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

CloudWatch コンソールを使用してログサブスクリプションを管理していないユーザーに対してコンソールを操作するために必要なアクセス許可の完全なセットは次のとおりです。

  • cloudwatch:GetMetricData

  • cloudwatch:ListMetrics

  • ログ:CancelExportTask

  • ログ:CreateExportTask

  • ログ:CreateLogGroup

  • ログ:CreateLogStream

  • ログ:DeleteLogGroup

  • ログ:DeleteLogStream

  • ログ:DeleteMetricFilter

  • ログ:DeleteQueryDefinition

  • ログ:DeleteRetentionPolicy

  • ログ:DeleteSubscriptionFilter

  • ログ:DescribeExportTasks

  • ログ:DescribeLogGroups

  • ログ:DescribeLogStreams

  • ログ:DescribeMetricFilters

  • ログ:DescribeQueryDefinitions

  • ログ:DescribeQueries

  • ログ:DescribeSubscriptionFilters

  • ログ:FilterLogEvents

  • ログ:GetLogEvents

  • ログ:GetLogGroupFields

  • ログ:GetLogRecord

  • ログ:GetQueryResults

  • ログ:PutMetricFilter

  • ログ:PutQueryDefinition

  • ログ:PutRetentionPolicy

  • ログ:StartQuery

  • ログ:StopQuery

  • ログ:PutSubscriptionFilter

  • ログ:TestMetricFilter

コンソールを使用してログのサブスクリプションを管理するユーザーには、以下のアクセス許可も必要です。

  • es:DescribeElasticsearchDomain

  • es:ListDomainNames

  • iam:AttachRolePolicy

  • iam:CreateRole

  • iam:GetPolicy

  • iam:GetPolicyVersion

  • iam:GetRole

  • iam:ListAttachedRolePolicies

  • iam:ListRoles

  • Kinesis:DescribeStreams

  • Kinesis:ListStreams

  • Lambda:AddPermission

  • Lambda:CreateFunction

  • Lambda:GetFunctionConfiguration

  • Lambda:ListAliases

  • Lambda:ListFunctions

  • Lambda:ListVersionsByFunction

  • Lambda:RemovePermission

  • s3:ListBuckets

AWS CloudWatch ログの マネージド (事前定義) ポリシー

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

アカウントのユーザーとロールにアタッチできる以下の AWS マネージドポリシーは、 CloudWatch ログに固有のものです。

  • CloudWatchLogsFullAccess – CloudWatch ログへのフルアクセスを許可します。

  • CloudWatchLogsReadOnlyAccess – CloudWatch Logs への読み取り専用アクセスを許可します。

CloudWatchLogsFullAccess

このCloudWatchLogsFullAccessポリシーは、 CloudWatch ログへのフルアクセスを許可します。内容は次のとおりです。

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

CloudWatchLogsReadOnlyAccess

このCloudWatchLogsReadOnlyAccessポリシーは、 CloudWatch ログへの読み取り専用アクセスを許可します。内容は次のとおりです。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:Describe*", "logs:Get*", "logs:List*", "logs:StartQuery", "logs:StopQuery", "logs:TestMetricFilter", "logs:FilterLogEvents", "logs:StartLiveTail", "logs:StopLiveTail" ], "Resource": "*" } ] }

CloudWatchLogsCrossAccountSharingConfiguration

このCloudWatchLogsCrossAccountSharingConfigurationポリシーは、アカウント間で CloudWatch Logs リソースを共有するための Observability Access Manager リンクを作成、管理、および表示するアクセス権を付与します。詳細については、CloudWatch 「クロスアカウントオブザーバビリティ」を参照してください。

内容は次のとおりです。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:Link", "oam:ListLinks" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "oam:DeleteLink", "oam:GetLink", "oam:TagResource" ], "Resource": "arn:aws:oam:*:*:link/*" }, { "Effect": "Allow", "Action": [ "oam:CreateLink", "oam:UpdateLink" ], "Resource": [ "arn:aws:oam:*:*:link/*", "arn:aws:oam:*:*:sink/*" ] } ] }

CloudWatch AWS 管理ポリシーの更新をログに記録します。

CloudWatch ログの AWS マネージドポリシーの更新に関する詳細を、このサービスがこれらの変更の追跡を開始した以降の分について表示します。このページの変更に関する自動通知を入手するには、 CloudWatch 「ログドキュメント履歴」ページの RSS フィードにサブスクライブしてください。

変更 説明 日付

CloudWatchLogsReadOnlyAccess - 既存ポリシーへの更新

CloudWatch ログは にアクセス許可を追加しましたCloudWatchLogsReadOnlyAccess

このポリシーを持つユーザーがコンソールを使用して CloudWatch Logs ライブテールセッションを開始および停止できるように、 logs:StartLiveTailおよび アクセスlogs:StopLiveTail許可が追加されました。詳細については、「ライブテールを使用してほぼリアルタイムでログを表示する」を参照してください。

2023 年 6 月 6 日

CloudWatchLogsCrossAccountSharingConfiguration - 新しいポリシー

CloudWatch Logs に、 CloudWatch ロググループを共有する CloudWatch クロスアカウントオブザーバビリティリンクを管理できるようにする新しいポリシーが追加されました。

詳細については、CloudWatch 「クロスアカウントオブザーバビリティ」を参照してください。

2022 年 11 月 27 日

CloudWatchLogsFullAccess – 既存ポリシーへの更新

CloudWatch ログは にアクセス許可を追加しましたCloudWatchLogsFullAccess

このポリシーを持つユーザーが コンソールを使用して、ソースアカウントから共有されたデータを CloudWatch クロスアカウントオブザーバビリティで表示できるように、 oam:ListSinksおよび アクセスoam:ListAttachedLinks許可が追加されました。

2022 年 11 月 27 日

CloudWatchLogsReadOnlyAccess – 既存ポリシーへの更新

CloudWatch ログは にアクセス許可を追加しましたCloudWatchLogsReadOnlyAccess

このポリシーを持つユーザーが コンソールを使用して、ソースアカウントから共有されたデータを CloudWatch クロスアカウントオブザーバビリティで表示できるように、 oam:ListSinksおよび アクセスoam:ListAttachedLinks許可が追加されました。

2022 年 11 月 27 日

カスタマーマネージドポリシーの例

独自のカスタム IAM ポリシーを作成して、 CloudWatch Logs アクションとリソースへのアクセス許可を付与できます。こうしたカスタムポリシーは、該当するアクセス許可が必要なユーザーまたはグループにアタッチできます。

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

例 1: CloudWatch ログへのフルアクセスを許可する

次のポリシーでは、すべての CloudWatch Logs アクションへのアクセスをユーザーに許可します。

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

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

AWS には、 CloudWatch ログデータへの読み取り専用アクセスを有効にするCloudWatchLogsReadOnlyAccessポリシーが用意されています。このポリシーには、以下のアクセス許可が含まれています。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:Describe*", "logs:Get*", "logs:List*", "logs:StartQuery", "logs:StopQuery", "logs:TestMetricFilter", "logs:FilterLogEvents", "logs:StartLiveTail", "logs:StopLiveTail" ], "Effect": "Allow", "Resource": "*" } ] }

例 3: 1 つのロググループへのアクセスを許可する

次のポリシーでは、指定した 1 つのロググループのログイベントの読み取りと書き込みをユーザーに許可します。

重要

Resource 行のロググループ名の末尾にある :* は、ポリシーがこのロググループのすべてのログストリームに適用されることを示すために必要です。:* を省略すると、ポリシーは適用されません。

{ "Version":"2012-10-17", "Statement":[ { "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:GetLogEvents" ], "Effect": "Allow", "Resource": "arn:aws:logs:us-west-2:123456789012:log-group:SampleLogGroupName:*" } ] }

ロググループレベルでのコントロールのためにタグ付けと IAM ポリシーを使用する

他のロググループへのアクセスを防止しながら、特定のロググループへのアクセスをユーザーに許可することができます。これを行うには、ロググループにタグを付け、IAM ポリシーを使用してそれらのタグを参照します。タグをロググループに適用するには、logs:TagResource または logs:TagLogGroup のアクセス許可が必要です。これは、作成時にロググループにタグを割り当てる場合と、後で割り当てる場合の両方に当てはまります。

ロググループのタグ付けの詳細については、「Amazon CloudWatch Logs のロググループにタグを付ける」を参照してください。

ロググループにタグを付けるときは、特定のタグを持つロググループのみにアクセスを許可する IAM ポリシーをユーザーに付与できます。たとえば、以下のポリシーステートメントでは、タグキー Green の値が Team のロググループにのみアクセス権が付与されます。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:*" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringLike": { "aws:ResourceTag/Team": "Green" } } } ] }

StopQuery および StopLiveTail API オペレーションは、従来の意味では AWS リソースとやり取りしません。何らかの方法でデータを返したり、データを入力したり、リソースを変更したりすることはありません。代わりに、特定のライブテールセッションまたは特定の CloudWatch Logs Insights クエリでのみ動作し、リソースとして分類されません。そのため、これらの操作の IAM ポリシーで Resource フィールドを指定するとき、次の例のように、Resource フィールドの値を * として設定する必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:StopQuery", "logs:StopLiveTail" ], "Resource": "*" } ] }

IAM ポリシーステートメントの詳細については、『IAM ユーザーガイド』の「ポリシーを使用したアクセス制御」を参照してください。