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

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

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

アクセス権限を付与するにはユーザー、グループ、またはロールにアクセス許可を追加します。

CloudWatch Logs がリソースとオペレーションをログに記録する

CloudWatch Logs では、プライマリリソースはロググループ、ログストリーム、送信先です。CloudWatch Logs はサブリソース (プライマリリソースと使用する他のリソース) をサポートしていません。

これらのリソースとサブリソースには、次の表に示すとおり、一意の Amazon リソースネーム (ARN) が関連付けられています。

リソースタイプ ARN 形式

ロググループ

次の 2 つの形式が使用されます。末尾に :* が付いている 2 つ目の方は、describe-log-groups CLI コマンドと [DescribeLogGroups] API によって返される形式です。

arn:aws:logs:region:account-id:log-group:log_group_name

arn:aws:logs:region:account-id:log-group:log_group_name:*

次の状況では、末尾に :* がない最初のバージョンを使用します。

  • CloudWatch Logs APIslogGroupIdentifierの入力フィールド。

  • タグ付け API の resourceArn フィールド

  • IAM ポリシーで、TagResourceUntagResource、および ListTagsForResource のアクセス許可を指定する場合。

他のすべての API アクションの IAM ポリシーでアクセス許可を指定するときは、末尾に :* がある 2 番目のバージョンを使用して ARN を参照します。

ログストリーム

arn:aws:logs:region:account-id:log-group:log_group_name:log-stream:log-stream-name

送信先

arn:aws:logs:region:account-id:destination:destination_name

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

CloudWatch Logs には、CloudWatch Logs リソースを操作するための一連のオペレーションが用意されています。使用可能なオペレーションのリストについては、「CloudWatch Logs の許可リファレンス」を参照してください。

リソース所有権についての理解

AWS アカウントは、リソースを作成したユーザーに関係なく、アカウントで作成されたリソースを所有します。具体的には、リソース所有者は、リソース作成リクエストを認証するプリンシパルエンティティ (ルートアカウント、ユーザー、または IAM ロール) の AWS アカウントです。次の例は、この仕組みを示しています。

  • AWS アカウントのルートアカウントの認証情報を使用してロググループを作成する場合、 AWS アカウントは CloudWatch Logs リソースの所有者です。

  • AWS アカウントにユーザーを作成し、そのユーザーに CloudWatch Logs リソースを作成するアクセス許可を付与すると、そのユーザーは CloudWatch Logs リソースを作成できます。ただし、ユーザーが属する AWS アカウントは CloudWatch Logs リソースを所有します。

  • CloudWatch Logs リソースを作成するアクセス許可を持つ AWS IAM ロールをアカウントに作成する場合、ロールを引き受けることができるすべてのユーザーが CloudWatch Logs リソースを作成できます。ロールが属する AWS アカウントは、CloudWatch Logs リソースを所有します。

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

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

注記

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

IAM アイデンティティにアタッチされたポリシーはアイデンティティベースのポリシー (IAM ポリシー) と呼ばれ、リソースにアタッチされたポリシーはリソースベースのポリシーと呼ばれます。CloudWatch Logs はアイデンティティベースのポリシー、およびクロスアカウントのサブスクリプションを有効にするために使用する、送信先のリソースベースのポリシーをサポートします。詳細については、「クロスアカウント、クロスリージョンのサブスクリプション」を参照してください。

ロググループの許可と Contributor Insights

Contributor Insights は、ロググループのデータを分析し、コントリビューターデータを表示する時系列を作成できる CloudWatch の機能です。トップ N コントリビューター、一意のコントリビューターの合計数、およびそれらの使用状況に関するメトリクスを確認できます。詳細については、「Contributor Insights を使用した高カーディナリティデータの分析」を参照してください。

ユーザーに cloudwatch:PutInsightRulecloudwatch:GetInsightRuleReport アクセス許可を付与すると、そのユーザーは CloudWatch Logs でロググループを評価し、その結果を参照するルールを作成できます。結果には、これらのロググループのコントリビューターデータを含めることができます。これらのアクセス許可は、このデータを表示できるように設定したいユーザーのみに付与してください。

リソースベースのポリシー

CloudWatch Logs は、クロスアカウントのサブスクリプションを有効にするために使用する、送信先のリソースベースのポリシーをサポートします。詳細については、「ステップ 1: 送信先を作成する」を参照してください。送信先は PutDestination API を使用して作成でき、PutDestinationPolicy API を使用して、送信先にリソースポリシーを追加できます。次の例では、アカウント ID 111122223333 の他の AWS アカウントが、送信先 arn:aws:logs:us-east-1:123456789012:destination:testDestination にロググループをサブスクライブできるようにします。

{ "Version" : "2012-10-17", "Statement" : [ { "Sid" : "", "Effect" : "Allow", "Principal" : { "AWS" : "111122223333" }, "Action" : "logs:PutSubscriptionFilter", "Resource" : "arn:aws:logs:us-east-1:123456789012:destination:testDestination" } ] }

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

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

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

  • リソース - Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。詳細については、「CloudWatch Logs がリソースとオペレーションをログに記録する」を参照してください。

  • [Action] (アクション) - アクションのキーワードを使用して、許可または拒否するリソースオペレーションを識別します。たとえば、logs.DescribeLogGroups 権限は、DescribeLogGroups オペレーションの実行をユーザーに許可します。

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

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

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

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

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

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

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

注記

ロググループや送信先などの CloudWatch Logs のリソースへのアクセスを制御するには、タグを使用します。ロググループとログストリームの間には階層的な関係があるため、ログストリームへのアクセスはロググループレベルで制御されます。リソースへのアクセスを制御するタグの使用の詳細については、タグを使用した Amazon Web Services のリソースへのアクセスの制御を参照してください。