Dokumen ini menjelaskan cara menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) di Cloud Key Management Service (Cloud KMS) untuk instance Memorystore for Valkey Anda. Dokumen ini juga menguraikan data mana yang dienkripsi dalam penyimpanan persisten dan cara instance Anda berperilaku selama peristiwa siklus proses utama.
CMEK memungkinkan Anda mengontrol kunci kriptografi yang melindungi data tersimpan Anda. Dengan mengelola kunci Anda sendiri di Cloud KMS, Anda akan mendapatkan kontrol yang lebih besar atas akses, rotasi, dan penggunaan kunci, yang membantu Anda memenuhi persyaratan kepatuhan dan peraturan yang ketat.
Menerapkan CMEK memberikan lapisan keamanan dan kontrol tambahan atas data persisten Anda, seperti cadangan dan file persistensi. Anda hanya dapat mengaktifkan CMEK di instance baru. Anda tidak dapat menerapkan CMEK ke instance yang sudah ada.
Siapa yang sebaiknya menggunakan CMEK?
CMEK ditujukan untuk organisasi yang memiliki data sensitif atau teregulasi, dan memerlukan kontrol atas kunci enkripsi mereka sendiri. Untuk mengetahui informasi selengkapnya tentang apakah akan menggunakan CMEK untuk mengenkripsi data ini, lihat Memilih tempat penggunaan CMEK.
Enkripsi yang dikelola pelanggan
Dengan CMEK, Anda dapat menggunakan kunci kriptografis Anda untuk melindungi data yang disimpan di instance Memorystore for Valkey. Untuk mengenkripsi data ini, Memorystore untuk Valkey menggunakan kunci enkripsi data (DEK) yang dikelola Google dan kunci enkripsi kunci (KEK) yang dikelola pelanggan.
Anda dapat memiliki tingkat enkripsi berikut:
- Enkripsi DEK: DEK mengenkripsi data di Memorystore for Valkey.
- Enkripsi KEK: KEK mengenkripsi DEK.
Memorystore for Valkey menggunakan KEK untuk mengenkripsi DEK, dan menggunakan DEK untuk mengenkripsi data yang disimpan. Jika menggunakan CMEK, Anda dapat mengelola KEK yang mengenkripsi DEK di instance Anda.
Diagram berikut menunjukkan cara instance menggunakan CMEK untuk mengenkripsi data. Data yang diupload ke infrastruktur penyimpanan Google dipotong, dan setiap potongan dienkripsi dengan DEK-nya sendiri. Cloud KMS menyediakan KEK untuk mengenkripsi DEK, dan infrastruktur penyimpanan Google mendistribusikan potongan data terenkripsi dan DEK terenkripsi di seluruh sistem.
Diagram berikut menunjukkan cara Memorystore for Valkey mendekripsi data yang dienkripsi dengan CMEK. Untuk mengakses data terenkripsi ini, Memorystore for Valkey mengirim permintaan ke Cloud KMS, yang mengelola KEK, untuk mendekripsi DEK. Kemudian, Cloud KMS akan menampilkan DEK yang telah didekripsi, yang digunakan instance untuk mendekripsi data yang tersimpan.

Data mana yang dienkripsi menggunakan CMEK?
CMEK mengenkripsi jenis data pelanggan berikut yang disimpan di penyimpanan persisten:
- Pencadangan: pencadangan memungkinkan Anda memulihkan data ke titik waktu tertentu, serta mengekspor dan menganalisisnya. Pencadangan juga berguna untuk pemulihan dari bencana, migrasi data, berbagi data, dan skenario kepatuhan.
- Persistensi:
Memorystore for Valkey mendukung dua jenis persistensi:
- Persistensi RDB: menyimpan snapshot data Anda di penyimpanan yang andal.
- Ketahanan AOF: menyimpan data secara tahan lama dengan mencatat setiap perintah tulis ke file log yang disebut File Hanya Tambah (AOF). Jika terjadi kegagalan atau mulai ulang sistem, server akan memutar ulang perintah file AOF secara berurutan untuk memulihkan data Anda.
- Metadata yang terkait dengan fitur keamanan seperti autentikasi dasar berbasis token dan enkripsi dalam pengiriman. Untuk mengetahui informasi selengkapnya, lihat Mengamankan akses ke instance Anda menggunakan autentikasi dasar berbasis token dan Tentang enkripsi dalam transit.
Komponen CMEK
Bagian berikut menjelaskan persyaratan dan perilaku akun layanan, kunci kriptografi, versi kunci, dan kebijakan organisasi yang membentuk arsitektur CMEK Anda.
Akun layanan
Untuk membuat instance yang mendukung CMEK, Anda harus memberikan peran roles/cloudkms.cryptoKeyEncrypterDecrypter ke akun layanan Memorystore for Valkey yang menggunakan format berikut:
service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com
Dengan memberikan izin ini, akun layanan dapat meminta akses kunci dari Cloud KMS.
Kunci
Di Cloud KMS, Anda perlu membuat key ring, lalu membuat kunci kriptografis yang menggunakan algoritma enkripsi simetris. Saat membuat instance Memorystore for Valkey, Anda memilih kunci ini untuk mengenkripsi instance. Anda dapat membuat satu project untuk kunci dan instance, atau project yang berbeda untuk masing-masing kunci dan instance.
CMEK tersedia di semua lokasi instance Memorystore for Valkey. Anda harus membuat key ring dan kunci di region yang sama dengan tempat Anda ingin membuat instance. Untuk instance multi-region, Anda harus menyetel key ring dan kunci ke lokasi yang sama dengan instance. Jika region atau lokasi tidak cocok, permintaan untuk membuat instance akan gagal.
Untuk ID resource kunci, CMEK menggunakan format berikut:
projects/CMEK_ENABLED_PROJECT/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Untuk mengetahui informasi selengkapnya tentang cara menemukan ID resource kunci yang ada, lihat Mendapatkan ID resource Cloud KMS.
Kunci eksternal
Sebagai bagian dari strategi CMEK, Anda dapat menggunakan kunci eksternal. Untuk melakukannya, gunakan Cloud External Key Manager (Cloud EKM) untuk mengenkripsi data dalam Google Cloud dengan 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 saat Anda membuat instance, Memorystore for Valkey tidak akan membuat instance. Selain itu, jika kunci eksternal tidak tersedia kapan saja setelah Anda membuat instance, Memorystore for Valkey akan menonaktifkan pencadangan dan persistensi, tetapi operasi caching dalam memori reguler akan terus melayani traffic.
Untuk pertimbangan lainnya tentang penggunaan kunci eksternal, lihat Pertimbangan.
Versi kunci
Cloud KMS menyimpan materi kunci kriptografis yang Anda gunakan untuk mengenkripsi dan mendekripsi data Anda dalam versi kunci. Satu kunci dapat berisi beberapa versi kunci. Setiap kali Anda merotasi kunci, Anda akan membuat versi kunci.
Bagian berikut menjelaskan perilaku instance Anda dan data yang dilindunginya selama peristiwa siklus proses utama, seperti menonaktifkan, menghancurkan, merotasi, mengaktifkan, atau memulihkan versi kunci. Bagian ini juga menjelaskan dampak dari mencabut akses ke atau mengganti kunci Cloud KMS, dan memberikan panduan tentang cara mengenkripsi ulang data secara manual.
Menonaktifkan atau menghancurkan versi kunci CMEK
Anda mungkin ingin membuat data yang dienkripsi dengan CMEK tidak dapat diakses secara permanen, seperti saat Anda memulihkan kebocoran data. Untuk mencapai penghancuran data dengan jaminan tinggi ini (juga dikenal sebagai penghancuran kriptografis), Anda menghancurkan versi kunci. Untuk mengetahui informasi selengkapnya tentang cara menghancurkan versi kunci, lihat Menghancurkan dan memulihkan versi kunci.
Jika Anda menonaktifkan atau menghancurkan versi kunci utama, maka kondisi berikut berlaku untuk pencadangan dan persistensi.
Cadangan
Saat Anda menghancurkan versi kunci utama, batasan berikut berlaku untuk cadangan instance Anda:
- Anda tidak dapat membuat cadangan sesuai permintaan atau otomatis. Namun, jika Anda mengaktifkan versi kunci yang lebih lama, Anda dapat mengakses cadangan yang Anda buat menggunakan versi kunci ini.
- Anda tidak dapat memperbarui atau mengaktifkan kembali cadangan otomatis hingga Anda mengaktifkan atau memulihkan versi kunci utama. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan atau memulihkan versi kunci CMEK utama.
Persistensi
Saat Anda menghancurkan versi kunci utama, batasan berikut berlaku untuk persistensi instance Anda:
- Jika Anda mengonfigurasi instance untuk menggunakan persistensi, Memorystore for Valkey akan menonaktifkan persistensi saat versi kunci tidak tersedia. Anda tidak lagi ditagih untuk penggunaan persistensi.
- Memorystore for Valkey tidak melakukan flush data baru ke penyimpanan persisten menggunakan CMEK.
- Memorystore for Valkey tidak dapat membaca data yang ada di penyimpanan persisten.
- Anda tidak dapat memperbarui atau mengaktifkan kembali persistensi hingga Anda mengaktifkan atau memulihkan versi kunci utama.
Jika Anda mengaktifkan versi kunci utama, tetapi menonaktifkan atau menghancurkan versi kunci yang lebih lama, maka kondisi berikut berlaku untuk pencadangan dan persistensi:
- Anda dapat membuat cadangan. Namun, jika cadangan dienkripsi dengan versi kunci yang lebih lama yang dinonaktifkan atau dimusnahkan, cadangan tersebut akan tetap tidak dapat diakses.
- Jika Anda mengaktifkan persistensi, persistensi akan tetap diaktifkan. Jika versi kunci lama yang digunakan dalam persistensi dinonaktifkan atau dihancurkan, Memorystore for Valkey akan melakukan update yang serupa dengan yang digunakan dalam pemeliharaan dan mengenkripsi ulang data dengan versi kunci utama.
Mencabut akses ke kunci Cloud KMS
Jika Anda mencabut akses ke kunci Cloud KMS aktif dengan menonaktifkan kunci atau menghapus izin IAM untuk kunci tersebut, Memorystore for Valkey akan memprioritaskan ketersediaan cache utama. Operasi caching dalam memori reguler terus menayangkan traffic.
Namun, pencadangan dan persistensi dinonaktifkan. Memorystore for Valkey segera berhenti menulis data baru ke disk dan tidak membaca data dari disk yang dienkripsi pelanggan ke dalam memori.
Merotasi versi kunci CMEK utama
Jika Anda merotasi versi kunci utama dan membuat versi kunci utama baru, maka kondisi berikut berlaku untuk cadangan dan persistensi:
- Versi kunci utama terbaru CMEK Anda mengenkripsi cadangan baru.
- Untuk cadangan yang ada, tidak ada enkripsi ulang yang dilakukan.
- Untuk persistensi, node tidak melakukan tindakan apa pun. Node akan terus menggunakan versi kunci yang lebih lama hingga peristiwa pemeliharaan berikutnya.
Mengenkripsi ulang data yang dilindungi CMEK secara manual
Memorystore for Valkey tidak mendukung enkripsi ulang data tersimpan sesuai permintaan. Anda tidak dapat memicu proses secara manual untuk menggunakan versi kunci baru guna mengenkripsi ulang cadangan yang ada atau file persistensi aktif. Namun, Anda dapat menggunakan versi kunci baru untuk mengenkripsi data yang baru ditulis.
Jika Anda merotasi kunci dan harus memaksa instance untuk menggunakan versi kunci baru, maka kondisi berikut berlaku untuk pencadangan dan persistensi:
Cadangan
Anda tidak dapat mengenkripsi ulang cadangan yang ada. Jika kepatuhan mengharuskan semua data dienkripsi dengan kunci terbaru, buat cadangan yang menggunakan kunci ini, lalu hapus cadangan yang ada secara manual. Anda juga dapat mengekspor cadangan ini ke bucket Cloud Storage sehingga kunci enkripsi Cloud Storage digunakan.
Persistensi
Untuk memaksa instance menggunakan kunci Cloud KMS baru, Anda dapat menjalankan simulasi pemeliharaan pada instance. Setelah Anda menyelesaikan operasi ini, Memorystore untuk Valkey dapat menulis data persistensi menggunakan versi kunci utama yang telah diupdate.
Mengganti kunci Cloud KMS yang dilindungi
Jika Anda mengganti kunci Cloud KMS yang dilindungi dengan kunci lain atau versi kunci utama baru, Memorystore untuk Valkey akan menerapkan perubahan ini hanya pada operasi mendatang.
Mengganti kunci yang dilindungi akan memengaruhi resource Anda dengan cara berikut:
- Cadangan: semua cadangan berikutnya dienkripsi menggunakan kunci baru. Cadangan yang ada mempertahankan kunci aslinya.
- Persistensi: saat instance dimulai ulang atau mengalami peristiwa pemeliharaan berikutnya, kunci baru akan digunakan.
- Cache utama: mengganti kunci ini tidak akan berpengaruh. CMEK tidak mengenkripsi data dalam memori karena data ini tidak dianggap sebagai data tersimpan.
Mengaktifkan atau memulihkan versi kunci CMEK utama
Jika Anda mengaktifkan atau memulihkan versi kunci utama, kondisi berikut berlaku untuk pencadangan dan persistensi:
- Anda dapat membuat pencadangan sesuai permintaan dan otomatis lagi.
- Memorystore for Valkey melakukan update yang serupa dengan yang digunakan dalam pemeliharaan dan mengaktifkan kembali persistensi.
Batasan kebijakan organisasi
Memorystore for Valkey mendukung batasan kebijakan organisasi untuk CMEK. Dengan menggunakan batasan ini, Anda dapat menerapkan perlindungan CMEK untuk instance dan membatasi kunci Cloud KMS yang dapat Anda gunakan untuk perlindungan ini.
Anda dapat mengonfigurasi batasan kebijakan organisasi berikut:
constraints/gcp.restrictNonCmekServices: gunakan batasan ini untuk menerapkan perlindungan CMEK untuk instance Anda. Jika Memorystore for Valkey API tercantum dalam daftar kebijakan layananDenyuntuk batasan ini, Anda tidak dapat membuat instance yang tidak dilindungi CMEK.constraints/gcp.restrictCmekCryptoKeyProjects: gunakan batasan ini untuk membatasi kunci Cloud KMS yang dapat Anda gunakan untuk perlindungan CMEK. Jika Anda mengonfigurasi batasan ini, instance yang menggunakan enkripsi CMEK harus menggunakan kunci dari project, folder, atau organisasi yang diizinkan.
Untuk mengetahui informasi selengkapnya tentang batasan kebijakan organisasi terkait CMEK yang dikelola Google untuk Memorystore for Valkey, lihat Batasan kebijakan organisasi.
Harga
Memorystore for Valkey menagih instance yang mendukung CMEK seperti instance lainnya; tidak ada biaya tambahan. Untuk mengetahui informasi selengkapnya, lihat Harga Memorystore for Valkey.
Anda menggunakan Cloud KMS API untuk mengelola CMEK. Saat Anda membuat instance Memorystore for Valkey dengan CMEK, Memorystore menggunakan kunci secara berkala untuk mengenkripsi data.
Anda ditagih oleh Cloud KMS untuk biaya kunci dan untuk operasi enkripsi dan dekripsi saat Memorystore untuk Valkey menggunakan kunci. Untuk mengetahui informasi selengkapnya, lihat harga Cloud KMS.
Batasan
Batasan berikut berlaku saat menggunakan CMEK dengan Memorystore for Valkey:
- Anda tidak dapat mengaktifkan CMEK pada instance Memorystore for Valkey yang sudah ada.
- Kunci, key ring, dan instance harus berada di region yang sama.
- Anda harus menggunakan algoritma enkripsi simetris untuk kunci Anda.
- Tingkat enkripsi dan dekripsi Cloud KMS bergantung pada kuota.
Langkah berikutnya
- Pelajari CMEK lebih lanjut.
- Pelajari cara meningkatkan keamanan data menggunakan CMEK.
- Pelajari lebih lanjut pencadangan.
- Pelajari lebih lanjut persistensi.