CloudWatch Logs書き込みのIAMポリシー

サービスやアプリケーションがロググループ、ログストリームの作成、CloudWatch Logsへのログイベントのプッシュを許可するIAMポリシーを作成します。

Monitoring & Logging

詳細な説明

CloudWatch Logs書き込みポリシー

ほぼすべてのAWSワークロードはCloudWatchにログを書き込む必要があります。Lambda実行ロール、ECSタスク実行ロール、EC2インスタンスプロファイル、カスタムアプリケーションすべてにこのポリシーが必要です。

ポリシーJSON

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowCloudWatchLogsWrite",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
      ],
      "Resource": [
        "arn:aws:logs:us-east-1:123456789012:log-group:/myapp/*",
        "arn:aws:logs:us-east-1:123456789012:log-group:/myapp/*:*"
      ]
    }
  ]
}

リソースARNパターン

CloudWatch Logsは2レベルのARN構造を使用します:

  • ロググループレベル: CreateLogGroupDescribeLogGroupsに必要。
  • ログストリームレベル: ARNの:*サフィックスでロググループ内のすべてのログストリームに一致。CreateLogStreamPutLogEventsに必要。

アプリケーションによるスコープ

ロググループ名のプレフィックス(/myapp/など)を使用して権限をスコープします。これにより、サービスが他のアプリケーションのロググループに書き込むことを防ぎます。

ユースケース

集中的なモニタリング、アラート、分析のためにCloudWatchに構造化ログを送信するLambda関数、ECSサービス、EC2アプリケーション、カスタムワークロード。

試してみる — AWS IAM Policy Generator

フルツールを開く