Mengenkripsi resource workstation menggunakan CMEK

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

  1. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat dua projectGoogle 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.

  2. Pastikan penagihan diaktifkan untuk project Cloud Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada project.

  3. Aktifkan API yang diperlukan di setiap project.

  4. Pastikan Anda menginstal dan melakukan inisialisasi gcloud CLI. Untuk melakukan inisialisasi gcloud 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:

  1. 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.

  2. Buat kunci enkripsi simetris.

    Pastikan Anda membuat kunci CMEK dan konfigurasi workstation di region yang sama.

  3. 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 Anda:

  1. Di konsol Google Cloud, buka halaman Key management.

    Buka Key management

  2. Klik nama key ring yang berisi kunci.

  3. Centang kotak untuk kunci yang ingin Anda gunakan.

    Tab Permissions akan muncul sebagai panel.

  4. Pada dialog Add members, tentukan alamat email akun layanan Compute Engine yang Anda berikan akses.

  5. Di menu drop-down Select a role, pilih Cloud KMS CryptoKey Encrypter/Decrypter.

  6. Klik Add another role.

  7. Di menu drop-down Select a role, pilih Cloud KMS Viewer.

  8. Klik Save.

Untuk mengaktifkan CMEK dari Konsol Google Cloud:

  1. Ikuti langkah-langkah untuk Membuat konfigurasi workstation.

  2. Saat menentukan konfigurasi mesin, cari bagian Opsi lanjutan.

  3. Klik expand_more Expand More, lalu pilih Use customer-managed encryption key (CMEK).

    1. 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.

    2. Di kolom Service account, pilih akun layanan yang digunakan oleh kunci.

  4. Selesaikan langkah-langkah lainnya untuk membuat konfigurasi workstation.

  5. 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:

  1. Berikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter) pada kunci CMEK kepada akun layanan KMS untuk project workstation Anda. 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
    

    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 diGoogle Cloud.

    Untuk mengetahui informasi tentang semua flag dan kemungkinan nilai, jalankan perintah dengan flag --help.

  2. 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.

  3. 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 diGoogle Cloud.

    Untuk mengetahui informasi tentang semua flag dan kemungkinan nilai, jalankan perintah dengan flag --help.

  4. 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
  5. 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 aktivitas 3600s, dan resource workstation terenkripsi CMEK, jalankan perintah CLI gcloud 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 Anda memulai workstation lagi, 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 selanjutnya