Kunci enkripsi yang dikelola pelanggan

Secara default, Vertex AI Workbench mengenkripsi konten pelanggan dalam penyimpanan. Vertex AI Workbench 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 terintegrasi CMEK, termasuk Vertex AI Workbench. Dengan menggunakan kunci Cloud KMS, Anda dapat mengontrol tingkat perlindungan, lokasi, jadwal rotasi, izin penggunaan dan akses, serta batas kriptografisnya. Dengan menggunakan Cloud KMS, Anda juga dapat 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 Vertex AI Workbench mirip dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi Anda, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).

Halaman ini menjelaskan beberapa manfaat dan keterbatasan tertentu penggunaan CMEK dengan notebook yang dikelola pengguna dan menunjukkan cara mengonfigurasi instance notebook baru yang dikelola pengguna untuk menggunakan CMEK.

Manfaat CMEK

Secara umum, CMEK paling berguna saat Anda memerlukan kontrol penuh atas kunci yang digunakan untuk mengenkripsi data Anda. Dengan CMEK, Anda dapat mengelola kunci dalam Cloud Key Management Service. Misalnya, Anda dapat merotasi atau menonaktifkan kunci atau menyiapkan jadwal rotasi menggunakan Cloud KMS API.

Saat Anda menjalankan instance notebook yang dikelola pengguna, instance Anda akan berjalan pada mesin virtual (VM) yang dikelola oleh Vertex AI Workbench. Saat Anda mengaktifkan CMEK untuk instance notebook yang dikelola pengguna, Vertex AI Workbench akan menggunakan kunci yang Anda tetapkan, bukan kunci yang dikelola oleh Google, untuk mengenkripsi data pada boot disk VM.

Kunci CMEK tidak mengenkripsi metadata, seperti nama dan region instance, yang terkait dengan instance notebook yang dikelola pengguna Anda. Metadata yang terkait dengan instance notebook yang dikelola pengguna selalu dienkripsi menggunakan mekanisme enkripsi default Google.

Keterbatasan CMEK

Untuk mengurangi latensi dan mencegah kasus di mana resource yang bergantung pada layanan yang tersebar di beberapa domain gagal, Google merekomendasikan agar Anda melindungi instance notebook regional yang dikelola pengguna dengan kunci di lokasi yang sama.

  • Anda dapat mengenkripsi instance notebook regional yang dikelola pengguna menggunakan kunci di lokasi yang sama atau di lokasi global. Misalnya, Anda dapat mengenkripsi data dalam disk di zona us-west1-a menggunakan kunci yang berada di us-west1 atau global.
  • Anda dapat mengenkripsi instance global menggunakan kunci yang berada di lokasi mana pun.
  • Mengonfigurasi CMEK untuk notebook yang dikelola pengguna tidak mengonfigurasi CMEK secara otomatis untuk produk Google Cloud lain yang Anda gunakan. Agar dapat menggunakan CMEK untuk mengenkripsi data di produk Google Cloud lainnya, Anda harus menyelesaikan konfigurasi tambahan.

Mengonfigurasi CMEK untuk instance notebook yang dikelola pengguna

Bagian berikut menjelaskan cara membuat key ring dan kunci di Cloud Key Management Service, memberikan izin bagi pengenkripsi dan pendekripsi akun layanan untuk kunci Anda, serta membuat instance notebook yang dikelola pengguna yang menggunakan CMEK.

Sebelum memulai

Sebaiknya gunakan penyiapan yang mendukung pemisahan tugas. Guna mengonfigurasi CMEK untuk notebook yang dikelola pengguna, Anda dapat menggunakan dua project Google Cloud yang terpisah:

  • Project Cloud KMS: project untuk mengelola kunci enkripsi Anda
  • Project notebook yang dikelola pengguna: project untuk mengakses instance notebook yang dikelola pengguna dan berinteraksi dengan produk Google Cloud lain yang Anda perlukan untuk kasus penggunaan

Atau, Anda dapat menggunakan satu project Google Cloud. Untuk melakukannya, gunakan project yang sama untuk semua tugas berikut.

Menyiapkan project Cloud KMS

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Aktifkan API Cloud KMS.

    Mengaktifkan API

  5. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Aktifkan API Cloud KMS.

    Mengaktifkan API

Menyiapkan project notebook yang dikelola pengguna

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Aktifkan Notebooks API.

    Mengaktifkan API

  5. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Aktifkan Notebooks API.

    Mengaktifkan API

Menyiapkan Google Cloud CLI

gcloud CLI diperlukan untuk beberapa langkah di halaman ini, dan bersifat opsional untuk langkah lainnya.

Install the Google Cloud CLI, then initialize it by running the following command:

gcloud init

Membuat key ring dan kunci

Saat Anda membuat key ring dan kunci, perhatikan persyaratan berikut:

  • Saat Anda memilih lokasi key ring, gunakan global atau lokasi tempat instance notebook yang dikelola pengguna Anda berada.

  • Pastikan untuk membuat key ring dan kunci di project Cloud KMS Anda.

Untuk membuat key ring dan kunci, lihat Membuat kunci enkripsi simetris.

Memberikan izin kepada notebook yang dikelola pengguna

Agar dapat menggunakan CMEK untuk instance notebook yang dikelola pengguna, Anda harus memberikan izin kepada instance notebook yang dikelola pengguna untuk mengenkripsi dan mendekripsi data menggunakan kunci Anda.

Menentukan akun layanan yang akan digunakan

Notebook yang dikelola pengguna menggunakan akun layanan untuk menjalankan instance notebook yang dikelola pengguna. Akun layanan ini dapat berupa akun layanan Compute Engine default atau akun layanan yang Anda tentukan saat membuat instance.

Jika akun layanan adalah akun layanan Compute Engine default, selesaikan langkah-langkah berikut untuk menemukan alamat email akun layanan tersebut:

  1. Di konsol Google Cloud, buka halaman IAM.

    Buka IAM

  2. Temukan akun utama dengan nama Compute Engine default service account.

    Catat alamat email untuk akun layanan ini, lalu gunakan dalam langkah-langkah berikut guna memberinya izin untuk mengenkripsi dan mendekripsi data menggunakan kunci Anda.

Memberikan izin kepada akun layanan

Berikan izin menggunakan konsol Google Cloud atau Google Cloud CLI.

Konsol

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

    Buka Key management

  2. Pilih project Cloud KMS Anda.

  3. Klik nama key ring yang Anda buat di Membuat key ring dan kunci. Halaman Detail key ring akan terbuka.

  4. Centang kotak untuk kunci yang Anda buat di Membuat key ring dan kunci. Jika panel info yang dilabeli dengan nama kunci Anda belum terbuka, klik Tampilkan panel info.

  5. Di panel info, klik  Tambah anggota. Dialog Tambah anggota ke "KEY_NAME" akan terbuka. Dalam dialog ini, lakukan hal berikut:

    1. Di kolom Anggota baru, masukkan alamat email akun layanan untuk instance Anda.

    2. Di daftar Pilih peran, klik Cloud KMS, lalu pilih peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS.

    3. Klik Simpan.

gcloud

Jalankan perintah berikut:

gcloud kms keys add-iam-policy-binding KEY_NAME \
    --keyring=KEY_RING_NAME \
    --location=REGION \
    --project=KMS_PROJECT_ID \
    --member=serviceAccount:SERVICE_ACCOUNT \
    --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Ganti kode berikut:

  • KEY_NAME: nama kunci yang Anda buat di Membuat key ring dan kunci
  • KEY_RING_NAME: key ring yang Anda buat di Membuat key ring dan kunci
  • REGION: region tempat Anda membuat key ring
  • KMS_PROJECT_ID: ID project Cloud KMS Anda
  • SERVICE_ACCOUNT: alamat email akun layanan untuk instance Anda

Membuat instance notebook yang dikelola pengguna dengan CMEK

Setelah memberikan izin kepada instance notebook yang dikelola pengguna untuk mengenkripsi dan mendekripsi data menggunakan kunci, Anda dapat membuat instance notebook yang dikelola pengguna yang mengenkripsi data menggunakan kunci ini.

Contoh berikut menunjukkan cara mengenkripsi dan mendekripsi data menggunakan kunci Anda menggunakan konsol Google Cloud atau gcloud CLI.

Konsol

Untuk membuat instance notebook yang dikelola pengguna dengan kunci enkripsi yang dikelola pelanggan, lakukan langkah-langkah berikut:

  1. Di dalam Konsol Google Cloud, buka halaman User-managed notebooks. Atau buka notebook.new (https://notebook.new) dan lewati langkah berikutnya.

    Buka Notebook yang dikelola pengguna

  2. Klik  New notebook, lalu pilih Customize.

  3. Di halaman Create a user-managed notebook, berikan informasi berikut untuk instance baru Anda di bagian Details:

    • Nama: nama untuk instance baru Anda
    • Region: region tempat kunci dan key ring Anda berada
    • Zona: zona dalam region yang Anda pilih
  4. Pilih bagian Disk.

  5. Untuk menggunakan kunci enkripsi yang dikelola pelanggan, di bagian Enkripsi, pilih Kunci enkripsi yang dikelola pelanggan (CMEK).

  6. Klik Pilih kunci yang dikelola pelanggan.

    • Jika kunci yang dikelola pelanggan yang ingin Anda gunakan ada dalam daftar, pilih kunci tersebut.
    • Jika kunci yang dikelola pelanggan yang ingin Anda gunakan tidak ada dalam daftar, masukkan ID resource untuk kunci yang dikelola pelanggan. ID resource untuk kunci yang dikelola pelanggan akan terlihat seperti ini:

      projects/NOTEBOOKS_PROJECT_NUMBER/locations/global/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME

      Ganti kode berikut:

  7. Selesaikan dialog pembuatan instance selanjutnya, lalu klik Buat.

  8. Vertex AI Workbench membuat instance notebook yang dikelola pengguna berdasarkan properti yang Anda tentukan dan secara otomatis memulai instance tersebut. Saat instance siap digunakan, Vertex AI Workbench akan mengaktifkan link Buka JupyterLab.

gcloud

Untuk menggunakan gcloud CLI guna membuat instance notebook yang dikelola pengguna dengan kunci enkripsi yang dikelola pelanggan, jalankan perintah berikut. Contoh ini mengasumsikan bahwa Anda ingin membuat instance notebook yang dikelola pengguna dengan jenis mesin n1-standard-1 dan persistent boot disk standar sebesar 100 GB.

gcloud notebooks instances create notebook-vm-cmek \
    --location=REGION \
    --vm-image-family=IMAGE_FAMILY \
    --vm-image-project=deeplearning-platform-release \
    --machine-type="n1-standard-1" \
    --boot-disk-type="PD_STANDARD" \
    --boot-disk-size=100 \
    --kms-key=KEY_NAME \
    --kms-project=KMS_PROJECT_ID \
    --kms-location=REGION \
    --kms-keyring=KEY_RING_NAME \
    --disk-encryption=CMEK \
    --metadata='proxy-mode=project_editors'

Ganti kode berikut:

  • REGION: wilayah tempat Anda membuat key ring dan tempat Anda berencana untuk membuat instance notebook yang dikelola pengguna
  • IMAGE_FAMILY: kelompok gambar yang ingin Anda gunakan untuk membuat instance notebook yang dikelola pengguna
  • KEY_NAME: nama kunci yang Anda buat di Membuat key ring dan kunci
  • KMS_PROJECT_ID: ID project Cloud KMS Anda
  • KEY_RING_NAME: key ring yang Anda buat di Membuat key ring dan kunci

Langkah berikutnya