Tentang CMEK

Untuk mengontrol dan mengelola kunci enkripsi yang melindungi data dalam penyimpanan di cluster dan cadangan AlloyDB untuk PostgreSQL, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) di Cloud Key Management Service (Cloud KMS).

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 batasan kriptografisnya. Dengan Cloud KMS, Anda juga dapat melihat log audit dan mengontrol siklus proses kunci. Bukan 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 akan serupa dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).

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

CMEK dengan Cloud KMS Autokey

Anda dapat membuat CMEK secara manual untuk melindungi resource AlloyDB atau menggunakan Cloud KMS Autokey. Dengan Autokey, key ring dan kunci dibuat sesuai permintaan untuk mendukung 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 Autokey.

Fitur

  • Kontrol akses data: Administrator dapat merotasi, mengelola akses ke, dan menonaktifkan atau menghancurkan kunci yang Anda gunakan untuk melindungi data dalam penyimpanan di AlloyDB.

    Pengelolaan kunci ditangani oleh Cloud KMS. Cluster tidak akan otomatis mengenkripsi ulang dirinya sendiri dengan versi kunci yang lebih baru setelah rotasi. Cluster dienkripsi oleh versi utama CMEK pada saat pembuatan cluster. Untuk merotasi enkripsi cluster, buat cadangan dan pulihkan cluster dengan versi kunci yang lebih baru. Untuk mengetahui informasi selengkapnya tentang pencadangan dan pemulihan, lihat Ringkasan pencadangan dan pemulihan data.

  • Kemampuan audit: Jika Anda mengaktifkan logging audit untuk Cloud KMS API di project Anda, semua tindakan pada kunci, termasuk yang dilakukan oleh AlloyDB, akan dicatat ke dalam log dan dapat dilihat di Cloud Logging.

  • Performa: Penggunaan CMEK tidak mengubah performa AlloyDB.

Harga

AlloyDB menagih cluster yang mendukung CMEK sama seperti cluster lainnya, tanpa biaya tambahan AlloyDB. Untuk informasi selengkapnya, lihat Harga AlloyDB untuk PostgreSQL.

Anda akan ditagih oleh Cloud KMS untuk biaya kunci dan untuk operasi enkripsi dan dekripsi saat AlloyDB menggunakan kunci tersebut. Untuk mengetahui informasi selengkapnya, lihat Harga Cloud Key Management Service.

Yang dilindungi oleh 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 di penyimpanan.
  • Jika Anda menentukan konfigurasi CMEK saat membuat pencadangan on-demand, AlloyDB akan menggunakan kunci Anda untuk mengenkripsi pencadangan 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 memecah data dalam penyimpanan menjadi beberapa potongan untuk penyimpanan, dan mengenkripsi setiap potongan dengan kunci enkripsi tersendiri. Kunci yang digunakan untuk mengenkripsi data dalam 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 KMS cluster Anda, yang merupakan kunciGoogle-owned and Google-managed encryption key atau CMEK.

Anda juga dapat melihat versi kunci yang digunakan untuk melindungi cluster.

Mengaktifkan CMEK

Agar cluster AlloyDB dapat menggunakan CMEK, Anda harus menentukan kunci Cloud KMS pada saat pembuatan cluster.

AlloyDB dapat mengakses kunci atas nama Anda setelah Anda memberikan peran Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) ke agen layanan AlloyDB.

Untuk mengetahui 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 perubahan tersebut diterapkan oleh Cloud KMS. Beberapa operasi, seperti menonaktifkan atau menghancurkan kunci, dapat memerlukan waktu hingga tiga jam untuk disebarkan. Perubahan pada izin biasanya diterapkan jauh lebih cepat.

Setelah cluster dibuat, AlloyDB akan memanggil Cloud KMS sekitar setiap lima menit untuk memastikan bahwa kunci masih valid.

Jika AlloyDB mendeteksi bahwa kunci Cloud KMS Anda telah dinonaktifkan atau dihancurkan, AlloyDB akan memulai operasi untuk membuat data cluster Anda tidak dapat diakses. Jika panggilan AlloyDB ke Cloud KMS mendeteksi bahwa kunci yang sebelumnya dinonaktifkan telah diaktifkan kembali, akses akan otomatis dipulihkan.

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 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 mengetahui 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 mencadangkan instance kembali.

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 jangka waktu hingga 30 menit untuk meminimalkan dampak pemadaman layanan sementara pada workload Anda.

Setelah 30 menit, jika AlloyDB masih tidak dapat terhubung dengan Cloud KMS, AlloyDB akan mulai menjadikan cluster offline sebagai tindakan perlindungan. Data di cluster AlloyDB Anda tetap tidak dapat diakses hingga cluster Anda 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 CMEK, cadangan akan dienkripsi menggunakan versi utama kunci Cloud KMS pada saat pembuatan cadangan. Setelah cadangan dibuat, kunci dan versi kuncinya tidak dapat diubah, meskipun kunci Cloud KMS dirotasi. Untuk mengetahui informasi selengkapnya tentang cara mengenkripsi cadangan dengan CMEK, lihat Mencadangkan cluster.

Saat Anda memulihkan cluster dari cadangan, cluster yang dipulihkan akan menggunakan enkripsi yang dikelola Google secara default, 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.

Replikasi lintas-region

Karena kunci Cloud KMS adalah resource regional, cluster utama dan cluster sekunder lintas region harus menggunakan kunci Cloud KMS yang berbeda yang terletak di region masing-masing. Konfigurasi enkripsi cluster utama dan cluster sekundernya tidak saling bergantung. Untuk melindungi kedua cluster dengan CMEK, buat kunci Cloud KMS di region cluster utama dan kunci Cloud KMS terpisah di region cluster sekunder.

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 mengetahui informasi selengkapnya, lihat Melihat log audit untuk kunci Cloud KMS.

Langkah berikutnya