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:
Aktifkan Cloud Key Management Service API di project yang akan menyimpan kunci CMEK Anda.
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.
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:
Gantigcloud beta services identity create --service=backupdr.googleapis.com --project=PROJECT_ID
PROJECT_IDdengan 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.cryptoKeyEncrypterDecrypterpada 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
- Pelajari cara Membuat dan mengelola vault cadangan.