Secara default, Cloud Workstations mengenkripsi konten pelanggan dalam penyimpanan. Cloud Workstations menangani enkripsi untuk Anda tanpa tindakan tambahan dari Anda. Opsi ini disebut enkripsi default Google.
Jika ingin mengontrol kunci enkripsi, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) di Cloud KMS dengan layanan yang terintegrasi dengan CMEK, termasuk Cloud Workstation. Dengan menggunakan kunci Cloud KMS, Anda dapat mengontrol tingkat perlindungan, lokasi, jadwal rotasi, izin penggunaan dan akses, serta batas kriptografisnya. Dengan Cloud KMS, Anda juga dapat melacak penggunaan kunci, melihat log audit, dan mengontrol siklus proses kunci. Alih-alih Google yang memiliki dan mengelola kunci enkripsi kunci (KEK) simetris yang melindungi data Anda, Andalah yang mengontrol dan mengelola kunci ini di Cloud KMS.
Setelah Anda menyiapkan resource dengan CMEK, pengalaman mengakses resource Cloud Workstations mirip dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi Anda, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).
Secara default, Cloud Workstations menggunakan Google-owned and Google-managed encryption key untuk mengenkripsi resource workstation seperti VM dan persistent disk 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 projectGoogle Cloud berikut:
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. Untuk mengetahui informasi selengkapnya, lihat Memverifikasi status penagihan 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.
Instal dan lakukan inisialisasi
gcloud
CLI:Untuk menginstal
gcloud
CLI, lihat Menginstalgcloud
CLI dan ikuti petunjuk untuk sistem operasi Anda.Untuk melakukan inisialisasi
gcloud
CLI, lihat Melakukan inisialisasigcloud
CLI atau 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 Admin 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 Anda perlukan untuk 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.
Key ring harus berada di region yang sama dengan cluster workstation Anda. Cloud Workstations tidak mendukung lokasi Cloud KMS multi-regional atau global.
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.
Dapatkan ID resource kunci dan simpan untuk langkah berikutnya.
Memberikan akses ke kunci enkripsi
Cloud Workstations menggunakan akun layanan berikut untuk mengelola enkripsi resource Anda:
Agen Layanan Cloud Workstations: Cloud Workstations menggunakan akun ini untuk mendeteksi kapan kunci Anda dirotasi.
Akun Layanan Kunci Cloud KMS: Anda akan memberikan akun layanan yang dapat digunakan Cloud Workstation untuk mengakses kunci Anda guna mengenkripsi dan mendekripsi resource.
Memberikan peran Cloud KMS Viewer ke Agen Layanan Cloud Workstations
Agen Layanan Cloud Workstations memungkinkan Cloud Workstations melakukan tugas layanan pada project Anda. Saat Anda mengaktifkan
Layanan Workstation Cloud di project workstation, agen layanan ini
akan otomatis dibuat. Agar CMEK berfungsi dengan benar, Anda harus memberikan
peran Cloud KMS Viewer
(roles/cloudkms.viewer
)
(roles/cloudkms.viewer
) pada kunci Cloud KMS kepada Cloud Workstations Service Agent untuk project workstation Anda, sehingga
Cloud Workstations dapat mendeteksi rotasi kunci.
Untuk mengambil Agen Layanan Cloud Workstations 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 ID project workstation Anda.Agen Layanan Cloud Workstations menggunakan format berikut:
service-$WORKSTATIONS_PROJECT_NUMBER@gcp-sa-workstations.iam.gserviceaccount.com
.Berikan peran Cloud KMS Viewer (
roles/cloudkms.viewer
) kepada Agen Layanan Cloud Workstations pada kunci CMEK. Hal ini memungkinkan Cloud Workstation mendeteksi rotasi kunci dan mengenkripsi ulang resource sesuai kebutuhan dalam project Anda.gcloud kms keys add-iam-policy-binding \ KEY_NAME \ --keyring=KEY_RING \ --location=LOCATION \ --project=KMS_PROJECT_ID \ --role=roles/cloudkms.viewer \ --member=CLOUD_WORKSTATIONS_SERVICE_AGENT
Ganti kode berikut:
KEY_NAME
: nama kunci Anda.KEY_RING
: nama key ring Anda.LOCATION
: lokasi yang berisi key ring Anda.KMS_PROJECT_ID
: ID project yang berisi kunci Anda.CLOUD_WORKSTATIONS_SERVICE_AGENT
: Agen Layanan Cloud Workstations yang diperoleh dari langkah sebelumnya.
Untuk mengetahui informasi tentang semua flag dan kemungkinan nilai, jalankan perintah dengan flag
--help
.
Menyiapkan Akun Layanan Kunci Cloud KMS
Cloud Workstations menggunakan akun layanan pilihan Anda untuk melakukan enkripsi dan dekripsi dengan kunci yang dikelola pelanggan. Kami menyebut akun ini sebagai Akun Layanan Kunci Cloud KMS. Anda dapat memilih untuk membuat akun layanan baru atau menggunakan akun layanan yang ada. Persyaratan untuk akun ini adalah:
- Admin Cloud Workstations harus memiliki
izin
iam.serviceAccounts.actAs
di akun layanan ini. - Akun layanan yang Anda pilih harus memiliki peran Pengenkripsi/Pendekripsi
CryptoKey Cloud KMS
(
roles/cloudkms.cryptoKeyEncrypterDecrypter
) di Kunci Cloud KMS Anda.
Jika Anda ingin membuat akun layanan baru, gunakan perintah berikut:
gcloud iam service-accounts create \ KMS_KEY_SERVICE_ACCOUNT_NAME \ --display-name="Service account for Cloud Workstations CMEK" \ --project=WORKSTATIONS_PROJECT_ID
Ganti kode berikut:
KMS_KEY_SERVICE_ACCOUNT_NAME
: nama akun layanan.WORKSTATIONS_PROJECT_ID
: ID project workstation Anda.
Akun layanan yang Anda buat memiliki email dalam format berikut:
KMS_KEY_SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
.Simpan email akun layanan untuk langkah berikutnya.
Untuk memberikan peran Pengguna Akun Layanan IAM Admin Cloud Workstations (
roles/iam.serviceAccountUser
) di Akun Layanan Kunci Cloud KMS, jalankan perintah berikut:gcloud iam service-accounts add-iam-policy-binding \ KMS_KEY_SERVICE_ACCOUNT_EMAIL \ --member="user:CLOUD_WORKSTATIONS_ADMIN_EMAIL" \ --project=WORKSTATIONS_PROJECT_ID \ --role=roles/iam.serviceAccountUser
Ganti kode berikut:
KMS_KEY_SERVICE_ACCOUNT_EMAIL
: email Akun Layanan Kunci Cloud KMS.CLOUD_WORKSTATIONS_ADMIN_EMAIL
: email Admin Cloud Workstations.WORKSTATIONS_PROJECT_ID
: ID project workstation Anda.
Untuk memberikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) ke Akun Layanan Kunci Cloud KMS di Kunci Cloud KMS Anda, jalankan perintah berikut:gcloud kms keys add-iam-policy-binding \ KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --project KMS_PROJECT_ID \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter \ --member serviceAccount:KMS_KEY_SERVICE_ACCOUNT_EMAIL\
Ganti kode berikut:
KEY_NAME
: nama kunci Anda.KEY_RING
: nama key ring Anda.LOCATION
: lokasi yang berisi key ring Anda.KMS_PROJECT_ID
: ID project yang berisi kunci Anda.KMS_KEY_SERVICE_ACCOUNT_EMAIL
: email Akun Layanan Kunci Cloud KMS.
Untuk mengetahui informasi tentang semua flag dan kemungkinan nilai, jalankan perintah dengan flag
--help
.
Memeriksa cluster workstation
Jika Anda tidak memiliki cluster workstation yang tersedia di konsol Google Cloud, minta Admin Cloud Workstations untuk membuat cluster workstation bagi Anda di region yang sama dengan ring kunci Cloud KMS, atau pastikan Anda memiliki peran IAM Admin Cloud Workstations di project sehingga Anda dapat membuat resource ini sendiri.
Menggunakan kunci enkripsi yang dikelola pelanggan
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_ID
Ganti kode berikut:
WORKSTATIONS_CLUSTER_NAME
: nama cluster workstation.LOCATION
: nama region untuk cluster workstation Anda.WORKSTATIONS_PROJECT_ID
: ID project workstation Anda.
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="KMS_KEY_SERVICE_ACCOUNT_EMAIL" \ --project=WORKSTATIONS_PROJECT_ID
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.KMS_KEY_SERVICE_ACCOUNT_EMAIL
: email Akun Layanan Kunci Cloud KMS.WORKSTATIONS_PROJECT_ID
: ID project workstation Anda.
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 Agen Layanan Cloud Workstations (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 home 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 dalamGoogle 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 berikutnya
- Baca tentang Kunci enkripsi yang dikelola pelanggan.
- Pelajari Apa itu enkripsi?