Rotazione chiavi
La rotazione delle chiavi consiste nell'atto di modificare il materiale crittografico sottostante contenuto in una chiave di crittografia della chiave (KEK). Puoi attivarla automaticamente nell'ambito di una rotazione pianificata o manualmente, in genere dopo un incidente di sicurezza in cui le chiavi potrebbero essere state compromesse. La rotazione della chiave sostituisce solo il singolo campo della chiave contenente i dati non elaborati della chiave di crittografia/decrittografia.
Rotazione automatica delle chiavi
AWS Key Management Service (KMS) supporta la rotazione automatica delle chiavi KMS. Se questa opzione è attivata, AWS genera automaticamente nuovo materiale per le chiavi di crittografia per la tua chiave una volta all'anno. Non sono richieste azioni manuali.
Dopo una rotazione della chiave, GKE su AWS cripta ogni nuovo segreto con la nuova chiave. Qualsiasi secret creato in precedenza viene ancora decriptato con la chiave originale. Per questo motivo, AWS conserva il materiale della chiave precedente della CMK a tempo indeterminato, consentendo la decrittografia delle DEK precedenti quando vengono letti i vecchi secret.
Puoi vedere se la rotazione automatica è abilitata o meno per una chiave KMS con il seguente comando:
aws kms get-key-rotation --key-id KMS_KEY_ID
Sostituisci KMS_KEY_ID
con l'ID chiave AWS KMS.
Puoi attivare la rotazione automatica delle chiavi eseguendo questo comando:
aws kms enable-key-rotation --key-id KMS_KEY_ID
Rotazione manuale delle chiavi
Questa sezione spiega come ruotare manualmente le chiavi di configurazione del control plane o del pool di nodi.
Chiave di configurazione del control plane
Per ruotare manualmente la chiave della configurazione del piano di controllo:
Crea una nuova chiave Cloud Key Management Service. Salva il valore dell'ARN della chiave KMS. ti servirà in un secondo momento.
Assicurati che il ruolo IAM associato al cluster disponga delle autorizzazioni per criptare e decriptare utilizzando la nuova chiave.
Utilizza il comando
gcloud container aws clusters update
per aggiornare la chiave di crittografia.gcloud container aws clusters update CLUSTER_NAME \ --location=GOOGLE_CLOUD_LOCATION \ --config-encryption-kms-key-arn=CONFIG_ENCRYPTION_KMS_KEY_ARN
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del clusterGOOGLE_CLOUD_LOCATION
: la regione Google Cloud supportata che gestisce il tuo cluster, ad esempious-west1
CONFIG_ENCRYPTION_KMS_KEY_ARN
: l'ARN della nuova chiave KMS
Volume root del piano di controllo
Per ruotare manualmente la chiave del volume principale del piano di controllo:
Crea una nuova chiave Cloud Key Management Service. Salva il valore dell'ARN della chiave KMS. ti servirà in un secondo momento.
Assicurati che il ruolo IAM associato al cluster disponga delle autorizzazioni per criptare e decriptare utilizzando la nuova chiave.
Utilizza il comando
gcloud container aws clusters update
per aggiornare la chiave di crittografia.gcloud container aws clusters update CLUSTER_NAME \ --location=GOOGLE_CLOUD_LOCATION \ --root-volume-kms-key-arn=ROOT_VOLUME_KMS_KEY_ARN
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del clusterGOOGLE_CLOUD_LOCATION
: la regione Google Cloud supportata che gestisce il tuo cluster, ad esempious-west1
ROOT_VOLUME_KMS_KEY_ARN
: Amazon Resource Name (ARN) della chiave KMS AWS per criptare il volume principale
Chiave di configurazione del node pool
Per ruotare manualmente la chiave Configurazione pool di nodi, segui questi passaggi:
Assicurati che il ruolo IAM associato al cluster disponga delle autorizzazioni per criptare e decriptare utilizzando la nuova chiave.
Aggiorna l'alias KMS in uso:
aws kms update-alias --alias-name KEY_ALIAS \ --target-key-id CONFIG_ENCRYPTION_KMS_KEY_ARN
Sostituisci quanto segue:
KEY_ALIAS
: l'alias della chiave esistenteCONFIG_ENCRYPTION_KMS_KEY_ARN
: l'ARN della nuova chiave KMS
Forza il cluster a criptare di nuovo tutti i secret del cluster utilizzando la nuova chiave di crittografia:
kubectl get secrets --all-namespaces -o json | \ kubectl annotate --overwrite -f - encryption-key-rotation-time=`date +"%Y%m%d-%H%M%S"`
Disattiva la vecchia chiave KMS AWS. Per ulteriori informazioni, consulta Attivare e disattivare le chiavi.
Volumi principali del node pool
Per ruotare manualmente la chiave Volume radice del pool di nodi, segui questi passaggi:
Assicurati che il ruolo IAM associato al cluster disponga delle autorizzazioni per criptare e decriptare utilizzando la nuova chiave.
Aggiorna l'alias KMS in uso:
aws kms update-alias --alias-name KEY_ALIAS \ --target-key-id ROOT_VOLUME_KMS_KEY_ARN
Sostituisci quanto segue:
KEY_ALIAS
: l'alias della chiave esistenteROOT_ENCRYPTION_KMS_KEY_ARN
: l'ARN della nuova chiave KMS
Aggiorna il pool di nodi:
gcloud container aws node-pools update NODE_POOL_NAME \ --root-volume-kms-key-arn=ROOT_VOLUME_KMS_KEY_ARN
Sostituisci quanto segue:
NODE_POOL_NAME
: il nome del pool di nodiROOT_VOLUME_KMS_KEY_ARN
: Amazon Resource Name (ARN) della chiave KMS AWS per criptare il volume principale
Disattiva la vecchia chiave KMS AWS. Per ulteriori informazioni, consulta Attivare e disattivare le chiavi.