説明
Glue ジョブは、ログ、ジョブブックマーク、処理結果を複数の保存先に書き込みます。Security Configuration を実際のジョブやクローラーに関連付け、各データの暗号化方式とキーを組織の要件に合わせて設定してください。設定リソースを作成するだけでは、すべてのジョブに適用されません。
CloudWatch Logs と新しい S3 オブジェクトには既定の保存時暗号化があるため、Glue の KMS 設定がないことだけで平文での保存とは判断できません。S3 では SSE-S3 もサポートされており、カスタマーマネージドキーが必要かどうかは別途判断する必要があります。
想定される影響
選択した暗号化方式やキーが要件に合わない場合、ジョブのデータに関する組織のキー管理要件を満たせないことがあります。KMS 権限の不足やキーの利用不可により、ログの記録、データ処理、復旧が失敗する場合もあります。暗号化は、ログや結果へのアクセス制御の代わりにはなりません。
対処方法
- KMS が必要な CloudWatch ログには、
cloudwatch_encryption_mode = "SSE-KMS"と適切なkms_key_arnを指定してください。 - ジョブブックマークに追加のクライアント側暗号化が必要な場合は、
job_bookmarks_encryption_mode = "CSE-KMS"とキーを設定してください。S3 には、要件に合わせてSSE-KMSまたはSSE-S3を選択してください。 - この設定を使うジョブ、クローラー、サービスに必要なキーの権限を確認してください。実行後に、ログ、ブックマーク、結果オブジェクトの暗号化と読み取りを検証してください。
例
参照する対称 KMS キーと権限は別途用意してください。以下の設定も、使用するジョブやクローラーに関連付ける必要があります。
ログのキー指定がない設定
hcl
resource "aws_glue_security_configuration" "glue_security" {
name = "example"
encryption_configuration {
cloudwatch_encryption {
cloudwatch_encryption_mode = "SSE-KMS"
}
job_bookmarks_encryption {
job_bookmarks_encryption_mode = "CSE-KMS"
kms_key_arn = data.aws_kms_key.example.arn
}
s3_encryption {
kms_key_arn = data.aws_kms_key.example.arn
s3_encryption_mode = "SSE-KMS"
}
}
}
CloudWatch ログに KMS 暗号化を選択していますが、使用するキーを指定していません。この設定だけで、ログが平文で保存されるとは判断できません。
ログのキーを明示した設定
hcl
resource "aws_glue_security_configuration" "glue_security" {
name = "example"
encryption_configuration {
cloudwatch_encryption {
cloudwatch_encryption_mode = "SSE-KMS"
kms_key_arn = data.aws_kms_key.example.arn
}
job_bookmarks_encryption {
job_bookmarks_encryption_mode = "CSE-KMS"
kms_key_arn = data.aws_kms_key.example.arn
}
s3_encryption {
kms_key_arn = data.aws_kms_key.example.arn
s3_encryption_mode = "SSE-KMS"
}
}
}
ログ、ジョブブックマーク、S3 の結果に使用する KMS キーを明示しています。キーポリシーと、実際に設定が適用されていることも確認してください。