Menggunakan enkripsi secret yang selalu aktif

Google Distributed Cloud versi 1.10 mendukung enkripsi secret tanpa memerlukan KMS (Key Management Service) eksternal, atau dependensi lainnya.

Mengaktifkan enkripsi secret yang selalu aktif

Enkripsi secret yang selalu aktif berfungsi dengan otomatis membuat kunci enkripsi yang digunakan untuk mengenkripsi secret sebelum disimpan di database etcd untuk cluster tersebut. Secret dienkripsi menggunakan Kunci Enkripsi Data (DEK) yang dihasilkan untuk setiap penulisan Secret. DEK ini digunakan dalam mode AES-GCM untuk mengenkripsi objek Secret. DEK kemudian dienkripsi dengan Kunci Enkripsi Kunci (KEK). Algoritma enkripsinya adalah A256GCM (AES GCM menggunakan kunci 256-bit).

Versi kunci adalah nomor versi untuk menunjukkan kunci yang sedang digunakan.

Anda dapat mengaktifkan enkripsi secret setelah cluster dibuat.

  • Untuk cluster admin:

    1. Edit file konfigurasi cluster admin untuk menambahkan bagian secretsEncryption.

    2. Jalankan perintah gkectl update.

      gkectl update admin --config ADMIN_CLUSTER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG
  • Untuk cluster pengguna:

    1. Edit file konfigurasi cluster pengguna untuk menambahkan bagian secretsEncryption.

    2. Jalankan perintah gkectl update.

      gkectl update cluster --config USER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Ganti kode berikut:

  • ADMIN_KUBECONFIG dengan jalur file kubeconfig cluster admin Anda.
  • ADMIN_CLUSTER_CONFIG dengan jalur file konfigurasi cluster admin Anda.
  • USER_CLUSTER_CONFIG dengan jalur file konfigurasi cluster pengguna Anda.

Perintah gkectl update yang disediakan di bagian ini juga dapat digunakan untuk update lain ke cluster yang sesuai.

Penyimpanan kunci

Kunci enkripsi untuk cluster admin disimpan di disk data cluster admin. Disk ini dipasang di mesin master admin di /opt/data, dan kunci enkripsi dapat ditemukan di /opt/data/gke-k8s-kms-plugin/generatedkeys/. Kunci ini harus dicadangkan untuk mempertahankan akses ke secret terenkripsi yang digunakan oleh kunci tersebut. Anda harus mengaktifkan enkripsi VM/penyimpanan di hypervisor atau tindakan serupa untuk memastikan disk VM panel kontrol dilindungi.

Rotasi kunci

Untuk merotasi kunci enkripsi yang ada untuk cluster, tambahkan keyVersion di file konfigurasi cluster admin atau file konfigurasi cluster pengguna yang sesuai, lalu jalankan perintah gkectl update yang sesuai. Tindakan ini akan membuat kunci baru yang cocok dengan nomor versi baru, mengenkripsi ulang setiap secret, dan menghapus kunci lama dengan aman. Semua secret baru berikutnya dienkripsi menggunakan kunci enkripsi baru.

Menonaktifkan enkripsi secret yang selalu aktif

Untuk menonaktifkan enkripsi secret di cluster yang ada, tambahkan kolom disabled: true. Selanjutnya, jalankan perintah gkectl update yang sesuai. Update ini mendekripsi setiap secret yang ada dan menyimpan setiap secret dalam teks biasa. Semua secret baru berikutnya disimpan dalam teks biasa.

secretsEncryption:
  mode: GeneratedKey
  generatedKey:
    keyVersion: KEY_VERSION
    disabled: true