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.
Untuk mempelajari lebih lanjut cara menggunakan kunci enkripsi yang disediakan pelanggan (CSEK) untuk mengenkripsi disk dan resource penyimpanan lainnya, lihat Mengenkripsi disk dengan kunci enkripsi yang disediakan pelanggan.
Pelajari lebih lanjut Tentang enkripsi disk.
Sebelum memulai
- Memahami disk, image, snapshot persistent disk, dan instance virtual machine (VM).
- Tentukan apakah Anda akan menjalankan Compute Engine dan Cloud KMS di project Google Cloud yang sama, atau dalam project yang berbeda. Untuk informasi tentang project ID dan nomor project Google Cloud, lihat Mengidentifikasi project.
- Untuk project Google Cloud yang menjalankan Cloud KMS, lakukan hal berikut:
-
Enable the Cloud KMS API.
-
- + Jika Anda ingin membuat volume Hyperdisk Balanced baru dalam mode Rahasia, pastikan kasus penggunaan Anda didukung dengan meninjau Batasan dan region yang didukung yang relevan.
-
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
KMS_PROJECT_ID
: ID project Google Cloud Anda yang menjalankan Cloud KMS (meskipun project ini sama dengan yang menjalankan Compute Engine)PROJECT_NUMBER
: nomor project (bukan project ID Google Cloud) dari project Google Cloud Anda yang menjalankan resource Compute EngineAnda tidak dapat mengenkripsi resource yang ada dengan CMEK. Anda hanya dapat mengenkripsi disk, image, dan snapshot dengan CMEK saat membuatnya.
Saat membuat disk dari snapshot instan terenkripsi CMEK, Anda harus menentukan kunci yang digunakan untuk mengenkripsi disk sumber. Anda tidak perlu menentukan kunci saat menggunakan resource lain yang dienkripsi CMEK seperti clone disk dan snapshot standar.
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, regionus-west1
, atau multi-regionus
.Resource global (seperti image dan snapshot) dapat dienkripsi oleh kunci di lokasi mana pun. Untuk informasi selengkapnya, lihat Jenis lokasi untuk Cloud KMS.
Enkripsi disk, snapshot, atau image dengan kunci bersifat permanen. Anda tidak dapat menghapus enkripsi dari resource, mengubah jenis enkripsi, atau mengubah kunci yang digunakan. Satu-satunya cara untuk menghapus enkripsi atau mengubah kunci enkripsi adalah dengan membuat salinan resource sambil menentukan opsi enkripsi baru. Misalnya, untuk mengubah disk agar tidak menggunakan kunci yang dibuat Google ke CMEK, ikuti langkah-langkah berikut:
- Buat snapshot disk.
- Buat disk baru dari snapshot. Saat membuat disk baru, pilih jenis enkripsi yang Anda inginkan.
Untuk mengetahui informasi selengkapnya, lihat Mengubah jenis disk.
- Di konsol Google Cloud, buka halaman Disks.
- Klik Create disk dan masukkan properti untuk disk baru.
- Di bagian Encryption, pilih Customer-managed key.
- Di menu drop-down, pilih kunci Cloud KMS yang ingin Anda gunakan untuk mengenkripsi disk ini.
- Untuk membuat disk, klik Create.
DISK_NAME
: nama disk baruKMS_PROJECT_ID
: project yang memiliki kunci Cloud KMSREGION
: region tempat kunci beradaKEY_RING
: nama key ring yang menyertakan kunciKEY
: nama kunci yang digunakan untuk mengenkripsi diskPROJECT_ID
: ID project Google Cloud yang menjalankan Compute EngineZONE
: zona untuk membuat VMMACHINE_TYPE
: jenis mesin, misalnyac3-standard-4
KMS_PROJECT_ID
: project yang memiliki kunci Cloud KMSREGION
: region tempat disk beradaKEY_RING
: nama key ring yang menyertakan kunciKEY
: nama kunci yang digunakan untuk mengenkripsi diskSOURCE_IMAGE
: image yang akan digunakan saat membuat VM, misalnya,projects/debian-cloud/global/images/debian-11-bullseye-v20231115
PROJECT_ID
: ID project Google Cloud yang menjalankan Compute EngineZONE
: zona tempat disk akan dibuatSOURCE_IMAGE
: image yang akan digunakan saat membuat disk, misalnya,projects/debian-cloud/global/images/debian-11-bullseye-v20231115
DISK_NAME
: nama untuk disk baruKMS_PROJECT_ID
: project yang memiliki kunci Cloud KMSREGION
: region tempat disk beradaKEY_RING
: nama key ring yang menyertakan kunciKEY
: nama kunci yang digunakan untuk mengenkripsi diskDISK_TYPE
: jenis disk yang akan dibuat- Di konsol Google Cloud, buka halaman Disks.
- Klik Create disk dan masukkan properti untuk disk baru.
- Di bagian Disk settings, pilih Hyperdisk Balanced untuk jenis disk.
- Opsional. Ubah setelan Ukuran, IOPS yang Disediakan, dan Throughput yang Disediakan disk default untuk disk.
- Di bagian Enkripsi, pilih Kunci Cloud KMS.
- Dalam daftar kunci, pilih kunci Cloud HSM yang ingin Anda gunakan untuk mengenkripsi disk ini.
- Di bagian Confidential Computing, pilih Enable Confidential Computing services.
- Untuk membuat disk, klik Buat.
DISK_NAME
: nama disk baruKMS_PROJECT_ID
: project yang memiliki kunci Cloud HSMREGION
: region tempat kunci beradaKEY_RING
: nama key ring yang menyertakan kunciKEY
: nama kunci yang digunakan untuk mengenkripsi diskDISK_TYPE
: jenis disk yang akan dibuat, misalnya,hyperdisk-balanced
PROJECT_ID
: ID project Google Cloud yang menjalankan Compute EngineZONE
: zona untuk membuat VMMACHINE_TYPE
: jenis mesin, misalnyan2d-standard-4
KMS_PROJECT_ID
: project yang memiliki kunci Cloud HSMREGION
: region tempat disk beradaKEY_RING
: nama key ring yang menyertakan kunciKEY
: nama kunci yang digunakan untuk mengenkripsi diskSOURCE_IMAGE
: image yang mendukung VM Rahasia untuk digunakan saat membuat VM, misalnya,projects/debian-cloud/global/images/debian-11-bullseye-v20231115
PROJECT_ID
: ID project Google Cloud yang menjalankan Compute EngineZONE
: zona tempat disk akan dibuatSOURCE_IMAGE
: image yang mendukung Confidential VM saat membuat disk, misalnya,projects/debian-cloud/global/images/debian-11-bullseye-v20231115
DISK_NAME
: nama untuk disk baruKMS_PROJECT_ID
: project yang memiliki kunci Cloud HSMREGION
: region tempat disk beradaKEY_RING
: nama key ring yang menyertakan kunciKEY
: nama kunci yang digunakan untuk mengenkripsi diskDISK_TYPE
: jenis disk yang akan dibuat, misalnya,hyperdisk-balanced
.- Di Konsol Google Cloud, buka halaman Snapshots.
- Klik Create snapshot.
- Pada Source disk, pilih disk sumber untuk snapshot. Snapshot akan otomatis dienkripsi dengan kunci yang sama dengan yang digunakan oleh disk sumber.
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
Ganti kode berikut:
- SNAPSHOT_NAME: Nama untuk snapshot.
- SOURCE_ZONE: Zona disk sumber.
- SOURCE_DISK_NAME: Nama volume disk tempat Anda ingin membuat snapshot.
- SNAPSHOT_TYPE: Jenis snapshot, baik STANDARD atau ARCHIVE.
Jika jenis snapshot tidak ditentukan, snapshot
STANDARD
akan dibuat. -
STORAGE_LOCATION: Opsional: 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 yang telah ditentukan sebelumnya atau disesuaikan yang dikonfigurasi di setelan snapshot Anda.
-
Untuk membuat snapshot di lokasi default bawaan atau disesuaikan yang dikonfigurasi di setelan snapshot Anda, buat permintaan
POST
ke metodesnapshots.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 metodesnapshots.insert
dan sertakan propertistorageLocations
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" ], }
- 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: 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 yang telah ditentukan sebelumnya atau disesuaikan yang dikonfigurasi di setelan snapshot Anda. - Di Konsol Google Cloud, buka halaman Images.
- Klik Create image.
- Untuk Source disk, pilih disk yang ingin Anda buat imagenya.
- Untuk Encryption, pilih Customer-managed key.
- Di menu drop-down, pilih kunci Cloud KMS yang ingin Anda gunakan untuk mengenkripsi image ini.
- Lanjutkan proses pembuatan iamge.
IMAGE_NAME
: nama image yang Anda buatSOURCE_DISK
: nama disk yang akan dibuat snapshotnyaKMS_PROJECT_ID
: project yang berisi kunci Cloud KMSREGION
: region tempat kunci Cloud KMS beradaKEY_RING
: key ring yang berisi kunci Cloud KMSKEY
: nama kunci yang digunakan untuk mengenkripsi disk baruPROJECT_ID
: project tempat membuat image terenkripsiIMAGE_NAME
: nama image yang Anda buatKMS_PROJECT_ID
: project yang berisi kunci Cloud KMSREGION
: region tempat kunci Cloud KMS beradaKEY_RING
: key ring yang berisi kunci Cloud KMSKEY
: nama kunci yang Anda gunakan untuk mengenkripsi disk sumber- Di konsol Google Cloud, buka halaman Disks.
- Klik Create disk dan masukkan properti untuk disk baru.
- Untuk Source type, pilih snapshot atau image yang ingin Anda gunakan.
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 Enkripsi, gunakan nilai default Kunci enkripsi yang dikelola Google.
Lanjutkan dengan proses pembuatan Persistent Disk.
DISK_NAME
: nama disk baruSNAPSHOT_NAME
: nama snapshot terenkripsiUntuk menggunakan image, bukan snapshot, ganti
--source-snapshot SNAPSHOT_NAME
dengan--image IMAGE_NAME
.KMS_PROJECT_ID
: Opsional: project yang berisi kunci Cloud KMSREGION
: Opsional: region tempat kunci Cloud KMS beradaKEY_RING
: Opsional: key ring yang berisi kunci Cloud KMSKEY
: Opsional: nama kunci Cloud KMS yang akan digunakan untuk mengenkripsi disk baruUntuk mengenkripsi disk baru, Anda dapat melakukan salah satu tindakan berikut:
- Untuk menentukan kunci enkripsi yang dikelola pelanggan baru, gunakan flag
--kms-key
. - Untuk menggunakan kunci default milik Google dan dikelola Google, jangan sertakan
flag
--kms-key
.
- Untuk menentukan kunci enkripsi yang dikelola pelanggan baru, gunakan flag
PROJECT_ID
: project tempat disk baru akan dibuatZONE
: zona tempat disk baru akan dibuatDISK_NAME
: nama disk baruSNAPSHOT_PROJECT_ID
: project yang berisi snapshotSNAPSHOT_NAME
: nama snapshot terenkripsiUntuk menggunakan image, bukan snapshot, ganti
sourceSnapshot
dengansourceImage
.KMS_PROJECT_ID
: Opsional: project yang berisi kunci Cloud KMSREGION
: Opsional: region tempat kunci Cloud KMS beradaKEY_RING
: Opsional: key ring yang berisi kunci Cloud KMSKEY
: Opsional: nama kunci Cloud KMS yang akan digunakan untuk mengenkripsi disk baruJika Anda menyertakan
diskEncryptionKey
, disk akan dienkripsi dengan kunci Cloud KMS yang ditentukan. Jika Anda tidak menyertakandiskEncryptionKey
, disk akan dienkripsi menggunakan kunci milik dan dikelola Google.Di konsol Google Cloud, buka halaman Create an instance.
Tentukan detail VM, lalu di bagian Boot disk, klik Change. Kemudian, lakukan hal berikut:
- Klik Existing disk.
- Dalam daftar Disk, pilih disk yang ada untuk dipasang ke VM.
- Klik Select.
Lanjutkan dengan proses pembuatan VM.
VM_NAME
: nama VM yang Anda buatDISK_NAME
: nama disk terenkripsiPROJECT_ID
: project tempat membuat VM baruZONE
: zona tempat membuat VM baruDISK_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 bentukpersistent-disk-x
, denganx
adalah angka yang ditetapkan oleh Compute Engine. Kolom ini hanya berlaku untuk volume Persistent Disk.DISK_NAME
: nama disk terenkripsi- Buat snapshot disk terenkripsi.
- Gunakan snapshot terenkripsi baru untuk membuat persistent disk baru.
- Rotasi kunci Cloud KMS Anda.
- Buat snapshot disk terenkripsi.
- Gunakan snapshot baru untuk membuat disk baru dengan kunci yang dirotasi pada langkah sebelumnya.
- Ganti disk yang terpasang ke VM Anda yang menggunakan kunci enkripsi lama.
- Anda tidak dapat mem-booting VM jika salah satu disk yang terpasang memiliki kunci yang dicabut.
- Jika disk yang menggunakan kunci terpasang ke 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.
- Anda tidak dapat menggunakan image atau snapshot yang dienkripsi dengan kunci yang dicabut untuk membuat disk.
- Mulai buat VM yang berisi disk yang dilindungi oleh kunci Cloud KMS.
- Buka menu Networking, disks, security, management, sole-tenancy.
- Luaskan bagian Management.
- Di bagian Kebijakan pencabutan Kunci Enkripsi yang Dikelola Pelanggan (CMEK), pilih Matikan.
- Mulai buat template instance baru yang berisi disk yang dilindungi oleh kunci Cloud KMS.
- Buka menu Networking, disks, security, management, sole-tenancy.
- Luaskan bagian Management.
- Di bagian Kebijakan pencabutan Kunci Enkripsi yang Dikelola Pelanggan (CMEK), pilih Shutdown.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.
Peran yang diperlukan
Untuk memastikan bahwa Agen Layanan Compute Engine memiliki izin yang diperlukan untuk melindungi resource menggunakan kunci Cloud KMS, minta administrator 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.Administrator Anda mungkin juga dapat memberikan izin yang diperlukan kepada Agen Layanan Compute Engine melalui peran khusus atau peran bawaan lainnya.
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:
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 kunci milik dan dikelola Google. Untuk mengetahui spesifikasi terkait enkripsi default di Google Cloud, lihat Enkripsi default dalam penyimpanan 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
Pembuatan kunci manual atau otomatis
Anda dapat membuat kunci Cloud KMS secara manual atau menggunakan Kunci Otomatis 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 terlebih dahulu. Sebagai gantinya, resource ini dibuat berdasarkan permintaan sebagai bagian dari pembuatan resource Compute Engine. Untuk informasi selengkapnya, lihat Ringkasan kunci otomatis.
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
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:
REST
Buat permintaan
POST
ke metodeinstances.insert
. Untuk mengenkripsi disk, gunakan propertidiskEncryptionKey
dengan propertikmsKeyName
. 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:
Demikian pula, Anda dapat menggunakan metode
disks.insert
untuk membuat Persistent Disk mandiri baru dan mengenkripsinya dengan kunci Cloud KMS: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:
Membuat disk Hyperdisk Balanced dalam mode Rahasia
Anda dapat membuat disk Hyperdisk Balanced baru dalam mode Rahasia dengan konsol Google Cloud, Google Cloud CLI, atau REST.
Konsol
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:
REST
Buat permintaan
POST
ke metodeinstances.insert
. Untuk mengenkripsi disk dengan Mode rahasia untuk Hyperdisk Balanced, gunakan propertidiskEncryptionKey
dengan propertikmsKeyName
dan tetapkan flagenableConfidentialCompute
. 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:
Demikian pula, Anda dapat menggunakan metode
disks.insert
untuk membuat Mode rahasia baru untuk Hyperdisk Balanced: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:
Membuat snapshot dari disk yang dienkripsi dengan CMEK
Untuk membantu melindungi snapshot yang Anda buat dari disk yang dienkripsi dengan CMEK, Anda harus menggunakan 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 terenkripsi CMEK untuk menggunakan enkripsi default Google Cloud, kecuali jika Anda membuat disk image yang benar-benar baru dan persistent disk baru.
Snapshot dari disk yang dienkripsi dengan CMEK bersifat inkremental.
Konsol
gcloud
Untuk enkripsi yang dikelola pelanggan, kunci Cloud KMS yang digunakan untuk mengenkripsi disk juga digunakan untuk mengenkripsi snapshot.
Anda dapat membuat snapshot dalam kebijakan lokasi penyimpanan yang ditentukan oleh setelan snapshot atau menggunakan lokasi penyimpanan alternatif pilihan Anda. Untuk informasi selengkapnya, lihat Memilih lokasi penyimpanan snapshot.
REST
Anda dapat membuat snapshot dalam kebijakan lokasi penyimpanan yang ditentukan oleh setelan snapshot atau menggunakan lokasi penyimpanan alternatif pilihan Anda. Untuk informasi selengkapnya, lihat Memilih lokasi penyimpanan snapshot.
Ganti kode berikut:
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
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:
REST
Untuk mengenkripsi image yang diimpor, buat permintaan
POST
ke metodeimages.insert
. Tentukan URI ke file yang dikompresi, tambahkan propertiimageEncryptionKey
ke permintaan pembuatan image, dan tentukan kunci untuk mengenkripsi image di propertikmsKeyName
.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:
Membuat Persistent Disk dari snapshot yang dienkripsi dengan CMEK
Untuk membuat Persistent Disk mandiri baru dari snapshot terenkripsi, lakukan langkah berikut:
Konsol
gcloud
Gunakan perintah
gcloud compute disks create
untuk membuat Persistent Disk mandiri baru dari snapshot terenkripsi.gcloud compute disks create DISK_NAME \ --source-snapshot SNAPSHOT_NAME \ --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
Ganti kode berikut:
REST
Buat permintaan
POST
ke metodecompute.disks.insert
untuk membuat Persistent Disk mandiri baru dari snapshot terenkripsi. Gunakan propertisourceSnapshot
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" } }
Ganti kode berikut:
Memasang boot disk yang dienkripsi dengan CMEK ke VM baru
Konsol
gcloud
Untuk memasang disk terenkripsi saat Anda membuat VM baru, gunakan perintah
gcloud compute instances create
. Gunakan flag--disk
untuk menentukan disk booting terenkripsi, seperti yang ditunjukkan pada contoh berikut:gcloud compute instances create VM_NAME \ ... --disk name=DISK_NAME,boot=yes
Ganti kode berikut:
REST
Buat permintaan
POST
ke metodecompute.instances.insert
. Gunakan propertidisks
untuk menentukan disk booting terenkripsi, seperti 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:
Menghapus kunci enkripsi Cloud KMS Anda dari Persistent Disk
Anda dapat mendekripsi isi disk yang dienkripsi dan membuat disk baru yang menggunakan enkripsi default Google Cloud. Secara default, Google Cloud mengenkripsi semua data dalam penyimpanan.
Setelah dibuat, Persistent Disk baru akan menggunakan enkripsi default Google Cloud untuk membantu melindungi konten disk. Snapshot apa pun yang Anda buat dari disk tersebut juga harus menggunakan enkripsi default.
Merotasi kunci enkripsi Cloud KMS untuk disk
Putar kunci yang digunakan untuk mengenkripsi disk dengan membuat disk baru yang menggunakan versi kunci Cloud KMS baru. Merotasi kunci adalah praktik terbaik untuk mematuhi praktik keamanan standar. Untuk merotasi kunci, lakukan langkah berikut:
Saat Anda membuat disk baru, disk akan menggunakan versi kunci baru untuk enkripsi. Setiap snapshot yang Anda buat dari disk tersebut menggunakan versi kunci utama terbaru.
Saat Anda merotasi kunci, data yang dienkripsi dengan versi kunci sebelumnya tidak akan otomatis dienkripsi ulang. Untuk mengetahui informasi selengkapnya, lihat Enkripsi ulang data. Memutar kunci tidak otomatis akan menonaktifkan atau menghancurkan versi kunci yang ada.
Menonaktifkan atau menghapus CMEK
Jika Anda tidak lagi memerlukan CMEK atau ingin mencegah penggunaannya, hapus atau nonaktifkan 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 kunci tersebut akan terpengaruh sebagai berikut:
Jika menonaktifkan kunci ini, Anda dapat membalik efek sebelumnya dengan mengaktifkan kunci tersebut. Jika Anda menghapus 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 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:
gcloud
Gunakan perintah
gcloud compute instances create
untuk membuat VM, dan sertakan--key-revocation-action-type=stop
.gcloud compute instances create
VM_NAME
\ --imageIMAGE
\ --key-revocation-action-type=stopREST
Gunakan metode
instances.insert
untuk membuat VM, dan tetapkan properti"keyRevocationActionType"
ke"STOP"
. Contoh berikut akan 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.
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=stopREST
Buat permintaan POST ke metode
instanceTemplates.insert
. Dalam isi permintaan, Anda harus secara eksplisit menentukan semua kolom konfigurasi yang diperlukan. 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.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-12-22 UTC.
-