GCP ディスクの暗号鍵管理方式の確認

デフォルトの暗号化と顧客が管理する鍵を区別し、組織の要件を確認してください。

説明

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 鍵を指定します。実際の関連付けとディスクの利用・復旧が可能か確認してください。

参考資料