설명
GCP 디스크는 기본적으로 저장 시 암호화됩니다. 고객 제공 키(CSEK)나 고객 관리 키(CMEK)를 지정하지 않았다고 평문으로 저장되는 것은 아닙니다.
기본 암호화만으로 충분하지 않은 환경에서는 키 관리 주체를 분리하는 것이 중요합니다. 중요 시스템이나 규제 대상 데이터에는 명시적인 고객 관리 키 구성이 필요할 수 있습니다.
잠재적 영향
- 중요 데이터의 키 통제와 감사 요구를 충족하지 못할 수 있습니다.
- 키 접근을 잘못 제한하거나 키를 잃으면 디스크 사용과 복구가 중단될 수 있습니다.
해결 방법
- 고객 관리가 필요하면
disk_encryption_key에 유효한kms_key_self_link또는 적절히 보호한raw_key를 구성하세요. - KMS 키의 위치와 서비스 계정 사용 권한을 확인하세요. CSEK가 포함된 Terraform 상태도 보호하고 키 복구 절차를 마련하세요.
- 기존 디스크는 코드 변경만으로 키가 전환된다고 가정하지 말고 지원되는 복사·이전 절차와 복구 계획을 검토하세요.
예시
지원되는 이미지의 식별자를 var.boot_image로 제공하세요. 변경 후에는 실제 KMS 키의 전체 식별자를 var.kms_key_self_link로 제공하고 디스크와 호환되는 위치 및 키 사용 권한을 준비해야 합니다.
변경 전
hcl
resource "google_compute_disk" "example" {
name = "test-disk"
type = "pd-ssd"
zone = "us-central1-a"
image = var.boot_image
}
변경 후
hcl
resource "google_compute_disk" "example" {
name = "test-disk"
type = "pd-ssd"
zone = "us-central1-a"
image = var.boot_image
disk_encryption_key {
kms_key_self_link = var.kms_key_self_link
}
}
설명:
- 변경 전: 고객 키를 지정하지 않아 Google 관리 키를 사용합니다. 암호화가 없는 예는 아닙니다.
- 변경 후: 고객이 관리하는 KMS 키를 지정합니다. 실제 키 연결과 디스크 사용·복구 가능 여부를 확인하세요.