Merotasi kunci keamanan cluster Anda

Rotasi Kunci

Rotasi kunci adalah tindakan mengubah materi kriptografi dasar yang terkandung dalam kunci enkripsi kunci (KEK). Tindakan ini dapat dipicu secara otomatis sebagai bagian dari rotasi terjadwal, atau secara manual, biasanya setelah insiden keamanan saat kunci disusupi. Rotasi kunci hanya mengganti satu kolom dalam kunci yang berisi data kunci enkripsi/dekripsi mentah.

Rotasi Kunci Otomatis

AWS Key Management Service (KMS) mendukung rotasi otomatis kunci KMS. Jika diaktifkan, AWS akan otomatis membuat materi kunci kriptografis baru untuk kunci Anda setahun sekali. Tidak perlu tindakan manual.

Setelah rotasi kunci, GKE di AWS mengenkripsi setiap Secret baru dengan kunci baru. Setiap Secret yang dibuat sebelumnya masih didekripsi dengan kunci aslinya. Karena alasan ini, AWS menyimpan materi kunci lama CMK terus-menerus, memungkinkan DEK lama didekripsi saat Secret lama dibaca.

Anda dapat melihat apakah kunci KMS telah mengaktifkan rotasi otomatis atau tidak dengan perintah berikut:

aws kms get-key-rotation --key-id KMS_KEY_ID

Ganti KMS_KEY_ID dengan ID kunci AWS KMS Anda.

Anda dapat mengaktifkan rotasi kunci otomatis dengan menjalankan perintah ini:

aws kms enable-key-rotation --key-id KMS_KEY_ID

Rotasi Kunci Manual

Bagian ini menjelaskan cara merotasi kunci konfigurasi bidang kontrol atau kumpulan node secara manual.

Kunci konfigurasi bidang kontrol

Untuk memutar kunci konfigurasi bidang kontrol secara manual, lakukan langkah-langkah berikut:

  1. Buat kunci Cloud Key Management Service baru. Simpan nilai ARN kunci KMS Anda. Anda akan menggunakannya nanti.

  2. Pastikan peran IAM yang terkait dengan cluster memiliki izin untuk mengenkripsi dan mendekripsi data menggunakan kunci baru.

  3. Gunakan perintah gcloud container aws clusters update untuk memperbarui kunci enkripsi.

     gcloud container aws clusters update CLUSTER_NAME \
        --location=GOOGLE_CLOUD_LOCATION \
        --config-encryption-kms-key-arn=CONFIG_ENCRYPTION_KMS_KEY_ARN
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster Anda
    • GOOGLE_CLOUD_LOCATION: region Google Cloud yang didukung yang mengelola cluster Anda—misalnya, us-west1
    • CONFIG_ENCRYPTION_KMS_KEY_ARN: ARN kunci KMS baru Anda

Mengontrol volume root bidang

Untuk memutar kunci volume root bidang kontrol secara manual, lakukan langkah-langkah berikut:

  1. Buat kunci Cloud Key Management Service baru. Simpan nilai ARN kunci KMS Anda. Anda akan menggunakannya nanti.

  2. Pastikan peran IAM yang terkait dengan cluster memiliki izin untuk mengenkripsi dan mendekripsi data menggunakan kunci baru.

  3. Gunakan perintah gcloud container aws clusters update untuk memperbarui kunci enkripsi.

     gcloud container aws clusters update CLUSTER_NAME \
        --location=GOOGLE_CLOUD_LOCATION \
        --root-volume-kms-key-arn=ROOT_VOLUME_KMS_KEY_ARN
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster Anda
    • GOOGLE_CLOUD_LOCATION: region Google Cloud yang didukung yang mengelola cluster Anda—misalnya, us-west1
    • ROOT_VOLUME_KMS_KEY_ARN: Amazon Resource Name (ARN) dari kunci AWS KMS untuk mengenkripsi volume root

Kunci konfigurasi kumpulan node

Untuk merotasi kunci Konfigurasi node pool secara manual, lakukan langkah-langkah berikut:

  1. Buat kunci Cloud Key Management Service baru.

  2. Pastikan peran IAM yang terkait dengan cluster memiliki izin untuk mengenkripsi dan mendekripsi data menggunakan kunci baru.

  3. Update alias KMS yang digunakan:

     aws kms update-alias --alias-name KEY_ALIAS \
         --target-key-id CONFIG_ENCRYPTION_KMS_KEY_ARN
    

    Ganti kode berikut:

    • KEY_ALIAS: alias kunci yang ada
    • CONFIG_ENCRYPTION_KMS_KEY_ARN: ARN kunci KMS baru Anda
  4. Paksa cluster untuk mengenkripsi ulang semua Secret cluster menggunakan kunci enkripsi baru:

     kubectl get secrets --all-namespaces -o json | \
     kubectl annotate --overwrite -f - encryption-key-rotation-time=`date +"%Y%m%d-%H%M%S"`
    
  5. Nonaktifkan kunci AWS KMS lama. Untuk mengetahui informasi selengkapnya, baca Mengaktifkan dan menonaktifkan kunci.

Volume root kumpulan node

Untuk merotasi kunci volume root kumpulan Node secara manual, lakukan langkah-langkah berikut:

  1. Buat kunci Cloud Key Management Service baru.

  2. Pastikan peran IAM yang terkait dengan cluster memiliki izin untuk mengenkripsi dan mendekripsi data menggunakan kunci baru.

  3. Update alias KMS yang digunakan:

     aws kms update-alias --alias-name KEY_ALIAS \
         --target-key-id ROOT_VOLUME_KMS_KEY_ARN
    

    Ganti kode berikut:

    • KEY_ALIAS: alias kunci yang ada
    • ROOT_ENCRYPTION_KMS_KEY_ARN: ARN kunci KMS baru Anda
  4. Update kumpulan node Anda:

     gcloud container aws node-pools update NODE_POOL_NAME \
         --root-volume-kms-key-arn=ROOT_VOLUME_KMS_KEY_ARN
    

    Ganti kode berikut:

    • NODE_POOL_NAME: nama kumpulan node Anda
    • ROOT_VOLUME_KMS_KEY_ARN: Amazon Resource Name (ARN) dari kunci AWS KMS untuk mengenkripsi volume root
  5. Nonaktifkan kunci AWS KMS lama. Untuk mengetahui informasi selengkapnya, baca Mengaktifkan dan menonaktifkan kunci.