설명
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 키를 명시합니다. 키 정책과 실제 구성 적용 여부까지 확인하세요.