CloudTrail ログの KMS キー設定の確認

CloudTrail の既定の保存時暗号化と、個別の KMS キーによる管理を区別して設定してください。

説明

CloudTrail ログは、アカウントの操作やセキュリティイベントを追跡する重要な記録です。SSE-KMS を有効にしていないログとダイジェストファイルも SSE-S3 で暗号化されるため、kms_key_id の省略は平文保存を意味しません。

SSE-KMS を使うと、ログの読み取りに必要な S3 権限に加えて、KMS の復号権限を制御できます。監査ログに個別のキーポリシーやライフサイクル管理が必要な環境では、明示的に設定してください。

想定される影響

個別の KMS キーを必要とする監査基準を満たせない場合があります。一方、キーポリシーが不適切だと、ログの配信や分析担当者の読み取りが中断される可能性があるため、アクセス制限と継続的なログ収集を併せて確認する必要があります。

対処方法

  • 必要に応じて、kms_key_id にログバケットと同じリージョンの KMS キーを指定してください。
  • CloudTrail がログを暗号化し、承認された分析担当者が復号できるようにキーポリシーを設定し、S3 バケット権限も制限してください。
  • 変更後に新しいログの配信と読み取りを確認し、保持しているログの読み取りに必要なキーと権限を維持してください。

例

実際のログバケットと CloudTrail の配信を許可するバケットポリシーが必要です。バケット名とキー ARN は環境に合わせて変更してください。

KMS キーの省略

hcl
resource "aws_cloudtrail" "example" {
  name           = "trail"
  s3_bucket_name = "bucketlog1"
}

証跡に KMS キーを明示していません。これだけでログが暗号化されていないとは判断できません。

KMS キーの指定

hcl
resource "aws_cloudtrail" "example" {
  name           = "trail"
  s3_bucket_name = "bucketlog1"
  kms_key_id     = "arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012"
}

同じ証跡に KMS キーを指定します。キー ARN と併せて、CloudTrail とログを読み取るプリンシパルの権限も準備してください。

参考資料