Menggunakan CMEK

Halaman ini menjelaskan cara membuat, mengonfigurasi, dan menerapkan kunci enkripsi yang dikelola pelanggan (CMEK) untuk AlloyDB untuk PostgreSQL.

Untuk mempelajari CMEK lebih lanjut, lihat Tentang CMEK.

Membuat dan memberikan otorisasi kunci CMEK untuk AlloyDB

  1. Buat kunci di Cloud Key Management Service (Cloud KMS). AlloyDB mendukung jenis kunci berikut:

    Kunci harus berada di lokasi yang sama dengan cluster AlloyDB Anda. Misalnya, cluster AlloyDB yang berada di us-west1 hanya dapat menggunakan kunci di us-west1.

    Jika sudah memiliki kunci Cloud KMS di lokasi yang benar, Anda dapat melewati langkah ini.

  2. Berikan akses AlloyDB ke kunci.

    1. Dengan Google Cloud CLI, buat dan tampilkan agen layanan, atau tampilkan jika akun sudah ada:

      gcloud beta services identity create --service=alloydb.googleapis.com \
          --project=PROJECT

      Perintah gcloud services identity membuat atau mendapatkan agen layanan yang dapat digunakan AlloyDB untuk mengakses kunci Cloud KMS atas nama Anda.

      ID akun layanan menyerupai alamat email:

      Service identity created: service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com
      
    2. Berikan peran cloudkms.cryptoKeyEncrypterDecrypter ke akun layanan:

      gcloud kms keys add-iam-policy-binding KEY \
          --location REGION \
          --keyring KEYRING \
          --project=PROJECT \
          --member serviceAccount:service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com \
          --role roles/cloudkms.cryptoKeyEncrypterDecrypter

      Ganti kode berikut:

      • KEY: ID Cloud KMS kunci
      • REGION: region kunci—misalnya, us-central1
      • PROJECT: ID project kunci
      • KEYRING: ID key ring Cloud KMS kunci

      Peran ini memastikan akun layanan memiliki izin untuk mengenkripsi dan mendekripsi dengan kunci Cloud KMS. Untuk mengetahui informasi selengkapnya, lihat Izin dan Peran Cloud KMS.

Membuat cluster yang dienkripsi CMEK

Saat membuat cluster baru, Anda dapat memilih apakah akan mengenkripsinya dengan enkripsi default yang dikelola Google atau menggunakan kunci CMEK. Untuk mengetahui informasi selengkapnya, lihat Membuat cluster dan instance utamanya.

Melihat metode enkripsi dan kunci CMEK cluster

Konsol

Kolom Encryption di halaman Clusters menampilkan apakah setiap cluster dalam project Anda menggunakan enkripsi yang dikelola Google atau CMEK.

Buka halaman Cluster

Untuk melihat detail kunci cluster yang menggunakan CMEK, klik namanya di kolom Nama resource. Kolom Kunci enkripsi di halaman detail berikutnya berisi deskripsi kunci, termasuk link ke halaman detail Cloud KMS-nya sendiri.

gcloud

Panggil perintah gcloud alloydb clusters describe:

gcloud alloydb clusters describe CLUSTER \
--project=PROJECT \
--region=REGION

Ganti kode berikut:

  • CLUSTER: ID cluster yang akan dideskripsikan
  • PROJECT: ID project cluster
  • REGION: region cluster—misalnya, us-central1

Output-nya mencakup kolom encryptionInfo dengan ringkasan enkripsi cluster.

Menerapkan CMEK ke pencadangan

Saat membuat pencadangan baru, Anda dapat memilih apakah akan mengenkripsinya dengan enkripsi default yang dikelola Google atau menggunakan kunci CMEK. Untuk mengetahui informasi selengkapnya, lihat Membuat pencadangan on demand atau Menjadwalkan pencadangan otomatis.

Anda juga memiliki opsi untuk menerapkan kunci CMEK ke cluster yang dibuat saat memulihkan dari cadangan, terlepas dari metode enkripsi cadangan tersebut. Untuk mengetahui informasi selengkapnya, lihat Memulihkan cluster.

Melihat metode enkripsi dan kunci CMEK cadangan

Konsol

Kolom Encryption di halaman Backups menampilkan apakah setiap cluster dalam project Anda menggunakan enkripsi yang dikelola Google atau CMEK.

Buka halaman Cadangan

Untuk melihat detail utama pencadangan menggunakan CMEK, klik Pulihkan. Kolom Kunci enkripsi di panel detail berikutnya berisi deskripsi kunci, termasuk link ke halaman detail Cloud KMS-nya sendiri.

gcloud

Panggil perintah gcloud alloydb backups describe:

gcloud alloydb backups describe CLUSTER \
--project=PROJECT \
--region=REGION

Ganti kode berikut:

  • CLUSTER: ID cadangan yang akan dideskripsikan
  • PROJECT: ID project pencadangan
  • REGION: region pencadangan—misalnya, us-central1

Output-nya mencakup kolom encryptionInfo dengan ringkasan enkripsi cadangan.

Menonaktifkan kunci

Menonaktifkan kunci CMEK cluster akan membuat data cluster tersebut tidak dapat diakses hingga Anda mengaktifkan kunci lagi.

Namun, penonaktifan kunci dapat memerlukan waktu hingga tiga jam untuk disebarkan ke cluster AlloyDB Anda. Untuk menonaktifkan kunci sekaligus mencegah akses ke data Anda segera, ikuti langkah-langkah berikut:

  1. Hapus instance utama cluster Anda. Hal ini tidak memengaruhi data cluster Anda. Anda dapat membuat instance utama baru setelah mengaktifkan kembali kunci, seperti yang dijelaskan di bagian berikut.

  2. Gunakan Cloud KMS untuk menonaktifkan kunci.

Mengaktifkan kunci

Untuk mengaktifkan kunci, ikuti langkah-langkah berikut:

  1. Gunakan Cloud KMS untuk mengaktifkan kunci.

  2. Jika Anda menghapus instance utama cluster sebelum menonaktifkan kunci, buat instance utama baru.

Perlu waktu hingga tiga jam untuk menerapkan kunci ke cluster Anda. Data cluster dapat diakses segera setelah penyebaran ini terjadi.

Melihat log audit untuk kunci Cloud KMS

Untuk melihat log audit yang terkait dengan kunci CMEK tertentu, ikuti langkah-langkah berikut:

  1. Pastikan logging diaktifkan untuk Cloud KMS API di project Anda.

  2. Buka Logs Explorer di Konsol Google Cloud.

    Buka Logs Explorer

  3. Batasi entri log ke kunci Cloud KMS Anda dengan menambahkan baris berikut ke pembuat kueri:

    resource.type="cloudkms_cryptokey"
    resource.labels.location="REGION"
    resource.labels.key_ring_id="KEYRING"
    resource.labels.crypto_key_id="KEY"
    

    Ganti kode berikut:

    • REGION: region kunci—misalnya, us-central1
    • KEYRING: ID key ring Cloud KMS kunci
    • KEY: ID Cloud KMS kunci
  4. Dalam operasi normal, operasi enkripsi dan dekripsi dicatat ke dalam log dengan tingkat keparahan INFO. Entri ini dicatat ke dalam log saat instance di cluster AlloyDB Anda memvalidasi kunci {kms_name_short}}, yang terjadi sekitar setiap lima menit.

  5. Jika AlloyDB gagal mengakses kunci, operasi akan dicatat ke dalam log sebagai ERROR.

Melihat justifikasi akses untuk kunci Cloud EKM

Jika menggunakan kunci Cloud EKM, Anda dapat menggunakan Key Access Justifications untuk melihat alasan setiap permintaan Cloud EKM. Selain itu, berdasarkan justifikasi yang diberikan, Anda dapat otomatis menyetujui atau menolak permintaan. Untuk mengetahui informasi selengkapnya, lihat Melihat dan menindaklanjuti justifikasi.