Tentang CMEK

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.

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

Untuk mempelajari cara menggunakan CMEK yang dibuat secara manual untuk melindungi resource AlloyDB, lihat Menggunakan CMEK.

CMEK dengan Kunci Otomatis Cloud KMS

Anda dapat membuat CMEK secara manual untuk melindungi resource AlloyDB atau menggunakan Cloud KMS Autokey. Dengan Autokey, key ring dan kunci dibuat sesuai permintaan sebagai bagian dari pembuatan resource di AlloyDB. Agen layanan yang menggunakan kunci untuk operasi enkripsi dan dekripsi akan dibuat jika belum ada dan diberi peran Identity and Access Management (IAM) yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Ringkasan kunci otomatis.

AlloyDB hanya kompatibel dengan Cloud KMS Autokey saat membuat resource menggunakan Terraform atau REST API.

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:

  1. 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.

  2. AlloyDB mengenkripsi setiap DEK dengan kunci enkripsi kunci (KEK) yang disimpan oleh cluster.

  3. 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, kunci tersebut akan otomatis memulihkan akses.

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.

Kunci tidak tersedia

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 akan 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 cadangan dengan CMEK atau enkripsi default yang dikelola Google. Jika cadangan diaktifkan dengan 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.

Langkah berikutnya