Rotasi Kunci
Rotasi kunci adalah tindakan mengubah materi kriptografis pokok yang terdapat dalam kunci enkripsi kunci (KEK). Rotasi kunci dapat dipicu secara otomatis sebagai bagian dari rotasi terjadwal, atau secara manual, biasanya setelah insiden keamanan yang menyebabkan kunci mungkin telah 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 ada tindakan manual yang diperlukan.
Setelah rotasi kunci, GKE di AWS mengenkripsi setiap Secret baru dengan kunci baru. Secret yang dibuat sebelumnya tetap didekripsi dengan kunci aslinya. Oleh karena itu, AWS menyimpan materi kunci CMK yang lebih lama selamanya, sehingga memungkinkan DEK lama didekripsi saat Secret lama dibaca.
Anda dapat melihat apakah rotasi otomatis diaktifkan atau tidak untuk kunci KMS 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 panel kontrol atau node pool secara manual.
Kunci konfigurasi bidang kontrol
Untuk mengganti kunci konfigurasi panel kontrol secara manual, lakukan langkah-langkah berikut:
Buat kunci Cloud Key Management Service baru. Simpan nilai ARN kunci KMS Anda. Anda akan menggunakannya nanti.
Pastikan peran IAM yang terkait dengan cluster memiliki izin untuk mengenkripsi dan mendekripsi menggunakan kunci baru.
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 AndaGOOGLE_CLOUD_LOCATION
: region yang didukung Google Cloud yang mengelola cluster Anda—misalnya,us-west1
CONFIG_ENCRYPTION_KMS_KEY_ARN
: ARN kunci KMS baru Anda
Volume root bidang kontrol
Untuk merotasi kunci volume root bidang kontrol secara manual, lakukan langkah-langkah berikut:
Buat kunci Cloud Key Management Service baru. Simpan nilai ARN kunci KMS Anda. Anda akan menggunakannya nanti.
Pastikan peran IAM yang terkait dengan cluster memiliki izin untuk mengenkripsi dan mendekripsi menggunakan kunci baru.
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 AndaGOOGLE_CLOUD_LOCATION
: region yang didukung Google Cloud 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 node pool
Untuk mengganti kunci Konfigurasi node pool secara manual, lakukan langkah-langkah berikut:
Pastikan peran IAM yang terkait dengan cluster memiliki izin untuk mengenkripsi dan mendekripsi menggunakan kunci baru.
Perbarui 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 adaCONFIG_ENCRYPTION_KMS_KEY_ARN
: ARN kunci KMS baru Anda
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"`
Nonaktifkan kunci AWS KMS lama. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan dan menonaktifkan kunci.
Volume root node pool
Untuk mengganti kunci Volume root node pool secara manual, lakukan langkah-langkah berikut:
Pastikan peran IAM yang terkait dengan cluster memiliki izin untuk mengenkripsi dan mendekripsi menggunakan kunci baru.
Perbarui 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 adaROOT_ENCRYPTION_KMS_KEY_ARN
: ARN kunci KMS baru Anda
Perbarui node pool 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 node pool AndaROOT_VOLUME_KMS_KEY_ARN
: Amazon Resource Name (ARN) dari kunci AWS KMS untuk mengenkripsi volume root
Nonaktifkan kunci AWS KMS lama. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan dan menonaktifkan kunci.