I cluster Anthos su VMware (GKE on-prem) versione 1.10 supportano la crittografia dei secret senza la necessità di un KMS esterno (Key Management Service) o di altre dipendenze.
Abilita la crittografia dei secret sempre attiva
La crittografia dei secret sempre attivi funziona automaticamente generando una chiave di crittografia che viene utilizzata per criptare i secret prima che siano archiviati sul database etcd per quel cluster.
La versione della chiave è un numero di versione per indicare la chiave attualmente in uso.
Puoi abilitare la crittografia dei secret dopo che un cluster è già stato creato.
Per il cluster di amministrazione:
Modifica il file di configurazione del cluster di amministrazione per aggiungere la sezione
secretsEncryption
.Esegui il comando
gkectl update
.gkectl update admin --config ADMIN_CLUSTER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Per un cluster utente:
Modifica il file di configurazione del cluster utente per aggiungere la sezione
secretsEncryption
.Esegui il comando
gkectl update
.gkectl update cluster --config USER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Sostituisci quanto segue:
ADMIN_KUBECONFIG
con il percorso del file kubeconfig del cluster di amministrazione.ADMIN_CLUSTER_CONFIG
con il percorso del file di configurazione del cluster di amministrazione.USER_CLUSTER_CONFIG
con il percorso del file di configurazione del cluster utente.
I comandi gkectl update
forniti in questa sezione possono essere utilizzati anche per qualsiasi altro aggiornamento al cluster corrispondente.
Archivio chiavi
Le chiavi di crittografia per il cluster di amministrazione sono archiviate nel disco dati del cluster di amministrazione. Questo disco è montato sulla macchina master dell'amministratore in /opt/data
e le chiavi di crittografia sono disponibili all'indirizzo /opt/data/gke-k8s-kms-plugin/generatedkeys/
. È necessario eseguire il backup di queste chiavi per mantenere l'accesso ai secret criptati utilizzati dalla chiave stessa.
Rotazione di una chiave
Per ruotare una chiave di crittografia esistente per un cluster, incrementa keyVersion
nel file di configurazione del cluster di amministrazione o nel file di configurazione del cluster utente corrispondente ed esegui il comando gkectl update
appropriato. In questo modo viene creata una nuova chiave che corrisponde al nuovo numero di versione, viene ricriptata ogni secret e viene cancellata in modo sicuro quello precedente. Tutti i nuovi secret successivi vengono criptati utilizzando la nuova chiave di crittografia.
Disabilita la crittografia dei secret sempre attiva
Per disabilitare la crittografia dei secret su un cluster esistente, rimuovi il campo keyVersion
e aggiungi un campo disabled: true
. Quindi, esegui il comando gkectl update
corrispondente. Questo aggiornamento decripta ogni secret esistente e lo archivia in testo normale. Tutti i nuovi secret successivi sono archiviati in testo normale.
secretsEncryption: mode: GeneratedKey generatedKey: disabled: true