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으로 바꾸고 키 사용 권한을 확인하세요. 이 연결은 이전에 수집된 로그를 새 키로 다시 암호화하지 않습니다.

참조