説明
GCP ディスクはデフォルトで保存時に暗号化されます。顧客指定鍵(CSEK)や顧客管理鍵(CMEK)を指定しなくても、平文で保存されるわけではありません。
デフォルトの暗号化だけでは鍵の管理要件を満たせない環境では、鍵の管理主体を分けることが重要です。重要なシステムや規制対象のデータでは、顧客管理鍵の明示的な設定が必要な場合があります。
想定される影響
- 重要なデータの鍵管理や監査の要件を満たせない場合があります。
- 鍵へのアクセスを誤って制限したり鍵を失ったりすると、ディスクの利用や復旧が停止するおそれがあります。
対処方法
- 顧客による管理が必要なら、
disk_encryption_keyに有効なkms_key_self_linkまたは適切に保護したraw_keyを設定してください。 - KMS 鍵の場所とサービスアカウントの利用権限を確認してください。CSEK を含む Terraform の状態も保護し、鍵の復旧手順を用意してください。
- 既存ディスクではコード変更だけで鍵が切り替わると考えず、サポートされるコピー・移行手順と復旧計画を確認してください。
例
var.boot_image にサポート対象のイメージ識別子を指定してください。変更後は var.kms_key_self_link に実際の KMS 鍵の完全な識別子を指定し、ディスクに適合する場所と鍵の利用権限を準備してください。
変更前
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 鍵を指定します。実際の関連付けとディスクの利用・復旧が可能か確認してください。