CloudWatch ロググループの暗号化キーの確認

CloudWatch Logs の既定の保存時暗号化と、カスタマー管理 KMS キーの要件を区別して設定してください。

説明

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 に置き換え、キーの使用権限を確認してください。この関連付けでは、以前に取り込まれたログは新しいキーで再暗号化されません。

参考資料