Melindungi resource dengan kunci Cloud KMS

Dokumen ini memberikan informasi tentang cara menggunakan kunci Cloud Key Management Service (Cloud KMS) yang dibuat secara manual untuk mengenkripsi disk dan resource terkait penyimpanan lainnya. Kunci yang dikelola di Cloud KMS dikenal sebagai kunci enkripsi yang dikelola pelanggan (CMEK). Anda dapat menggunakan CMEK untuk mengenkripsi resource Compute Engine, seperti disk, image mesin, snapshot instan, dan snapshot standar.

Sebelum memulai

  • Pahami disk, image, snapshot standar, dan instance virtual machine (VM).
  • Tentukan apakah Anda akan menjalankan Compute Engine dan Cloud KMS di Google Cloud project yang sama, atau di project yang berbeda. Untuk mengetahui informasi tentang Google Cloud project ID dan nomor project, lihat Mengidentifikasi project.
  • Untuk project Google Cloud yang menjalankan Cloud KMS, lakukan hal berikut:
    1. Aktifkan Cloud KMS API.

      Peran yang diperlukan untuk mengaktifkan API

      Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

      Mengaktifkan API

  • Untuk membuat volume Hyperdisk Balanced baru dalam mode Rahasia, pastikan kasus penggunaan Anda didukung dengan meninjau Batasan dan wilayah yang didukung yang relevan.
  • Siapkan autentikasi jika Anda belum melakukannya. Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud dan API. Untuk menjalankan kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

    Konsol

    Saat menggunakan konsol Google Cloud untuk mengakses layanan Google Cloud dan API, Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init

      Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  • Tetapkan region dan zona default.
  • REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

      Instal Google Cloud CLI.

      Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

    Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .

Peran dan izin yang diperlukan

Agen Layanan Compute Engine memiliki format berikut:

service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com

Anda dapat menggunakan Google Cloud CLI untuk menetapkan peran:

gcloud projects add-iam-policy-binding KMS_PROJECT_ID \
    --member serviceAccount:service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \
    --role roles/cloudkms.cryptoKeyEncrypterDecrypter

Ganti kode berikut:

  • KMS_PROJECT_ID: ID projectGoogle Cloud Anda yang menjalankan Cloud KMS (meskipun project ini sama dengan yang menjalankan Compute Engine)
  • PROJECT_NUMBER: nomor project (bukan Google Cloud project ID) dari Google Cloud project Anda yang menjalankan resource Compute Engine

Untuk memastikan bahwa Agen Layanan Compute Engine memiliki izin yang diperlukan untuk melindungi resource menggunakan kunci Cloud KMS, minta administrator Anda untuk memberikan peran IAM Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) kepada Agen Layanan Compute Engine di project Anda.

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk melindungi resource menggunakan kunci Cloud KMS. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk melindungi resource dengan menggunakan kunci Cloud KMS:

  • Untuk merotasi kunci enkripsi yang melindungi disk: compute.disks.updateKmsKey
  • Untuk merotasi kunci enkripsi yang melindungi snapshot: compute.snapshots.updateKmsKey

Administrator Anda mungkin juga dapat memberikan izin ini kepada Agen Layanan Compute Engine dengan peran khusus atau peran bawaan.

Spesifikasi enkripsi

Kunci Cloud KMS yang digunakan untuk membantu melindungi data Anda di Compute Engine adalah kunci AES-256. Kunci ini adalah kunci enkripsi kunci, dan mengenkripsi kunci enkripsi data yang mengenkripsi data Anda, bukan data itu sendiri.

Data di disk dienkripsi menggunakan Google-owned and Google-managed encryption keys. Untuk spesifikasi yang terkait dengan enkripsi default di Google Cloud, lihat Enkripsi dalam penyimpanan default dalam dokumentasi Keamanan.

Dengan mode Rahasia untuk Hyperdisk Balanced dan Cloud HSM, kunci enkripsi data (DEK) memiliki properti keamanan tambahan dengan enklave yang didukung hardware.

Batasan

  • Anda tidak dapat mengenkripsi resource yang ada dengan CMEK. Anda hanya dapat mengenkripsi disk, image, dan snapshot dengan CMEK saat Anda membuatnya.

  • Saat membuat disk dari instant snapshot yang dienkripsi dengan CMEK, Anda harus menentukan kunci yang digunakan untuk mengenkripsi disk sumber. Anda tidak perlu menentukan kunci saat menggunakan resource terenkripsi CMEK lainnya seperti clone disk dan snapshot standar.

  • Saat membuat snapshot cakupan regional (Pratinjau) dari disk yang dienkripsi dengan CMEK, Anda harus membuat snapshot dengan CMEK regional yang berada di lokasi yang sama dengan snapshot. Hal ini memastikan isolasi regional snapshot Anda dan meningkatkan keandalan snapshot Anda.

  • Anda tidak dapat menggunakan kunci Anda sendiri dengan disk SSD Lokal karena kunci tersebut dikelola oleh infrastruktur Google Cloud dan dihapus saat VM dihentikan.

  • Resource regional (disk) hanya dapat dienkripsi oleh kunci di salah satu lokasi Cloud KMS berikut:

    • Kunci di region yang sama dengan disk.
    • Kunci multi-regional di lokasi geografis yang sama dengan disk.
    • Kunci di lokasi global.

    Misalnya, disk di zona us-west1-a dapat dienkripsi oleh kunci di lokasi global, region us-west1, atau multi-region us.

    Resource global (seperti image dan snapshot) dapat dienkripsi oleh kunci di lokasi mana pun. Untuk mengetahui informasi selengkapnya, lihat Jenis lokasi untuk Cloud KMS.

  • Anda tidak dapat mengubah atau menghapus kunci enkripsi untuk gambar atau instant snapshot.

  • Anda tidak dapat menghapus kunci enkripsi disk atau snapshot, atau mengubah kunci dari CMEK ke Google-owned and managed key. Sebagai gantinya, buat salinan disk atau snapshot dan tentukan jenis enkripsi baru untuk salinan tersebut.

    Untuk mengetahui informasi selengkapnya, lihat Menghapus CMEK dari disk dan Menghapus CMEK dari snapshot.

  • Anda tidak dapat merotasi atau mengubah CMEK volume Confidential Hyperdisk online atau volume Hyperdisk online yang terpasang ke jenis mesin yang tidak didukung.

  • Anda dapat merotasi atau mengubah CMEK hanya pada jenis disk berikut:

    • Semua volume Persistent Disk
    • Volume Hyperdisk yang dibuat dari snapshot instan
    • Volume Hyperdisk offline
    • Volume Hyperdisk Rahasia Offline
    • Volume Hyperdisk online yang terpasang ke jenis mesin generasi pertama atau kedua
    • Volume Hyperdisk online yang terpasang ke jenis mesin generasi ketiga atau keempat berikut:

      • A3
      • A4
      • A4X
      • C4
      • C4A
      • C4D
      • C3
      • X4
      • Z3
      • H4D
      • semua versi TPU
  • Anda tidak dapat mengubah kunci untuk volume Hyperdisk yang dibuat dengan meng-clone disk, kecuali jika Anda telah menghapus disk sumber dan semua clone lainnya dari disk sumber.

Pembuatan kunci manual atau otomatis

Anda dapat membuat kunci Cloud KMS secara manual atau menggunakan Autokey Cloud KMS. Autokey menyederhanakan pembuatan dan pengelolaan kunci Cloud KMS dengan mengotomatiskan penyediaan dan penetapan. Dengan Autokey, Anda tidak perlu menyediakan ring kunci, kunci, dan akun layanan sebelumnya. Sebagai gantinya, ID ini dibuat sesuai permintaan sebagai bagian dari pembuatan resource Compute Engine. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Autokey.

Membuat key ring dan kunci secara manual

Untuk project Google Cloud yang menjalankan Cloud KMS, buat key ring dan kunci seperti yang dijelaskan dalam Membuat key ring dan kunci.

Mengenkripsi Persistent Disk baru dengan CMEK

Anda dapat mengenkripsi Persistent Disk baru dengan menyediakan kunci selama pembuatan VM atau disk.

Konsol

  1. Di konsol Google Cloud , buka halaman Disks.

    Buka Disk

  2. Klik Create disk dan masukkan properti untuk disk baru.
  3. Di bagian Encryption, pilih Customer-managed key.
  4. Di menu drop-down, pilih kunci Cloud KMS yang ingin Anda gunakan untuk mengenkripsi disk ini.
  5. Untuk membuat disk, klik Create.

gcloud

Buat disk terenkripsi menggunakan perintah gcloud compute disks create, dan tentukan kunci menggunakan flag --kms-key.

gcloud compute disks create DISK_NAME \
  --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY

Ganti kode berikut:

  • DISK_NAME: nama disk baru
  • KMS_PROJECT_ID: project yang memiliki kunci Cloud KMS
  • REGION: region tempat kunci berada
  • KEY_RING: nama key ring yang menyertakan kunci
  • KEY: nama kunci yang digunakan untuk mengenkripsi disk

REST

Buat permintaan POST ke metode instances.insert. Untuk mengenkripsi disk, gunakan properti diskEncryptionKey dengan properti kmsKeyName. Misalnya, Anda dapat mengenkripsi disk baru selama pembuatan VM dengan kunci Cloud KMS menggunakan hal berikut:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
 {
  "type": "PERSISTENT",
  "diskEncryptionKey": {
    "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
  },
  "initializeParams": {
   "sourceImage": "SOURCE_IMAGE"
  },
  "boot": true
 }
],
...
}

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project yang menjalankan Compute Engine
  • ZONE: zona untuk membuat VM
  • MACHINE_TYPE: jenis mesin, misalnya c3-standard-4
  • KMS_PROJECT_ID: project yang memiliki kunci Cloud KMS
  • REGION: region tempat disk berada
  • KEY_RING: nama key ring yang menyertakan kunci
  • KEY: nama kunci yang digunakan untuk mengenkripsi disk
  • SOURCE_IMAGE: image yang akan digunakan saat membuat VM, misalnya, projects/debian-cloud/global/images/debian-11-bullseye-v20231115

Demikian pula, Anda dapat menggunakan metode disks.insert untuk membuat Persistent Disk mandiri baru dan mengenkripsinya dengan kunci Cloud KMS Anda:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks?sourceImage=SOURCE_IMAGE
{
 "name": "DISK_NAME",
 "diskEncryptionKey": {
   "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
  },
 "type": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE"
}

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project yang menjalankan Compute Engine
  • ZONE: zona tempat disk akan dibuat
  • SOURCE_IMAGE: image yang akan digunakan saat membuat disk, misalnya, projects/debian-cloud/global/images/debian-11-bullseye-v20231115
  • DISK_NAME: nama untuk disk baru
  • KMS_PROJECT_ID: project yang memiliki kunci Cloud KMS
  • REGION: region tempat disk berada
  • KEY_RING: nama key ring yang menyertakan kunci
  • KEY: nama kunci yang digunakan untuk mengenkripsi disk
  • DISK_TYPE: jenis disk yang akan dibuat

Membuat disk Hyperdisk Balanced dalam mode Rahasia

Anda dapat membuat disk Hyperdisk Seimbang baru dalam mode Rahasia menggunakan konsolGoogle Cloud , Google Cloud CLI, atau REST. Untuk membuat disk yang tidak dalam mode rahasia, ikuti langkah-langkah di Membuat Persistent Disk dari snapshot yang dienkripsi dengan CMEK.

Konsol

  1. Di konsol Google Cloud , buka halaman Disks.

    Buka Disk

  2. Klik Create disk dan masukkan properti untuk disk baru.
  3. Di bagian Disk settings, pilih Hyperdisk Balanced untuk jenis disk.
  4. Opsional. Ubah setelan Ukuran, IOPS yang Disediakan, dan Throughput yang Disediakan disk default untuk disk.
  5. Di bagian Encryption, pilih Cloud KMS key.
  6. Dalam daftar kunci, pilih kunci Cloud HSM yang ingin Anda gunakan untuk mengenkripsi disk ini.
  7. Di bagian Confidential Computing, pilih Enable Confidential Computing services.
  8. Untuk membuat disk, klik Buat.

gcloud

Enkripsi disk baru dengan mode Rahasia untuk Hyperdisk Balanced menggunakan perintah gcloud compute disks create. Aktifkan Mode rahasia dengan flag --confidential-compute dan tentukan kunci menggunakan flag --kms-key.

gcloud compute disks create DISK_NAME \
  --type=hyperdisk-balanced \
  --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY \
  --confidential-compute

Ganti kode berikut:

  • DISK_NAME: nama disk baru
  • KMS_PROJECT_ID: project yang memiliki kunci Cloud HSM
  • REGION: region tempat kunci berada
  • KEY_RING: nama key ring yang menyertakan kunci
  • KEY: nama kunci yang digunakan untuk mengenkripsi disk

REST

Buat permintaan POST ke metode instances.insert. Untuk mengenkripsi disk dengan mode Rahasia untuk Hyperdisk Balanced, gunakan properti diskEncryptionKey dengan properti kmsKeyName dan tetapkan flag enableConfidentialCompute. Misalnya, Anda dapat mengenkripsi disk baru selama pembuatan VM dengan kunci Cloud HSM menggunakan hal berikut:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
 {
  "type": "DISK_TYPE",
  "diskEncryptionKey": {
    "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
  },
  "initializeParams": {
   "sourceImage": "SOURCE_IMAGE",
   "enableConfidentialCompute": true
  },
  "boot": true
 }
],
"networkInterfaces": [
  {
   "network": "global/networks/default"
  }
]
}

Ganti kode berikut:

  • DISK_TYPE: jenis disk yang akan dibuat, misalnya, hyperdisk-balanced
  • PROJECT_ID: ID Google Cloud project yang menjalankan Compute Engine
  • ZONE: zona untuk membuat VM
  • MACHINE_TYPE: jenis mesin, misalnya n2d-standard-4
  • KMS_PROJECT_ID: project yang memiliki kunci Cloud HSM
  • REGION: region tempat disk berada
  • KEY_RING: nama key ring yang menyertakan kunci
  • KEY: nama kunci yang digunakan untuk mengenkripsi disk
  • SOURCE_IMAGE: image yang mendukung Confidential VM yang akan digunakan saat membuat VM, misalnya, projects/debian-cloud/global/images/debian-11-bullseye-v20231115

Demikian pula, Anda dapat menggunakan metode disks.insert untuk membuat Hyperdisk Balanced dengan Mode rahasia yang baru:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks?sourceImage=SOURCE_IMAGE
{
 "name": "DISK_NAME",
 "diskEncryptionKey": {
   "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
  },
 "type": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE",
 "enableConfidentialCompute": true
}

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project yang menjalankan Compute Engine
  • ZONE: zona tempat disk akan dibuat
  • SOURCE_IMAGE: image yang mendukung Confidential VM saat membuat disk, misalnya, projects/debian-cloud/global/images/debian-11-bullseye-v20231115
  • DISK_NAME: nama untuk disk baru
  • KMS_PROJECT_ID: project yang memiliki kunci Cloud HSM
  • REGION: region tempat disk berada
  • KEY_RING: nama key ring yang menyertakan kunci
  • KEY: nama kunci yang digunakan untuk mengenkripsi disk
  • DISK_TYPE: jenis disk yang akan dibuat, misalnya, hyperdisk-balanced.

Membuat snapshot dari disk yang dienkripsi dengan CMEK

Untuk membuat snapshot dari disk yang dienkripsi dengan CMEK, Anda harus membuat snapshot dengan kunci enkripsi yang sama dengan yang Anda gunakan untuk mengenkripsi disk.

Anda tidak dapat membuat snapshot yang menggunakan CMEK kecuali jika disk sumber juga menggunakan CMEK. Selain itu, Anda tidak dapat mengonversi disk atau snapshot yang dienkripsi CMEK untuk menggunakan Google Cloud enkripsi default, kecuali jika Anda membuat disk image yang benar-benar baru dan persistent disk baru.

Snapshot dari disk yang dienkripsi dengan CMEK bersifat inkremental.

Konsol

  1. Di konsol Google Cloud , buka halaman Snapshot.

    Buka Snapshot

  2. Klik Create snapshot.
  3. Pada Source disk, pilih disk sumber untuk snapshot. Snapshot akan otomatis dienkripsi dengan kunci yang sama dengan yang digunakan oleh disk sumber.

gcloud

Untuk enkripsi yang dikelola pelanggan, kunci Cloud KMS yang digunakan untuk mengenkripsi disk juga digunakan untuk mengenkripsi snapshot.

Anda dapat membuat snapshot di kebijakan lokasi penyimpanan yang ditentukan oleh setelan snapshot atau menggunakan lokasi penyimpanan alternatif pilihan Anda. Untuk informasi selengkapnya, lihat Memilih lokasi penyimpanan snapshot.

  • Untuk membuat snapshot di lokasi default bawaan atau disesuaikan yang dikonfigurasi di setelan snapshot Anda, gunakan perintah gcloud compute snapshots create.

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk-zone=SOURCE_ZONE \
        --source-disk=SOURCE_DISK_NAME \
        --snapshot-type=SNAPSHOT_TYPE
    
  • Atau, untuk mengganti setelan snapshot dan membuat snapshot di lokasi penyimpanan kustom, sertakan tanda --storage-location untuk menunjukkan tempat penyimpanan snapshot Anda.

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk-zone=SOURCE_ZONE \
        --source-disk=SOURCE_DISK_NAME \
        --snapshot-type=SNAPSHOT_TYPE \
        --storage-location=STORAGE_LOCATION
    
  • (Pratinjau) Untuk membuat snapshot cakupan regional di region yang diizinkan, sertakan tanda --region untuk menunjukkan tempat membuat snapshot Anda.

      gcloud beta compute snapshots create SNAPSHOT_NAME \
          --region=SNAPSHOT_SCOPE_REGION
          --source-disk=SOURCE_DISK_NAME \
          --source-disk-zone=SOURCE_ZONE \
          --snapshot-type=SNAPSHOT_TYPE \
          --kms-key=projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY
    

Ganti kode berikut:

  • SNAPSHOT_NAME: Nama untuk snapshot.
  • SOURCE_ZONE: Zona disk sumber.
  • SOURCE_DISK_NAME: Nama volume disk tempat Anda ingin membuat snapshot.
  • KMS_PROJECT_ID: Project yang berisi kunci enkripsi yang disimpan di Cloud Key Management Service.
  • KEY_REGION: Region tempat kunci Cloud KMS berada.
  • KEY_RING: Nama key ring yang berisi kunci Cloud KMS.
  • SNAPSHOT_KEY: Nama kunci Cloud KMS yang Anda gunakan untuk mengenkripsi disk sumber.
  • SNAPSHOT_TYPE: Jenis snapshot, baik STANDARD atau ARCHIVE. Jika jenis snapshot tidak ditentukan, snapshot STANDARD akan dibuat.
  • STORAGE_LOCATION: Opsional: Untuk snapshot cakupan global, multi-region Cloud Storage atau region Cloud Storage tempat Anda ingin menyimpan snapshot. Anda hanya dapat menentukan satu lokasi penyimpanan.

    Gunakan parameter --storage-location hanya jika Anda ingin mengganti lokasi penyimpanan default bawaan atau yang telah disesuaikan yang dikonfigurasi di setelan snapshot Anda.

  • SNAPSHOT_SCOPE_REGION: Opsional: Untuk snapshot cakupan regional, region yang menjadi cakupan snapshot. Jika menyertakan parameter ini, Anda tidak dapat menggunakan parameter --storage-location. STORAGE_LOCATION otomatis disetel ke SNAPSHOT_SCOPE_REGION.

REST

Anda dapat membuat snapshot di kebijakan lokasi penyimpanan yang ditentukan oleh setelan snapshot atau menggunakan lokasi penyimpanan alternatif pilihan Anda. Untuk informasi selengkapnya, lihat Memilih lokasi penyimpanan snapshot.

  • Untuk membuat snapshot di lokasi default bawaan atau disesuaikan yang dikonfigurasi di setelan snapshot Anda, buat permintaan POST ke metode snapshots.insert:

    POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots
    {
        "name": "SNAPSHOT_NAME",
        "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME",
        "snapshotEncryptionKey":  {
         "kmsKeyName": "projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY"
        },
        "snapshotType": "SNAPSHOT_TYPE"
    }
    
  • Atau, untuk mengganti setelan snapshot dan membuat snapshot di lokasi penyimpanan kustom, buat permintaan POST ke metode snapshots.insert dan sertakan properti storageLocations dalam permintaan Anda:

    POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots
    {
        "name": "SNAPSHOT_NAME",
        "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME",
        "snapshotEncryptionKey":  {
         "kmsKeyName": "projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY"
        },
        "snapshotType": "SNAPSHOT_TYPE",
        "storageLocations": [
            "STORAGE_LOCATION"
        ],
    }
    
  • (Pratinjau) Untuk membuat snapshot cakupan regional di region yang diizinkan, buat permintaan POST ke metode snapshots.insert dan tentukan region pembuatan:

    POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/regions/SNAPSHOT_SCOPE_REGION/snapshots
    {
      "name": "SNAPSHOT_NAME",
      "sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME",
      "snapshotType": "SNAPSHOT_TYPE",
      "snapshotEncryptionKey": {
        "kmsKeyName":"projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY",
      },
    }
    

Ganti kode berikut:

  • DESTINATION_PROJECT_ID: ID project tempat Anda ingin membuat snapshot.
  • SNAPSHOT_NAME: Nama untuk snapshot.
  • SOURCE_PROJECT_ID: ID project disk sumber.
  • SOURCE_ZONE: Zona disk sumber.
  • SOURCE_DISK_NAME: Nama disk tempat Anda ingin membuat snapshot.
  • KMS_PROJECT_ID: Project yang berisi kunci enkripsi yang disimpan di Cloud Key Management Service.
  • KEY_REGION: Region tempat kunci Cloud KMS berada.
  • KEY_RING: Nama key ring yang berisi kunci Cloud KMS.
  • SNAPSHOT_KEY: Nama kunci Cloud KMS yang Anda gunakan untuk mengenkripsi disk sumber.
  • SNAPSHOT_TYPE: Jenis snapshot, baik STANDARD atau ARCHIVE. Jika jenis snapshot tidak ditentukan, snapshot STANDARD akan dibuat.
  • STORAGE_LOCATION: Opsional: Untuk snapshot cakupan global, multi-region Cloud Storage atau region Cloud Storage tempat Anda ingin menyimpan snapshot. Anda hanya dapat menentukan satu lokasi penyimpanan.

    Gunakan parameter storageLocations hanya jika Anda ingin mengganti lokasi penyimpanan default bawaan atau yang telah disesuaikan yang dikonfigurasi di setelan snapshot Anda.

  • SNAPSHOT_SCOPE_REGION: Opsional: Untuk snapshot cakupan regional, region yang menjadi cakupan snapshot. Jika menyertakan parameter ini, Anda tidak dapat menggunakan parameter storageLocations. STORAGE_LOCATION otomatis disetel ke SNAPSHOT_SCOPE_REGION.

Mengenkripsi image yang diimpor dengan CMEK

Anda dapat mengenkripsi image baru saat mengimpor image kustom ke Compute Engine. Sebelum dapat mengimpor image, Anda harus membuat dan mengompresi file disk image serta mengupload file yang dikompresi tersebut ke Cloud Storage.

Konsol

  1. Di konsol Google Cloud , buka halaman Images.

    Buka Images

  2. Klik Create image.
  3. Untuk Source disk, pilih disk yang ingin Anda buat imagenya.
  4. Untuk Encryption, pilih Customer-managed key.
  5. Di menu drop-down, pilih kunci Cloud KMS yang ingin Anda gunakan untuk mengenkripsi image ini.
  6. Lanjutkan proses pembuatan iamge.

gcloud

Untuk mengimpor dan mengenkripsi image, gunakan perintah gcloud compute images create. Untuk enkripsi yang dikelola pelanggan, tentukan kunci Cloud KMS untuk image.

gcloud compute images create IMAGE_NAME \
    --source-disk=SOURCE_DISK  \
    --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY

Ganti kode berikut:

  • IMAGE_NAME: nama image yang Anda buat
  • SOURCE_DISK: nama disk untuk membuat snapshot
  • KMS_PROJECT_ID: project yang berisi kunci Cloud KMS
  • REGION: region tempat kunci Cloud KMS berada
  • KEY_RING: key ring yang berisi kunci Cloud KMS
  • KEY: nama kunci yang akan digunakan untuk mengenkripsi disk baru

REST

Untuk mengenkripsi gambar yang diimpor, buat permintaan POST ke metode images.insert. Tentukan URI ke file yang dikompresi, tambahkan properti imageEncryptionKey ke permintaan pembuatan image, dan tentukan kunci untuk mengenkripsi image di properti kmsKeyName.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images

{
 "rawDisk": {
  "source": "http://storage.googleapis.com/example-image/example-image.tar.gz"
  },
 "name": "IMAGE_NAME",
 "sourceType": "RAW",
 "imageEncryptionKey": {
   "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
   }
}

Ganti kode berikut:

  • PROJECT_ID: project tempat image terenkripsi akan dibuat
  • IMAGE_NAME: nama image yang Anda buat
  • KMS_PROJECT_ID: project yang berisi kunci Cloud KMS
  • REGION: region tempat kunci Cloud KMS berada
  • KEY_RING: key ring yang berisi kunci Cloud KMS
  • KEY: nama kunci yang Anda gunakan untuk mengenkripsi disk sumber

Membuat disk dari snapshot yang dienkripsi dengan CMEK

Untuk membuat disk baru dari snapshot terenkripsi, lakukan langkah berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Disks.

    Buka Disk

  2. Klik Create disk dan masukkan properti untuk disk baru.
  3. Untuk Source type, pilih snapshot atau image yang ingin Anda gunakan.
  4. Opsional: Jika Anda ingin menentukan kunci enkripsi baru, untuk Enkripsi, tentukan jenis kunci enkripsi yang akan digunakan, lalu berikan informasi kunci enkripsi.

    Jika Anda ingin menghapus kunci enkripsi yang dikelola pelanggan atau yang disediakan pelanggan, untuk Encryption, gunakan nilai default Google-managed encryption key.

  5. Lanjutkan proses pembuatan disk.

gcloud

  • Untuk membuat disk baru dari snapshot terenkripsi dengan cakupan global, gunakan perintah gcloud compute disks create.

    gcloud compute disks create DISK_NAME \
      --zone=ZONE \
      --source-snapshot=SNAPSHOT_NAME \
      --kms-key=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
    
  • (Pratinjau) Untuk membuat disk baru dari snapshot terenkripsi cakupan regional, gunakan perintah gcloud compute disks create dan tentukan region snapshot sumber.

    gcloud compute disks create DISK_NAME \
      --zone=ZONE \
      --source-snapshot=SNAPSHOT_NAME \
      --source-snapshot-region=SOURCE_REGION \
      --kms-key=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
    

Ganti kode berikut:

  • DISK_NAME: nama disk baru
  • SNAPSHOT_NAME: nama snapshot terenkripsi

    Untuk menggunakan gambar, bukan snapshot, ganti --source-snapshot SNAPSHOT_NAME dengan --image IMAGE_NAME.

  • KMS_PROJECT_ID: Opsional: project yang berisi kunci Cloud KMS

  • REGION: Opsional: region tempat kunci Cloud KMS berada

  • SOURCE_REGION: Region yang menjadi cakupan snapshot sumber

  • ZONE: Zona tempat disk baru akan berada

  • KEY_RING: Opsional: key ring yang berisi kunci Cloud KMS

  • KEY: Opsional: nama kunci Cloud KMS yang akan digunakan untuk mengenkripsi disk baru

    Untuk mengenkripsi disk baru, Anda dapat melakukan salah satu hal berikut:

    • Untuk menentukan kunci enkripsi yang dikelola pelanggan baru, gunakan flag --kms-key.
    • Untuk menggunakan Google-owned and Google-managed encryption keydefault, jangan sertakan flag --kms-key.

REST

  • Untuk membuat disk baru dari snapshot terenkripsi dengan cakupan global, buat permintaan POST ke metode compute.disks.insert. Gunakan properti sourceSnapshot untuk menentukan snapshot.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks
    
    {
      "name": "DISK_NAME",
      "sourceSnapshot": "projects/SNAPSHOT_PROJECT_ID/global/snapshots/SNAPSHOT_NAME",
      "diskEncryptionKey": {
        "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
      }
    }
    
  • (Pratinjau) Untuk membuat disk baru dari snapshot terenkripsi yang tercakup secara regional, buat permintaan POST ke metode compute.disks.insert. Gunakan properti sourceSnapshot untuk menentukan snapshot.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks
    
    {
      "name": "DISK_NAME",
      "sourceSnapshot": "projects/SNAPSHOT_PROJECT_ID/regions/SOURCE_REGION/snapshots/SNAPSHOT_NAME",
      "type": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE",
      "zone": "projects/PROJECT_ID/zones/ZONE"
      "diskEncryptionKey": {
        "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
      }
    }
    

Ganti kode berikut:

  • PROJECT_ID: Project tempat disk baru akan dibuat
  • ZONE: Zona tempat disk baru akan dibuat
  • SOURCE_REGION: Region yang menjadi cakupan snapshot sumber
  • DISK_NAME: Nama disk baru
  • DISK_TYPE: URL lengkap atau sebagian untuk jenis disk, misalnya, PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
  • SNAPSHOT_PROJECT_ID: Project yang berisi snapshot
  • SNAPSHOT_NAME: Nama snapshot terenkripsi

    Untuk menggunakan gambar, bukan snapshot, ganti sourceSnapshot dengan sourceImage.

  • KMS_PROJECT_ID: Opsional: project yang berisi kunci Cloud KMS

  • REGION: Opsional: region tempat kunci Cloud KMS berada

  • KEY_RING: Opsional: key ring yang berisi kunci Cloud KMS

  • KEY: Opsional: nama kunci Cloud KMS yang akan digunakan untuk mengenkripsi disk baru

    Jika Anda menyertakan diskEncryptionKey, disk akan dienkripsi dengan kunci Cloud KMS yang ditentukan. Jika Anda tidak menyertakan diskEncryptionKey, disk akan dienkripsi menggunakan Google-owned and Google-managed encryption key.

Memasang boot disk yang dienkripsi dengan CMEK ke VM baru

Konsol

  1. Di konsol Google Cloud , buka halaman Create an instance.

    Buka halaman Buat instance

  2. Tentukan detail VM, lalu di bagian Boot disk, klik Change. Kemudian, lakukan hal berikut:

    1. Klik Existing disk.
    2. Dalam daftar Disk, pilih disk yang ada untuk dipasang ke VM.
    3. Klik Select.
  3. Lanjutkan dengan proses pembuatan VM.

gcloud

Untuk memasang disk terenkripsi saat Anda membuat VM baru, gunakan perintah gcloud compute instances create. Gunakan tanda --disk untuk menentukan boot disk terenkripsi, seperti yang ditunjukkan dalam contoh berikut:

gcloud compute instances create VM_NAME \
  ...
  --disk name=DISK_NAME,boot=yes

Ganti kode berikut:

  • VM_NAME: nama VM yang Anda buat
  • DISK_NAME: nama disk terenkripsi

REST

Buat permintaan POST ke metode compute.instances.insert. Gunakan properti disks untuk menentukan boot disk terenkripsi, seperti yang ditunjukkan dalam contoh berikut:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  ...
  "disks": [
    {
      "deviceName": "DISK_ALIAS",
      "source": "projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME"
    }
  ]
}

Ganti kode berikut:

  • PROJECT_ID: project tempat VM baru akan dibuat
  • ZONE: zona tempat membuat VM baru
  • DISK_ALIAS: nama perangkat unik yang akan digunakan sebagai alias disk di direktori /dev/disk/by-id/google-* VM yang menjalankan sistem operasi Linux. Nama ini dapat digunakan untuk mereferensikan disk untuk operasi seperti pemasangan atau pengubahan ukuran dari dalam instance. Jika Anda tidak menentukan nama perangkat, VM akan memilih nama perangkat default untuk diterapkan ke disk ini, dalam bentuk persistent-disk-x, di mana x adalah angka yang ditetapkan oleh Compute Engine. Kolom ini hanya berlaku untuk volume Persistent Disk.
  • DISK_NAME: nama disk terenkripsi

Memutar CMEK untuk disk atau snapshot

Untuk mengurangi potensi konsekuensi jika kunci Anda disusupi, sebaiknya rotasi kunci enkripsi Cloud KMS secara terjadwal menggunakan salah satu metode berikut.

gcloud

Untuk memutar kunci Cloud KMS yang digunakan untuk mengenkripsi disk, snapshot arsip, atau snapshot standar ke versi kunci baru, gunakan perintah gcloud compute disks update-kms-key atau perintah gcloud compute snapshots update-kms-key.

  • Untuk merotasi versi kunci yang mengenkripsi disk:

    gcloud compute disks update-kms-key DISK_NAME \
    --zone ZONE
    
  • Untuk merotasi versi kunci yang mengenkripsi snapshot standar:

    gcloud compute snapshots update-kms-key SNAPSHOT_NAME
    

Ganti kode berikut:

  • DISK_NAME: nama disk terenkripsi
  • ZONE: zona tempat disk terenkripsi berada
  • SNAPSHOT_NAME: nama snapshot terenkripsi

REST

Untuk memutar kunci Cloud KMS yang digunakan untuk mengenkripsi disk, arsipkan snapshot, atau snapshot standar ke versi kunci baru, buat permintaan PATCH ke metode compute.disks.updateKmsKey atau compute.snapshots.updateKmsKey.

  • Untuk mengganti versi kunci yang mengenkripsi disk zonal:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/updateKmsKey
    
  • Untuk merotasi versi kunci yang mengenkripsi disk regional:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/updateKmsKey
    
  • Untuk mengganti versi kunci yang mengenkripsi snapshot standar dengan cakupan global:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME/updateKmsKey
    
  • (Pratinjau) Untuk merotasi versi kunci yang mengenkripsi snapshot standar cakupan regional:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/snapshots/SNAPSHOT_NAME/updateKmsKey
    

Ganti kode berikut:

  • PROJECT_ID: project tempat disk atau snapshot terenkripsi berada
  • ZONE: zona tempat disk terenkripsi berada
  • REGION: region tempat disk regional atau snapshot cakupan regional berada
  • DISK_NAME: nama disk terenkripsi
  • SNAPSHOT_NAME: nama snapshot terenkripsi
  • REGION: region tempat disk regional atau snapshot cakupan regional berada

Respons akan menyertakan item name dengan nilai operasi yang merepresentasikan rotasi kunci:

  "name": "operation-YYYYYYYYYYYYY-YYYYYYYYYYYYY-YYYYYYYY-YYYYYYYY"
  

Kemudian, Anda dapat melakukan polling status operasi untuk menentukan apakah panggilan API Anda berhasil dengan membuat permintaan GET:

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations/OPERATION_NAME
  

Ganti kode berikut:

  • PROJECT_ID: project tempat disk atau snapshot terenkripsi berada
  • ZONE: zona tempat disk terenkripsi berada
  • OPERATION_NAME: nama operasi rotasi CMEK, dalam format operation-YYYYYYYYYYYYY-YYYYYYYYYYYYY-YYYYYYYY-YYYYYYYY

Respons akan menyertakan nilai progress yang menunjukkan status rotasi kunci. Jika progress adalah 100, operasi berhasil.

Memutar kunci tidak akan menonaktifkan atau menghapus versi kunci sebelumnya. Untuk mengetahui informasi selengkapnya, lihat Setelah Anda merotasi kunci.

Mengubah CMEK untuk disk atau snapshot

Anda dapat mengubah enkripsi disk, snapshot arsip, atau snapshot standar ke CMEK yang berbeda (misalnya, selama migrasi project atau untuk memenuhi persyaratan kepatuhan baru) tanpa periode nonaktif.

Mengubah CMEK akan mengenkripsi ulang kunci enkripsi data (DEK) resource dengan kunci baru. Proses ini tidak mengubah DEK dan tidak memengaruhi performa pada beban kerja yang sedang berjalan.

Untuk mengubah kunci Cloud KMS, Anda dapat menggunakan gcloud CLI atau REST.

gcloud

Untuk mengubah kunci Cloud KMS untuk disk atau snapshot standar, gunakan flag --kms-key dengan perintah gcloud compute disks update-kms-key atau perintah gcloud compute snapshots update-kms-key.

  • Untuk mengubah kunci disk zonal:

    gcloud compute disks update-kms-key DISK_NAME \
    --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME \
    --zone=ZONE
    
  • Untuk mengubah kunci disk regional:

    gcloud compute disks update-kms-key DISK_NAME \
    --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME \
    --region=REGION
    
  • Untuk mengubah kunci snapshot global:

    gcloud compute snapshots update-kms-key SNAPSHOT_NAME \
    --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME
    
  • Untuk mengubah kunci snapshot yang tercakup secara regional:

    gcloud beta compute snapshots update-kms-key SNAPSHOT_NAME \
    --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME \
    --regions=REGION
    

Ganti kode berikut:

  • DISK_NAME: nama disk terenkripsi.
  • NEW_KMS_KEY: ID resource lengkap CMEK baru.
  • ZONE: zona tempat disk berada.
  • REGION: region tempat disk atau snapshot berada.
  • SNAPSHOT_NAME: nama snapshot terenkripsi.

REST

Untuk mengubah kunci, kirim permintaan POST ke metode compute.disks.updateKmsKey atau metode compute.snapshots.updateKmsKey dan sertakan kmsKeyName dalam isi permintaan.

  • Untuk mengubah kunci disk zonal:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/updateKmsKey
    
    {
    "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME"
    }
    
  • Untuk mengubah kunci disk regional:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/updateKmsKey
    
    {
    "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME"
    }
    
  • Untuk mengubah kunci snapshot global:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME/updateKmsKey
    
    {
    "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME"
    }
    
  • Untuk mengubah kunci snapshot yang tercakup secara regional:

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/snapshots/SNAPSHOT_NAME/updateKmsKey
    
    {
    "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME"
    }
    

Ganti kode berikut:

  • PROJECT_ID: project yang berisi disk atau snapshot.
  • ZONE: zona tempat disk berada.
  • REGION: region tempat disk atau snapshot berada.
  • DISK_NAME: nama disk.
  • NEW_KEY_NAME: nama CMEK baru.
  • SNAPSHOT_NAME: nama snapshot terenkripsi.

Menghapus CMEK dari disk

Anda tidak dapat menghapus CMEK dari disk atau mengubah jenis kunci enkripsi. Anda dapat melakukan salah satu hal berikut:

Untuk membuat disk yang menggunakan Google-owned and managed key dari disk yang dienkripsi CMEK, ikuti langkah-langkah berikut:

  1. Buat snapshot disk terenkripsi.
  2. Gunakan snapshot terenkripsi baru untuk membuat disk baru.

Setelah dibuat, disk baru akan menggunakan enkripsi default untuk membantu melindungi konten disk. Google Cloud Snapshot apa pun yang Anda buat dari disk tersebut juga harus menggunakan enkripsi default.

Menghapus CMEK dari snapshot

Anda tidak dapat menghapus CMEK dari snapshot atau mengubah jenis kunci enkripsi. Anda dapat mengubah snapshot untuk menggunakan CMEK yang berbeda, atau membuat salinan snapshot dan mengenkripsi salinan dengan Google-owned and managed key.

Untuk membuat snapshot yang menggunakan Google-owned and managed key dari snapshot yang dienkripsi dengan CMEK, ikuti langkah-langkah berikut:

  1. Buat disk baru dari snapshot. Saat membuat disk baru, pilih jenis enkripsi yang Anda inginkan.

  2. Buat snapshot disk baru:

Menonaktifkan atau menghancurkan CMEK

Jika Anda tidak lagi memerlukan CMEK atau ingin mencegah penggunaannya, nonaktifkan atau hancurkan kunci tersebut. Menghapus, menonaktifkan, atau menghapus izin IAM pada kunci juga disebut sebagai mencabut kunci.

Dampak pencabutan kunci pada resource terenkripsi

Saat Anda mencabut kunci enkripsi, resource yang dilindungi oleh kunci tersebut akan terpengaruh sebagai berikut:

  • Anda tidak dapat melakukan booting VM jika salah satu disk yang terpasang memiliki kunci yang dicabut.
  • Jika disk yang menggunakan kunci terpasang pada VM yang sedang berjalan, dan Anda mengaktifkan penonaktifan VM saat pencabutan kunci untuk VM tersebut, Compute Engine akan menonaktifkan VM dalam waktu 7 jam.
  • Anda tidak dapat memasang disk dengan kunci yang dicabut ke VM atau membuat snapshot dari disk tersebut.
  • Anda tidak dapat menggunakan image atau snapshot yang dienkripsi dengan kunci yang dicabut untuk membuat disk.

Jika menonaktifkan kunci ini, Anda dapat membalik efek sebelumnya dengan mengaktifkan kunci tersebut. Jika Anda menghancurkan kunci ini, Anda tidak dapat membalikkan efek sebelumnya.

Mengonfigurasi penonaktifan VM pada pencabutan kunci Cloud KMS

Anda dapat mengonfigurasi VM agar mati secara otomatis saat Anda mencabut kunci Cloud KMS yang membantu melindungi disk yang terpasang ke VM. Anda dapat mencabut kunci dengan menonaktifkan atau menghapusnya. Jika setelan ini diaktifkan, VM akan dihentikan dalam waktu 7 jam setelah pencabutan kunci.

Jika mengaktifkan kembali kunci tersebut, Anda dapat memulai ulang VM dengan disk yang terpasang yang ingin dilindungi oleh kunci tersebut. VM tidak secara otomatis dimulai ulang setelah Anda mengaktifkan kunci.

Konsol

Untuk mengonfigurasi VM agar berhenti beroperasi ketika kunci Cloud KMS dicabut, lakukan langkah berikut:

  1. Mulai buat VM yang berisi disk yang dilindungi oleh kunci Cloud KMS.
  2. Buka menu Networking, disks, security, management, sole-tenancy.
  3. Luaskan bagian Management.
  4. Di bagian Kebijakan pencabutan Kunci Enkripsi yang Dikelola Pelanggan (CMEK), pilih Matikan.

gcloud

Gunakan perintah gcloud compute instances create untuk membuat VM, dan sertakan --key-revocation-action-type=stop.

gcloud compute instances create VM_NAME \
  --image IMAGE \
  --key-revocation-action-type=stop

REST

Gunakan metode instances.insert untuk membuat VM, dan tetapkan properti "keyRevocationActionType" ke "STOP". Contoh berikut membuat VM dari image publik.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks": [
    {
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
    }
  ],
  "keyRevocationActionType": "STOP"
}

Atau, Anda dapat mengonfigurasi template instance untuk membuat VM yang dihentikan saat pencabutan kunci menggunakan Google Cloud CLI atau REST.

Konsol

Anda dapat menggunakan template instance untuk membuat VM yang dimatikan saat kunci Cloud KMS dicabut.

  1. Mulai buat template instance baru yang berisi disk yang dilindungi oleh kunci Cloud KMS.
  2. Buka menu Networking, disks, security, management, sole-tenancy.
  3. Luaskan bagian Management.
  4. Di bagian Kebijakan pencabutan Kunci Enkripsi yang Dikelola Pelanggan (CMEK), pilih Shutdown.

gcloud

Buat template instance menggunakan perintah gcloud compute instance-templates create, dan sertakan --key-revocation-action-type=stop.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
  --key-revocation-action-type=stop

REST

Buat permintaan POST ke metode instanceTemplates.insert. Di isi permintaan, Anda harus secara eksplisit menentukan semua kolom konfigurasi yang wajib diisi. Jika Anda ingin VM yang dibuat dari template ini dinonaktifkan saat kunci dicabut, tentukan "keyRevocationActionType":"STOP". Misalnya, template instance dengan kolom wajib diisi minimal yang akan membuat VM yang dinonaktifkan saat pencabutan kunci terlihat seperti berikut:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceTemplates

{
  "name": "example-template",
  "properties": {
  "machineType": "e2-standard-4",
  "networkInterfaces": [
    {
      "network": "global/networks/default",
      "accessConfigs": [
        {
          "name": "external-IP",
          "type": "ONE_TO_ONE_NAT"
        }
      ]
    }
  ],
  "disks":
  [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "initializeParams":
      {
        "sourceImage": "projects/debian-cloud/global/images/family/debian-11"
      }
    }
  ],
  "keyRevocationActionType": "STOP"
  }
}

Setelah Anda membuat VM yang dikonfigurasi untuk dinonaktifkan pada pencabutan Cloud KMS, buat dan lampirkan Persistent Disk yang dienkripsi dengan kunci Cloud KMS.

Langkah berikutnya