Mengenkripsi boot disk VM TPU dengan kunci enkripsi yang dikelola pelanggan (CMEK)

Secara default, Cloud TPU mengenkripsi konten pelanggan dalam penyimpanan. Cloud TPU 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 TPU. Dengan menggunakan kunci Cloud KMS, Anda dapat mengontrol tingkat perlindungan , lokasi, jadwal rotasi, izin penggunaan dan akses, serta batasan kriptografisnya. Dengan Cloud KMS, Anda juga dapat melihat log audit dan mengontrol siklus proses kunci. Bukan 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 TPU Anda akan serupa dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).

Untuk menggunakan CMEK, Anda harus membuat key ring. Anda harus membuat key ring di lokasi yang sama dengan tempat Anda berencana membuat Cloud TPU. Misalnya, Cloud TPU di zona us-central1-a hanya dapat menggunakan kunci di region us-central1.

Selanjutnya, buat kunci di key ring Anda. Setelah membuat CMEK, Anda harus memberikan akses akun layanan Compute Engine ke kunci Anda.

Memberikan izin untuk menggunakan kunci

Anda harus memberikan peran IAM Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) pada kunci Cloud KMS ke agen layanan Compute Engine di Google Cloud project Anda. Dengan memberikan peran ini, layanan Compute Engine dapat mengakses dan menggunakan kunci enkripsi Anda.

Untuk memberikan peran roles/cloudkms.cryptoKeyEncrypterDecrypter ke agen layanan Compute Engine, pilih salah satu opsi berikut:

gcloud

Jalankan perintah berikut:

gcloud kms keys add-iam-policy-binding KEY_NAME \
    --location LOCATION \
    --keyring RING_NAME \
    --member serviceAccount:service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \
    --role roles/cloudkms.cryptoKeyEncrypterDecrypter \
    --project KEY_PROJECT_ID

Ganti kode berikut:

  • KEY_NAME: nama kunci Anda.
  • LOCATION: lokasi tempat Anda membuat key ring.
  • RING_NAME: nama key ring Anda.
  • PROJECT_NUMBER: nomor Google Cloud project Anda.
  • KEY_PROJECT_ID: project ID kunci Anda.

Konsol

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

    Buka Key management

  2. Klik nama key ring yang berisi kunci.

  3. Klik nama kunci yang ingin Anda ubah.

  4. Klik tab Permissions.

  5. Klik Grant access. Panel Grant access to key akan terbuka.

  6. Di kolom New principals, masukkan nama agen layanan Compute Engine:

    service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
    

    Ganti PROJECT_NUMBER dengan nomor Google Cloud project Anda.

  7. Di menu Select a role, pilih Cloud KMS CryptoKey Encrypter/Decrypter.

  8. Klik Save.

Membuat VM TPU dengan CMEK

Anda dapat menentukan CMEK saat membuat VM TPU menggunakan TPU API atau Queued Resources API.

TPU API

Untuk menentukan CMEK saat membuat VM TPU menggunakan Cloud TPU API, gunakan argumen --boot-disk ke perintah tpu-vm create untuk menentukan kunci enkripsi yang akan digunakan:

gcloud compute tpus tpu-vm create TPU_NAME \
    --zone ZONE \
    --boot-disk kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME \
    --version=TPU_RUNTIME_VERSION \
    --accelerator-type=ACCLERATOR_TYPE

Ganti kode berikut:

  • TPU_NAME: nama VM TPU Anda.
  • ZONE: zona tempat Anda berencana membuat Cloud TPU.
  • PROJECT_ID: project ID Anda Google Cloud .
  • REGION: region tempat Anda membuat key ring.
  • RING_NAME: nama key ring Anda.
  • KEY_NAME: nama kunci Anda.
  • TPU_RUNTIME_VERSION: versi software Cloud TPU .
  • ACCELERATOR_TYPE: jenis akselerator untuk Cloud TPU yang ingin Anda buat. Untuk mengetahui informasi selengkapnya tentang jenis akselerator yang didukung untuk setiap versi TPU, lihat Versi TPU.

Queued Resources API

Untuk menentukan CMEK saat membuat VM TPU menggunakan Queued Resources API, gunakan argumen --bootdisk ke perintah queued-resources create untuk menentukan kunci enkripsi yang akan digunakan:

gcloud compute tpus queued-resources create QUEUED_RESOURCE_ID \
    --zone ZONE \
    --node-id NODE_ID \
    --boot-disk kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME \
    --runtime-version=TPU_RUNTIME_VERSION \
    --accelerator-type=ACCLERATOR_TYPE

Ganti kode berikut:

  • QUEUED_RESOURCE_ID: ID yang ditetapkan pengguna untuk permintaan resource dalam antrean.
  • ZONE: zona tempat Anda berencana membuat Cloud TPU.
  • NODE_ID: ID yang ditetapkan pengguna untuk Cloud TPU yang dibuat saat permintaan resource dalam antrean dialokasikan.
  • PROJECT_ID: project ID Anda Google Cloud .
  • REGION: region tempat Anda membuat key ring.
  • RING_NAME: nama key ring Anda.
  • KEY_NAME: nama kunci Anda.
  • TPU_RUNTIME_VERSION: versi software Cloud TPU .
  • ACCELERATOR_TYPE: jenis akselerator untuk Cloud TPU yang ingin Anda buat. Untuk mengetahui informasi selengkapnya tentang jenis akselerator yang didukung untuk setiap versi TPU, lihat Versi TPU.

Untuk mengetahui informasi tentang cara membuat VM TPU dengan CMEK menggunakan GKE, lihat Menggunakan kunci enkripsi yang dikelola pelanggan di dokumentasi GKE.

CMEK yang dihapus atau dicabut

Jika CMEK dicabut atau dihapus, VM TPU yang menggunakan boot disk yang dienkripsi dengan CMEK yang dihapus atau dicabut tidak akan otomatis dimatikan. VM TPU masih dapat mengakses data di boot disk terenkripsi hingga VM dimatikan atau dimulai ulang. Hal ini memungkinkan Anda memulihkan data jika Anda memulihkan akses ke kunci yang dicabut atau dihapus. Jika Anda mengaktifkan kembali kunci, Anda dapat memulai atau memperbaiki VM TPU, dan boot disk akan berhasil didekripsi dan dimuat.