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構造を使用します:
- ロググループレベル:
CreateLogGroupとDescribeLogGroupsに必要。 - ログストリームレベル: ARNの
:*サフィックスでロググループ内のすべてのログストリームに一致。CreateLogStreamとPutLogEventsに必要。
アプリケーションによるスコープ
ロググループ名のプレフィックス(/myapp/など)を使用して権限をスコープします。これにより、サービスが他のアプリケーションのロググループに書き込むことを防ぎます。
ユースケース
集中的なモニタリング、アラート、分析のためにCloudWatchに構造化ログを送信するLambda関数、ECSサービス、EC2アプリケーション、カスタムワークロード。