Kunci enkripsi yang dikelola pelanggan (Customer-Managed Encryption Key/CMEK)

Secara default, Google Cloud otomatis mengenkripsi data saat dalam penyimpanan menggunakan kunci enkripsi yang dikelola oleh Google. Jika Anda memiliki persyaratan kepatuhan atau peraturan khusus terkait dengan kunci yang melindungi data, Anda dapat menggunakan Kunci enkripsi yang dikelola pelanggan (CMEK).

Dengan CMEK, Anda dapat melindungi data Backup and DR menggunakan kunci kriptografi yang Anda kontrol melalui Cloud Key Management Service (Cloud KMS). Saat menggunakan CMEK, Anda mengelola kunci di Cloud Key Management Service, dan Anda dapat mengontrol siapa yang dapat mengaksesnya dengan mengelola izin Identity and Access Management pada kunci tersebut. Jika Anda menonaktifkan untuk sementara atau menghancurkan kunci CMEK secara permanen, data yang dilindungi oleh kunci tersebut akan menjadi tidak dapat diakses. Untuk mengetahui informasi selengkapnya tentang CMEK secara umum, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).

Backup and DR menggunakan CMEK untuk melindungi data cadangan yang disimpan di vault cadangan.

Cara Backup and DR menggunakan CMEK

Bergantung pada resource yang dicadangkan, Backup and DR menggunakan kunci CMEK untuk melindungi cadangan sebagai berikut:

  • Untuk pencadangan instance Compute Engine yang disimpan di vault cadangan: Jika satu atau beberapa disk yang terpasang ke instance Compute Engine dienkripsi dengan CMEK, Backup and DR mengharuskan instance tersebut dicadangkan ke vault cadangan yang mendukung CMEK. Jika semua disk yang terpasang ke instance menggunakan enkripsi yang dikelola Google, maka di konsol Google Cloud , Anda harus menyimpan cadangan di vault cadangan non-CMEK. Namun, jika menggunakan Google Cloud CLI, API, atau Terraform, Anda dapat mengonfigurasi cadangan untuk instance tersebut agar disimpan di vault cadangan yang diaktifkan CMEK.

    Jika cadangan instance Compute Engine disimpan di brankas cadangan yang mendukung CMEK, data cadangannya akan dienkripsi menggunakan kunci Cloud Key Management Service brankas, terlepas dari status enkripsi disk instance.

  • Untuk pencadangan Persistent Disk: Backup and DR mempertahankan enkripsi disk sumber dengan mengandalkan enkripsi workload sumber. Jika Persistent Disk sumber dilindungi oleh CMEK, cadangannya akan dilindungi oleh kunci CMEK yang sama. Jika Persistent Disk sumber menggunakan enkripsi yang dikelola Google, cadangannya juga menggunakan enkripsi yang dikelola Google dan harus disimpan dalam brankas cadangan yang tidak dikonfigurasi dengan CMEK.

Tabel berikut merangkum kunci enkripsi yang digunakan untuk pencadangan berbagai jenis workload:

Workload Kunci Enkripsi yang Digunakan untuk Cadangan Status Dukungan CMEK
Instance Compute Engine Kunci CMEK vault cadangan Didukung
Disk Compute Engine Kunci enkripsi disk sumber Didukung
Cloud SQL - Tidak didukung
Cluster AlloyDB - Tidak didukung
Instance Filestore - Tidak didukung
Google Cloud VMware Engine, database Oracle, dan database SQL Server - Tidak didukung

Batasan

Dukungan Pencadangan dan DR untuk CMEK memiliki batasan berikut:

  • Perlindungan CMEK hanya didukung untuk instance Compute Engine dan cadangan Persistent Disk yang disimpan di vault cadangan.
  • Anda hanya dapat mengonfigurasi CMEK di brankas cadangan pada saat pembuatan. Anda tidak dapat mengaktifkan, menonaktifkan, atau mengubah CMEK di vault cadangan yang ada.
  • Kunci Cloud Key Management Service harus berada di lokasi yang sama dengan vault cadangan. Vault cadangan di suatu region harus menggunakan kunci dari region yang sama. Vault cadangan multi-regional harus menggunakan kunci dari multi-region yang sama.
  • Backup and DR tidak mendukung kunci enkripsi yang disediakan pelanggan (CSEK).
  • Vault cadangan default dan paket pencadangan default menggunakan enkripsi yang dikelola Google. Untuk menggunakan CMEK, Anda harus membuat vault cadangan baru dan mengaktifkan CMEK secara eksplisit.

Sebelum memulai

Sebelum Anda mulai menggunakan CMEK, selesaikan langkah-langkah berikut:

  1. Aktifkan Cloud Key Management Service API di project yang akan menyimpan kunci CMEK Anda.

    Mengaktifkan API

  2. Buat key ring dan kunci Cloud Key Management Service. Saat membuat kunci, pastikan Anda memilih lokasi yang cocok dengan lokasi vault cadangan Anda. Vault cadangan di region harus menggunakan kunci dari region yang sama. Vault cadangan multi-regional harus menggunakan kunci dari multi-region yang sama.

  3. Jika belum dibuat, buat agen layanan Backup dan DR. Agen layanan otomatis dibuat setelah resource Backup and DR pertama (vault cadangan,konsol Google Cloud , dll.) dibuat dalam project. Jika perlu memberikan izin kepada agen layanan sebelum membuat brankas cadangan, Anda dapat memicu pembuatannya dengan perintah berikut:

    gcloud beta services identity create --service=backupdr.googleapis.com --project=PROJECT_ID
    
    Ganti PROJECT_ID dengan ID project Anda.

Memberikan izin untuk CMEK

Agar Backup and DR dapat melindungi cadangan menggunakan CMEK, atau mencadangkan resource yang dilindungi CMEK, Anda harus memberikan peran IAM kepada agen layanan tertentu.

Memberikan izin untuk menggunakan kunci CMEK vault

Saat Anda mengonfigurasi CMEK untuk vault cadangan, Backup and DR memerlukan izin untuk menggunakan kunci CMEK Anda guna mengenkripsi dan mendekripsi data. Izin ini harus diberikan kepada agen layanan Backup and DR.

Penting untuk membedakan antara dua akun layanan berbeda yang digunakan oleh Backup dan DR:

  • Agen layanan Backup and DR: Ini adalah akun layanan tingkat project yang digunakan untuk mengelola resource Backup and DR dan untuk mengakses kunci Cloud Key Management Service saat vault cadangan dikonfigurasi dengan CMEK. Agen layanan ini memerlukan peran roles/cloudkms.cryptoKeyEncrypterDecrypter pada kunci CMEK.
  • Akun layanan vault cadangan: Ini adalah akun layanan unik per vault yang Anda beri izin untuk mengakses dan mencadangkan workload sumber (seperti instance Compute Engine). Akun layanan ini tidak digunakan untuk enkripsi CMEK data dalam vault cadangan.

Untuk menggunakan CMEK dengan Backup and DR, Anda harus memberikan peran Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) kepada agen layanan Backup and DR. Agen layanan ini adalah akun layanan yang digunakan Backup and DR untuk mengakses resource atas nama Anda, termasuk mengakses kunci Cloud Key Management Service Anda selama operasi enkripsi dan dekripsi.

Agen layanan Backup and DR diberi nama dalam format berikut:

service-VAULT_PROJECT_NUMBER@gcp-sa-backupdr.iam.gserviceaccount.com

Ganti VAULT_PROJECT_NUMBER dengan nomor project dari project yang berisi vault cadangan Anda.

Anda dapat memberikan peran ini pada saat pembuatan vault cadangan menggunakan konsol Google Cloud jika Anda memiliki izin untuk memberikan peran IAM, atau Anda dapat memberikannya terlebih dahulu menggunakan perintah gcloud kms keys add-iam-policy-binding:

gcloud kms keys add-iam-policy-binding KEY_NAME \
    --location=KMS_LOCATION \
    --keyring=KEY_RING \
    --member=serviceAccount:service-VAULT_PROJECT_NUMBER@gcp-sa-backupdr.iam.gserviceaccount.com \
    --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Anda dapat memberikan peran ini pada kunci tertentu seperti yang ditunjukkan dalam contoh, atau Anda dapat memberikannya di tingkat project atau ring kunci. Pemberian izin di tingkat kunci memberikan kontrol yang paling terperinci dan direkomendasikan untuk prinsip hak istimewa terendah. Memberikan izin di tingkat project atau key ring lebih mudah jika Anda ingin Backup and DR menggunakan beberapa kunci dalam cakupan tersebut, tetapi memberikan izin yang lebih luas.

Memberikan izin untuk mencadangkan resource yang dilindungi CMEK

Jika Anda mencadangkan resource yang dienkripsi dengan kunci CMEK lain, seperti instance Compute Engine dengan disk yang dienkripsi CMEK, izin tambahan diperlukan. Agen layanan dari layanan resource sumber memerlukan izin untuk menggunakan kunci yang melindungi resource sumber. Misalnya, untuk mencadangkan instance Compute Engine yang dienkripsi CMEK, Agen Layanan Compute Engine project instance sumber harus memiliki peran roles/cloudkms.cryptoKeyEncrypterDecrypter pada kunci Cloud Key Management Service yang digunakan untuk mengenkripsi disk instance. Dalam sebagian besar kasus, izin ini sudah ada agar workload sumber dapat beroperasi.

Menggunakan CMEK dengan Backup and DR

Bagian ini menjelaskan alur kerja untuk melindungi cadangan menggunakan CMEK.

1. Membuat backup vault yang mendukung CMEK

Saat membuat vault cadangan, pilih opsi Customer-managed encryption key (CMEK) di bagian Encryption, lalu pilih kunci Cloud Key Management Service yang Anda buat. Anda hanya dapat mengaktifkan CMEK selama pembuatan brankas; CMEK tidak dapat diaktifkan, dinonaktifkan, atau diubah di brankas yang ada.

2. Buat rencana cadangan

Saat membuat rencana pencadangan, pilih brankas cadangan yang mendukung CMEK yang Anda buat di langkah sebelumnya sebagai brankas cadangan target untuk cadangan.

3. Menerapkan rencana pencadangan ke resource

Saat menerapkan rencana pencadangan ke resource, Anda harus memastikan bahwa rencana pencadangan menargetkan vault cadangan yang kompatibel dengan konfigurasi enkripsi resource:

  • Jika Anda mencadangkan instance Compute Engine yang memiliki satu atau beberapa disk terenkripsi CMEK yang terpasang, Anda harus menggunakan rencana pencadangan yang menargetkan vault cadangan yang mendukung CMEK.
  • Jika Anda mencadangkan instance Compute Engine yang semua disk terpasangnya menggunakan enkripsi yang dikelola Google:
    • Jika Anda menetapkan rencana pencadangan menggunakan konsol Google Cloud , Anda harus menggunakan rencana pencadangan yang menargetkan vault cadangan non-CMEK.
    • Jika menetapkan rencana cadangan menggunakan gcloud CLI, API, atau Terraform, Anda dapat memilih rencana cadangan yang menargetkan brankas cadangan yang mendukung CMEK. Jika Anda melakukannya, cadangan instance akan dienkripsi dengan kunci CMEK brankas cadangan.
  • Jika Anda mencadangkan Persistent Disk yang menggunakan enkripsi yang dikelola Google, Anda harus menggunakan rencana pencadangan yang menargetkan vault cadangan non-CMEK.

Pastikan Anda telah memberikan izin KMS yang diperlukan seperti yang dijelaskan dalam Memberikan izin untuk CMEK agar pencadangan berhasil dijalankan.

Rotasi kunci dan kemampuan pemulihan cadangan Cloud Key Management Service

Backup and DR mendukung rotasi kunci Cloud Key Management Service. Saat Anda merotasi kunci, Cloud Key Management Service akan membuat versi kunci baru, yang menjadi versi utama. Pencadangan dan DR menggunakan versi kunci utama untuk mengenkripsi semua cadangan baru untuk vault cadangan yang dikonfigurasi dengan kunci tersebut.

Cadangan yang ada tidak dienkripsi ulang, dan tetap dienkripsi dengan versi kunci yang digunakan saat dibuat. Untuk memulihkan cadangan, versi kunci yang digunakan untuk mengenkripsinya harus tersedia di Cloud Key Management Service. Jika Anda menonaktifkan atau menghancurkan versi kunci, semua cadangan yang dienkripsi dengan versi tersebut menjadi tidak dapat diakses. Untuk memastikan cadangan Anda dapat dipulihkan, jangan nonaktifkan atau hancurkan versi kunci yang masih digunakan oleh cadangan yang mungkin perlu Anda pulihkan.

Jika Backup and DR tidak dapat mengakses kunci CMEK Anda karena alasan apa pun (misalnya, jika versi kunci yang diperlukan untuk enkripsi atau dekripsi dinonaktifkan atau dihancurkan, atau jika izin IAM pada kunci dicabut dari agen layanan Backup and DR), Anda mungkin mengalami hal berikut:

  • Cadangan baru ke vault cadangan yang mendukung CMEK akan gagal jika versi kunci utama tidak dapat diakses.
  • Pemulihan dari backup vault akan gagal jika versi kunci tertentu yang digunakan untuk mengenkripsi cadangan tidak dapat diakses.
  • Anda tidak akan dapat membuat brankas cadangan baru yang menggunakan kunci yang tidak dapat diakses.

Jika Anda telah menonaktifkan versi kunci yang digunakan untuk cadangan, mengaktifkannya kembali akan memulihkan akses ke cadangan yang dienkripsi dengan versi tersebut. Jika Anda menghancurkan versi kunci, semua cadangan yang dienkripsi dengan versi kunci tersebut akan hilang secara permanen dan tidak dapat dipulihkan.

Harga

Backup dan DR tidak mengenakan biaya tambahan untuk penggunaan CMEK. Namun, Anda akan dikenai biaya untuk penggunaan kunci di Cloud Key Management Service. Untuk mengetahui informasi selengkapnya, lihat Harga Cloud Key Management Service.

Langkah berikutnya