Athena 워크그룹 결과 암호화 설정 점검

Athena 워크그룹의 쿼리 결과 암호화와 적용 우선순위를 확인하세요.

설명

Athena 쿼리 결과에는 테이블의 일부 데이터, 집계 결과와 내부 분석 정보가 포함될 수 있습니다. S3 결과 저장소를 사용하는 워크그룹에서는 결과 암호화와 키 관리 기준을 일관되게 적용해야 합니다.

S3는 새 객체를 기본 암호화하므로 워크그룹 암호화 블록의 생략만으로 평문 저장을 뜻하지는 않습니다. 고객 관리형 키가 필요하다면 키를 명시하고, 클라이언트 설정이 그 기준을 바꾸지 못하도록 워크그룹 설정을 강제하세요.

잠재적 영향

사용자별 설정에 따라 결과 저장 위치나 키가 달라지면 조직의 보호 기준을 충족하지 못할 수 있습니다. 암호화가 켜져 있어도 결과 파일에 대한 과도한 접근 권한은 별도로 제한해야 합니다.

해결 방법

  • result_configuration에 필요한 encryption_configuration을 지정하세요. 고객 관리형 키를 쓰면 SSE_KMS와 실제 kms_key_arn을 사용하세요.
  • enforce_workgroup_configuration = true로 설정하고 결과 위치와 키 변경이 기존 자동화에 미칠 영향을 확인하세요.
  • S3·KMS 권한을 제한하고 시험 쿼리의 실제 결과 암호화와 접근을 확인하세요. 원본 데이터와 기존 결과 파일의 암호화는 별도로 검토하세요.

예시

참조한 버킷과 키는 별도로 정의합니다.

별도 결과 암호화 설정 생략

hcl
resource "aws_athena_workgroup" "analytics_wg" {
  name = "example"

  configuration {
    enforce_workgroup_configuration    = true
    publish_cloudwatch_metrics_enabled = true

    result_configuration {
      output_location = "s3://${aws_s3_bucket.example.bucket}/output/"
    }
  }
}

결과 위치는 지정하지만 별도 암호화 방식은 지정하지 않습니다. 버킷에 실제 적용되는 암호화와 조직의 요구사항을 확인하세요.

결과 암호화 키와 적용 기준 지정

hcl
resource "aws_athena_workgroup" "analytics_wg" {
  name = "example"

  configuration {
    enforce_workgroup_configuration    = true
    publish_cloudwatch_metrics_enabled = true

    result_configuration {
      output_location = "s3://${aws_s3_bucket.example.bucket}/output/"

      encryption_configuration {
        encryption_option = "SSE_KMS"
        kms_key_arn       = aws_kms_key.example.arn
      }
    }
  }
}

이 워크그룹의 쿼리에 지정한 결과 위치와 KMS 암호화를 적용합니다. 기존 결과 파일을 자동으로 다시 암호화하는 변경은 아닙니다.

참조