La versione 1.10 di Google Distributed Cloud supporta la crittografia dei secret senza la necessità di un KMS (Key Management Service) esterno o altre dipendenze.
Abilita la crittografia dei secret sempre attiva
La crittografia dei secret sempre attiva funziona generando automaticamente una chiave di crittografia utilizzata per criptare i secret prima che vengano archiviati nel database etcd per il cluster. I secret vengono criptati utilizzando una chiave di crittografia dei dati (DEK) generata per ogni scrittura di secret. Questa DEK viene utilizzata in modalità AES-GCM per criptare l'oggetto Secret. La DEK viene a sua volta criptata con una chiave di crittografia della chiave (KEK). L'algoritmo di crittografia è A256GCM (AES GCM con chiave a 256 bit).
La versione della chiave è un numero di versione che indica la chiave attualmente in uso.
Puoi attivare la crittografia dei secret dopo aver già creato un cluster.
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 di utenti:
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 del cluster corrispondente.
Archiviazione delle chiavi
Le chiavi di crittografia per il cluster di amministrazione vengono archiviate sul disco di dati del cluster di amministrazione. Questo disco è montato sulla macchina principale dell'amministratore in /opt/data e le chiavi di crittografia si trovano in /opt/data/gke-k8s-kms-plugin/generatedkeys/. È necessario eseguire il backup di queste chiavi per mantenere l'accesso ai secret criptati utilizzati dalla chiave. Devi attivare la crittografia della VM/dell'archiviazione nell'hypervisor o misure simili per assicurarti che i dischi VM del piano di controllo siano protetti.
Rotazione 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. Viene creata una nuova chiave corrispondente al nuovo numero di versione, viene sottoposta a nuova crittografia ogni secret e viene cancellata in modo sicuro quella precedente. Tutti i nuovi secret successivi vengono criptati utilizzando la nuova chiave di crittografia.
Disattiva la crittografia dei secret sempre attiva
Per disattivare la crittografia dei secret in un cluster esistente, aggiungi un campo disabled: true
. Quindi, esegui il comando gkectl update
corrispondente. Questo aggiornamento decripta ogni secret esistente e lo memorizza in testo normale. Tutti i nuovi secret successivi vengono archiviati in testo non criptato.
secretsEncryption: mode: GeneratedKey generatedKey: keyVersion: KEY_VERSION disabled: true