Secara default, Cloud Workstations menggunakan kunci milik dan dikelola Google untuk mengenkripsi resource workstation seperti VM dan disk persisten saat data dalam penyimpanan. Jika Anda memiliki persyaratan kepatuhan atau peraturan khusus terkait kunci yang melindungi data, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) menggunakan Cloud Key Management Service (Cloud KMS).
Untuk mengetahui informasi selengkapnya tentang CMEK secara umum, termasuk waktu dan alasan mengaktifkannya, lihat Dokumentasi Cloud KMS.
Sebelum memulai
Membuat project
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat dua project Google Cloud:
Project kunci berisi resource Cloud KMS Anda, termasuk key ring dan kunci enkripsi simetris.
Project workstation berisi workstation yang dienkripsi dengan kunci CMEK.
Anda dapat menggunakan project yang sama untuk project utama dan project workstation, tetapi sebagai praktik terbaik, sebaiknya gunakan dua project untuk pemisahan tugas.
Pastikan penagihan diaktifkan untuk project Cloud Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada project.
Aktifkan API yang diperlukan di setiap project.
Di project kunci, pastikan Anda telah mengaktifkan Cloud KMS API.
Di project workstation, pastikan Anda telah mengaktifkan Cloud KMS dan Cloud Workstations API.
Pastikan Anda menginstal dan melakukan inisialisasi
gcloud
CLI. Untuk melakukan inisialisasigcloud
CLI, jalankan perintah berikut:gcloud init
Peran yang diperlukan
Meskipun Anda dapat memberikan peran Cloud KMS Admin dan Cloud Workstations Admin kepada orang yang sama, sebaiknya ikuti prinsip hak istimewa terendah saat menetapkan peran. Sebagai praktik terbaik, berikan peran ini kepada dua orang yang berbeda dan minta mereka untuk berkoordinasi, bukan meminta Cloud KMS Anda untuk juga menjadi Admin Cloud Workstations Anda. Untuk mengetahui informasi selengkapnya, lihat praktik terbaik keamanan dan menggunakan IAM dengan aman.
Untuk mendapatkan izin yang diperlukan guna menyiapkan CMEK, minta administrator untuk memberi Anda peran IAM berikut:
-
Jika Anda adalah Admin Cloud KMS, minta administrator untuk memberi Anda peran berikut agar Anda dapat membuat dan mengelola resource Cloud KMS:
Admin Cloud KMS (
roles/cloudkms.admin
) di project kunci Anda. -
Jika Anda adalah Cloud Workstations Admin, minta administrator untuk memberi Anda peran berikut agar Anda dapat membuat dan memperbarui workstation:
Cloud Workstations Admin (
roles/workstations.admin
) di project workstation Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Membuat key ring dan kunci enkripsi
Di project kunci, buat kunci dan simpan ID resource kunci:
Buat atau pilih key ring.
Anda dapat membagikan ring kunci antarlayanan, tetapi sebagai praktik terbaik, sebaiknya Anda menggunakan kunci yang berbeda untuk setiap resource yang dilindungi. Lihat pemisahan tugas.
Buat kunci enkripsi simetris.
Pastikan Anda membuat kunci CMEK dan konfigurasi workstation di region yang sama.
Dapatkan ID resource kunci dan simpan untuk langkah berikutnya.
Memeriksa konfigurasi workstation
Jika Anda tidak memiliki konfigurasi workstation yang tersedia di konsol Google Cloud, minta Admin Cloud Workstations untuk membuat konfigurasi workstation bagi Anda, atau pastikan Anda memiliki peran IAM Admin Cloud Workstations di project sehingga Anda dapat membuat resource ini sendiri.
Menggunakan kunci enkripsi yang dikelola pelanggan
Untuk menggunakan CMEK dalam konfigurasi workstation, aktifkan CMEK dari Konsol Google Cloud atau CLI gcloud
.
Konsol
Berikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS dan peran Cloud KMS Viewer ke akun layanan Compute Engine dan agen layanan Compute Engine Anda:
Di konsol Google Cloud, buka halaman Key management.
Klik nama key ring yang berisi kunci.
Centang kotak untuk kunci yang ingin Anda gunakan.
Tab Permissions akan muncul sebagai panel.
Pada dialog Add members, tentukan alamat email akun layanan Compute Engine dan agen layanan Compute Engine yang Anda berikan akses.
Di menu drop-down Select a role, pilih Cloud KMS CryptoKey Encrypter/Decrypter.
Klik Add another role.
Di menu drop-down Select a role, pilih Cloud KMS Viewer.
Klik Simpan.
Untuk mengaktifkan CMEK dari Konsol Google Cloud:
Ikuti langkah-langkah untuk Membuat konfigurasi workstation.
Saat menentukan konfigurasi mesin, cari bagian Opsi lanjutan.
Klik expand_more Expand More, lalu pilih Use customer-managed encryption key (CMEK).
Di kolom Select a customer-managed key, pilih kunci enkripsi yang dikelola pelanggan yang Anda buat di project kunci.
Jika kunci yang Anda buat tidak tercantum, klik Masukkan kunci secara manual untuk memilih kunci berdasarkan resource ID, lalu masukkan resource ID yang Anda catat sebelumnya.
Di kolom Service account, pilih akun layanan yang digunakan oleh kunci.
Selesaikan langkah-langkah lainnya untuk membuat konfigurasi workstation.
Buat, mulai, dan luncurkan konfigurasi workstation, untuk mengenkripsi disk persisten dalam project Anda dengan kunci Cloud KMS yang ditentukan.
gcloud
Contoh berikut memberikan peran IAM yang memberikan akses ke kunci Cloud KMS, lalu mengaktifkan CMEK dengan menentukan kunci tersebut di konfigurasi workstation:
Berikan akun layanan KMS dan agen layanan Compute Engine untuk project workstation Anda peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) pada kunci CMEK. Tindakan ini memungkinkan layanan Compute Engine membuat resource terenkripsi di project Anda, menggunakan kunci CMEK yang ditentukan.gcloud kms keys add-iam-policy-binding KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --member serviceAccount:WORKSTATIONS_PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter \ --project KMS_PROJECT_ID gcloud kms keys add-iam-policy-binding KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --member serviceAccount:service-WORKSTATIONS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter \ --project KMS_PROJECT_ID
Ganti kode berikut:
KEY_NAME
: nama kunci Anda.LOCATION
: nama region tempat Anda membuat key ring.KEY_RING
: nama key ring Anda.WORKSTATIONS_PROJECT_NUMBER
: ID numerik unik yang dihasilkan secara otomatis dan disertakan sebagai bagian pertama dari akun layanan default Compute Engine dari project workstation.KMS_PROJECT_ID
: project ID, string unik yang digunakan untuk membedakan project Cloud KMS Anda dari semua project lainnya di Google Cloud.
Untuk mengetahui informasi tentang semua flag dan kemungkinan nilai, jalankan perintah dengan flag
--help
.Untuk mengambil akun layanan pengelolaan workstation untuk project workstation Anda, gunakan perintah berikut:
gcloud beta services identity create --service=workstations.googleapis.com \ --project=WORKSTATIONS_PROJECT_ID
Ganti
WORKSTATIONS_PROJECT_ID
dengan project ID workstation Anda.Berikan akun layanan pengelolaan workstation untuk project Anda peran Cloud KMS Viewer (
roles/cloudkms.viewer
) pada kunci CMEK. Hal ini memungkinkan layanan workstation mendeteksi rotasi kunci dan mengenkripsi ulang resource sesuai kebutuhan dalam project Anda.gcloud kms keys add-iam-policy-binding KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --member WORKSTATIONS_MANAGEMENT_SERVICE_ACCOUNT \ --role roles/cloudkms.viewer \ --project KMS_PROJECT_ID
Ganti kode berikut:
KEY_NAME
: nama kunci Anda.LOCATION
: nama region tempat Anda membuat key ring.KEY_RING
: nama key ring Anda.WORKSTATIONS_MANAGEMENT_SERVICE_ACCOUNT
: akun layanan pengelolaan workstation yang diperoleh dari langkah di atas.KMS_PROJECT_ID
: project ID, string unik yang digunakan untuk membedakan project kunci Cloud KMS Anda dari semua project lainnya di Google Cloud.
Untuk mengetahui informasi tentang semua flag dan kemungkinan nilai, jalankan perintah dengan flag
--help
.Opsional: jika Anda belum membuat cluster workstation, buat cluster menggunakan perintah CLI
gcloud
clusters create.gcloud workstations clusters create \ WORKSTATIONS_CLUSTER_NAME --region=LOCATION \ --project=WORKSTATIONS_PROJECT_NUMBER
Ganti kode berikut:
WORKSTATIONS_CLUSTER_NAME
: nama cluster workstation.LOCATION
: nama region untuk cluster workstation Anda.WORKSTATIONS_PROJECT_NUMBER
: ID numerik unik yang dihasilkan secara otomatis dan disertakan sebagai bagian pertama dari akun layanan default Compute Engine dari project workstation
Dengan asumsi bahwa Anda telah membuat cluster, buat konfigurasi workstation dengan setelan
encryption_key
.Untuk membuat konfigurasi workstation dengan jenis mesin
e2-standard-2
, waktu tunggu tidak ada aktivitas3600s
, dan resource workstation terenkripsi CMEK, jalankan perintah CLIgcloud
berikut:gcloud workstations configs create WORKSTATIONS_CONFIG_NAME \ --cluster=WORKSTATIONS_CLUSTER_NAME \ --region=LOCATION \ --machine-type="e2-standard-2" \ --idle-timeout=3600 \ --kms-key="projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME" \ --kms-key-service-account="WORKSTATIONS_PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --project=WORKSTATIONS_PROJECT_NUMBER
Ganti kode berikut:
WORKSTATIONS_CONFIG_NAME
: nama konfigurasi workstation.WORKSTATIONS_CLUSTER_NAME
: nama cluster workstation Anda.LOCATION
: nama region untuk cluster Anda.KMS_PROJECT_ID
: project ID, string unik yang digunakan untuk membedakan project Anda dari semua project lainnya di Google Cloud.KEY_RING
: nama key ring Anda.KEY_NAME
: nama kunci Anda.WORKSTATIONS_PROJECT_NUMBER
: ID numerik unik yang dihasilkan secara otomatis dan disertakan sebagai bagian pertama dari akun layanan default Compute Engine dari project workstation
Setelah Anda membuat konfigurasi workstation, Cloud KMS akan mengenkripsi persistent disk dalam project Anda dengan kunci Cloud KMS yang ditentukan.
Mengganti kunci enkripsi yang dikelola pelanggan
Saat Anda memberikan peran Cloud KMS Viewer kepada akun layanan pengelolaan workstation (roles/cloudkms.viewer
) pada kunci CMEK, layanan workstation dapat mendeteksi rotasi kunci dan mengenkripsi ulang disk rumah Anda menggunakan versi kunci utama yang baru.
Enkripsi ulang terjadi setelah Anda menghentikan workstation. Setiap kali Anda menghentikan workstation terenkripsi, layanan workstation akan memeriksa apakah kunci telah dirotasi. Jika kunci telah dirotasi, layanan workstation akan membuat snapshot disk utama workstation Anda dan menghapus disk tersebut. Saat berikutnya Anda memulai workstation, layanan workstation akan membuat disk baru dari snapshot, menggunakan versi kunci utama baru.
Kuota Cloud KMS dan Cloud Workstations
Saat Anda menggunakan CMEK di Cloud Workstations, project Anda dapat memakai kuota permintaan kriptografis Cloud KMS. Misalnya, repositori yang dienkripsi CMEK dapat memakai kuota ini untuk setiap unggahan atau unduhan. Operasi enkripsi dan dekripsi menggunakan kunci CMEK memengaruhi kuota Cloud KMS hanya jika Anda menggunakan kunci hardware (Cloud HSM) atau kunci eksternal (Cloud EKM). Untuk informasi selengkapnya, lihat kuota Cloud KMS.
Kunci eksternal
Anda dapat menggunakan Cloud External Key Manager (Cloud EKM) untuk mengenkripsi data dalam Google Cloud menggunakan kunci eksternal yang Anda kelola.
Saat Anda menggunakan kunci Cloud EKM, Google tidak memiliki kontrol atas ketersediaan kunci yang dikelola secara eksternal. Jika kunci tidak tersedia, workstation Anda tidak dapat dimulai.
Untuk pertimbangan lainnya saat menggunakan kunci eksternal, lihat Cloud External Key Manager.
Langkah selanjutnya
- Baca tentang Kunci enkripsi yang dikelola pelanggan.
- Pelajari Apa itu enkripsi?