Halaman ini menjelaskan kunci enkripsi yang dikelola pelanggan (CMEK) untuk AlloyDB untuk PostgreSQL.
Untuk mengetahui informasi selengkapnya tentang CMEK secara umum, termasuk waktu dan alasan mengaktifkan fitur ini, lihat dokumentasi Cloud KMS.
Untuk panduan langkah demi langkah tentang cara menggunakan CMEK dengan AlloyDB, lihat Menggunakan CMEK.
Alternatif yang dikelola sendiri untuk enkripsi yang dikelola Google
Secara default, semua data dalam penyimpanan di Google Cloud, termasuk data di AlloyDB, dilindungi menggunakan enkripsi default yang dikelola Google. Google Cloud menangani dan mengelola enkripsi default ini untuk Anda tanpa perlu tindakan tambahan dari Anda.
Jika Anda memiliki persyaratan kepatuhan atau peraturan khusus terkait kunci yang melindungi data, Anda dapat menggunakan CMEK. Dengan CMEK, cluster AlloyDB Anda dilindungi menggunakan kunci yang Anda kontrol dan kelola di Cloud Key Management Service (KMS). Kunci CMEK Anda dapat berupa kunci simetris atau kunci Cloud HSM.
Fitur
- Kontrol akses data: Administrator dapat merotasi, mengelola akses ke, dan menonaktifkan atau menghancurkan kunci yang digunakan untuk melindungi data dalam penyimpanan di AlloyDB.
- Kemampuan Audit: Jika Anda mengaktifkan logging audit untuk Cloud KMS API di project, semua tindakan pada kunci, termasuk yang dilakukan oleh AlloyDB, akan dicatat ke dalam log dan dapat dilihat di Cloud Logging.
- Performa: Penggunaan CMEK tidak akan menyebabkan perubahan pada performa AlloyDB.
Harga
AlloyDB menagih cluster yang mengaktifkan CMEK seperti halnya cluster lainnya; tidak ada biaya AlloyDB tambahan. Untuk informasi selengkapnya, lihat Harga AlloyDB untuk PostgreSQL.
Anda ditagih oleh Cloud KMS untuk biaya kunci serta operasi enkripsi dan dekripsi saat AlloyDB menggunakan kunci tersebut. Untuk informasi selengkapnya, lihat Harga Cloud Key Management Service.
Yang dilindungi dengan CMEK
AlloyDB menggunakan kunci Cloud KMS Anda untuk melindungi data dalam penyimpanan dengan cara berikut:
- Jika Anda mengaktifkan CMEK di cluster, AlloyDB akan menggunakan kunci Anda untuk mengenkripsi semua data cluster Anda dalam penyimpanan.
- Jika Anda menentukan konfigurasi CMEK saat membuat cadangan on-demand, AlloyDB akan menggunakan kunci Anda untuk mengenkripsi cadangan tersebut.
- Jika Anda mengaktifkan CMEK dengan konfigurasi pencadangan berkelanjutan atau otomatis cluster, AlloyDB akan menggunakan kunci Anda untuk mengenkripsi pencadangan yang sedang berlangsung.
Baik Anda menggunakan Google-owned and Google-managed encryption keys atau CMEK, AlloyDB memiliki tiga lapisan enkripsi:
AlloyDB membagi data dalam penyimpanan menjadi beberapa bagian untuk disimpan, dan mengenkripsi setiap bagian dengan kunci enkripsi masing-masing. Kunci yang digunakan untuk mengenkripsi data dalam suatu potongan disebut kunci enkripsi data (DEK).
Karena tingginya volume kunci di Google, dan adanya kebutuhan untuk latensi rendah dan ketersediaan tinggi, AlloyDB menyimpan setiap DEK di dekat data yang dienkripsi.
AlloyDB mengenkripsi setiap DEK dengan kunci enkripsi kunci (KEK) yang disimpan oleh cluster.
Terakhir, AlloyDB mengenkripsi KEK dengan kunci enkripsi berbasis Cloud Key Management Service cluster Anda, yang merupakan kunci Google-owned and Google-managed encryption keyatau CMEK.
Anda juga dapat melihat versi kunci yang digunakan untuk melindungi cluster.
Mengaktifkan CMEK
Untuk mengizinkan cluster AlloyDB menggunakan CMEK, Anda harus menentukan kunci Cloud KMS pada saat pembuatan cluster.
AlloyDB dapat mengakses kunci atas nama Anda setelah Anda memberikan peran Pengenkripsi/Pendekripsi Cloud KMS CryptoKey (roles/cloudkms.cryptoKeyEncrypterDecrypter
) ke agen layanan AlloyDB.
Untuk petunjuk mendetail, lihat Menggunakan CMEK.
Mengelola kunci
Gunakan Cloud KMS untuk semua operasi pengelolaan kunci. AlloyDB tidak dapat mendeteksi atau menindaklanjuti perubahan kunci apa pun hingga di-propagate oleh Cloud KMS. Beberapa operasi, seperti menonaktifkan atau menghancurkan kunci, dapat memerlukan waktu hingga tiga jam untuk diterapkan; perubahan pada izin biasanya diterapkan jauh lebih cepat.
Setelah cluster dibuat, AlloyDB akan memanggil Cloud KMS setiap lima menit untuk memastikan kunci masih valid.
Jika AlloyDB mendeteksi bahwa kunci Cloud KMS Anda telah dinonaktifkan atau dihancurkan, operasi untuk membuat data cluster Anda tidak dapat diakses akan segera dimulai. Jika panggilan AlloyDB ke Cloud KMS mendeteksi bahwa kunci yang sebelumnya dinonaktifkan telah diaktifkan kembali, akses akan dipulihkan secara otomatis.
Menggunakan dan mengelola kunci eksternal
Sebagai alternatif untuk menggunakan kunci yang berada di Cloud KMS, Anda dapat menggunakan kunci yang berada di partner pengelolaan kunci eksternal yang didukung. Untuk melakukannya, gunakan Cloud External Key Manager (Cloud EKM) untuk membuat dan mengelola kunci eksternal, yang merupakan pointer ke kunci yang berada di luar Google Cloud. Untuk informasi selengkapnya, lihat Cloud External Key Manager.
Setelah membuat kunci enkripsi eksternal dengan Cloud EKM, Anda dapat menerapkannya ke cluster AlloyDB baru dengan memberikan ID kunci tersebut saat membuat cluster. Prosedur ini sama dengan menerapkan kunci Cloud KMS ke cluster baru.
Anda dapat menggunakan Key Access Justifications sebagai bagian dari Cloud EKM. Key Access Justifications memungkinkan Anda melihat alasan setiap permintaan Cloud EKM. Selain itu, berdasarkan justifikasi yang diberikan, Anda dapat otomatis menyetujui atau menolak permintaan. Untuk informasi selengkapnya, lihat Ringkasan.
Google tidak memiliki kontrol atas ketersediaan kunci dalam sistem partner pengelolaan kunci eksternal.
Ketersediaan kunci
Jika Anda menonaktifkan kunci Cloud KMS yang digunakan untuk mengenkripsi cluster AlloyDB, instance AlloyDB yang termasuk dalam cluster tersebut akan mengalami periode nonaktif dalam waktu 30 menit. Mengaktifkan kembali kunci akan membuat instance kembali aktif.
Dalam skenario yang jarang terjadi, seperti selama periode saat Cloud KMS tidak tersedia, AlloyDB mungkin tidak dapat mengambil status kunci Anda dari Cloud KMS. Dalam skenario ini, AlloyDB terus mendukung operasi cluster penuh berdasarkan upaya terbaik selama periode hingga 30 menit untuk meminimalkan dampak pemadaman sementara pada workload Anda.
Setelah 30 menit, jika AlloyDB masih tidak dapat terhubung dengan Cloud KMS, AlloyDB akan mulai menonaktifkan cluster sebagai tindakan perlindungan. Data di cluster AlloyDB Anda tetap tidak dapat diakses hingga cluster dapat terhubung kembali dengan Cloud KMS dan Cloud KMS merespons bahwa kunci tersebut aktif.
Pencadangan dan pemulihan
AlloyDB juga melindungi pencadangan dengan CMEK atau enkripsi default yang dikelola Google. Jika cadangan diaktifkan CMEK, cadangan akan dienkripsi menggunakan versi utama kunci KMS pada saat pembuatan cadangan. Setelah cadangan dibuat, kunci dan versi kuncinya tidak dapat diubah, meskipun kunci KMS dirotasi. Untuk mengetahui informasi selengkapnya, lihat Mencadangkan cluster.
Saat Anda memulihkan cluster dari cadangan, cluster yang dipulihkan akan secara default menggunakan enkripsi yang dikelola Google, tetapi Anda dapat menentukan kunci CMEK untuk digunakan. Untuk memulihkan cadangan yang mendukung CMEK, kunci dan versi kunci yang digunakan untuk mengenkripsi cadangan harus tersedia.
Logging
Anda dapat mengaudit permintaan yang dikirim AlloyDB ke Cloud KMS atas nama Anda di Cloud Logging, jika Anda telah mengaktifkan logging audit untuk Cloud KMS API di project Anda. Entri log Cloud KMS ini dapat dilihat di Cloud Logging. Untuk informasi selengkapnya, lihat Melihat log audit untuk kunci Cloud KMS.