설명
Compute Engine 디스크는 기본적으로 저장 시 암호화됩니다. diskEncryptionKey에 고객 제공 키(CSEK)나 고객 관리 키(CMEK)를 지정하지 않았다고 평문으로 저장되는 것은 아닙니다.
중요 VM이나 규제 대상 데이터를 다루는 환경에서는 키 관리 주체와 사용 권한을 별도로 통제해야 할 수 있습니다. 이런 요구가 있을 때 고객 키를 설계해야 합니다.
잠재적 영향
- 기본 키 관리만으로 조직의 키 통제나 감사 요구를 충족하지 못할 수 있습니다.
- 키를 잃거나 사용 권한을 잘못 제한하면 디스크 사용과 복구가 중단될 수 있습니다.
해결 방법
- 고객 키가 필요하면
diskEncryptionKey에 실제kmsKeyName또는 안전하게 보관한rawKey를 구성하세요. 원시 키를 공개 템플릿이나 로그에 남기지 마세요. - 키 위치와 Compute Engine 서비스 에이전트의 사용 권한을 확인하고 복구 절차를 마련하세요. 기존 디스크의 키 전환은 지원되는 복사·이전 절차에 따라 계획하세요.
예시
지원이 종료된 Deployment Manager 형식의 디스크 설정 발췌입니다. 현재 지원되는 관리 도구에서 이미지·영역 등 생략된 VM 설정을 준비하고, 예시 KMS 이름을 사용 권한과 호환되는 위치를 갖춘 실제 키로 바꾸세요.
변경 전
yaml
resources:
- name: vm-template
type: compute.v1.instance
properties:
disks:
- boot: true
autoDelete: true
변경 후
yaml
resources:
- name: vm-template
type: compute.v1.instance
properties:
disks:
- boot: true
autoDelete: true
diskEncryptionKey:
kmsKeyName: projects/sample/locations/global/keyRings/ring/cryptoKeys/key
설명:
- 변경 전: 고객 키를 지정하지 않습니다. 암호화되지 않은 저장을 의미하지는 않습니다.
- 변경 후: 고객 관리 KMS 키를 지정합니다. 실제 키 연결과 디스크 사용·복구 가능 여부도 확인해야 합니다.