説明
CloudWatch Logs は、保存するログデータを既定で暗号化します。kms_key_id の省略は、ログが平文で保存されることを意味しません。ただし、カスタマー管理 KMS キーが必要な環境では、既定の暗号化だけでは組織のキーポリシーやライフサイクル管理の要件を満たせない場合があります。
ログには運用情報、エラーメッセージ、利用者の操作、セキュリティイベントなどが含まれます。必要なキー管理の水準と、ログの読み取り権限を併せて確認する必要があります。
想定される影響
カスタマー管理キーが必須の環境では、キーポリシーを直接管理しないロググループが暗号化の運用基準を満たせない場合があります。KMS キーを関連付けても、過剰なログ読み取り権限やログに書き込まれたシークレットの問題は別途対処が必要です。
対処方法
- カスタマー管理キーが必要な場合は、
kms_key_idにその ARN を指定してください。CloudWatch Logs がキーを使用できるように、キーポリシーと権限を設定してください。 - 新しいキーの関連付けは、その後に取り込まれるログに適用されます。既存ログの読み取りに必要な以前のキーと権限は維持してください。
- ログの読み取り権限と保持期間を制限し、シークレットがログに記録されないようにしてください。
例
既定の保存時暗号化
hcl
resource "aws_cloudwatch_log_group" "example" {
name = "Yada"
tags = {
Environment = "production"
Application = "serviceA"
}
retention_in_days = 1
}
カスタマー管理キーを指定せず、サービスの既定の暗号化を使用します。
カスタマー管理キーの指定
hcl
resource "aws_cloudwatch_log_group" "example" {
name = "Yada"
tags = {
Environment = "production"
Application = "serviceA"
}
retention_in_days = 1
kms_key_id = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
}
例の ARN を実際のキー ARN に置き換え、キーの使用権限を確認してください。この関連付けでは、以前に取り込まれたログは新しいキーで再暗号化されません。