Anthos Clusters on VMware (GKE On-Prem) version 1.10 accepte le chiffrement des secrets sans nécessiter de service de gestion des clés externe ni d'autres dépendances. L'algorithme de chiffrement est A256GCM (AES GCM utilise une clé 256 bits).
Activer le chiffrement des secrets toujours activé
Le chiffrement des secrets permanents consiste à générer automatiquement une clé de chiffrement à utiliser avant de stocker les secrets dans la base de données etcd pour ce cluster.
La version de clé est un nombre qui indique la clé actuellement utilisée.
Vous pouvez activer le chiffrement des secrets une fois qu'un cluster a été créé.
Pour le cluster d'administrateur :
Modifiez le fichier de configuration du cluster d'administrateur pour ajouter la section
secretsEncryption
.Exécutez la commande
gkectl update
.gkectl update admin --config ADMIN_CLUSTER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Pour un cluster d'utilisateur :
Modifiez le fichier de configuration du cluster d'utilisateur pour ajouter la section
secretsEncryption
.Exécutez la commande
gkectl update
.gkectl update cluster --config USER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Remplacez les éléments suivants :
ADMIN_KUBECONFIG
par le chemin d'accès au fichier kubeconfig du cluster d'administrateur.ADMIN_CLUSTER_CONFIG
par le chemin d'accès au fichier de configuration du cluster d'administrateur.USER_CLUSTER_CONFIG
est le chemin d'accès au fichier de configuration du cluster d'utilisateur.
Les commandes gkectl update
fournies dans cette section peuvent également être utilisées pour toute autre mise à jour du cluster correspondant.
Le stockage des clés
Les clés de chiffrement du cluster d'administrateur sont stockées sur le disque de données de celui-ci. Ce disque est installé sur le système maître administrateur à l'adresse /opt/data
et les clés de chiffrement se trouvent à l'adresse /opt/data/gke-k8s-kms-plugin/generatedkeys/
. Ces clés doivent être sauvegardées afin de conserver l'accès aux secrets chiffrés utilisés par cette clé.
Rotation des clés
Pour effectuer la rotation d'une clé de chiffrement existante sur un cluster, incrémentez keyVersion
dans le fichier de configuration du cluster d'administrateur ouFichier de configuration de cluster d'utilisateur correspondant, puis exécutez la commande gkectl update
appropriée. Cette opération crée une clé correspondant au nouveau numéro de version, rechiffre chaque secret et efface l'ancien. Tous les nouveaux secrets sont chiffrés à l'aide de la nouvelle clé de chiffrement.
Désactiver le chiffrement permanent des secrets
Pour désactiver le chiffrement des secrets sur un cluster existant, supprimez le champ keyVersion
et ajoutez un champ disabled: true
. Exécutez ensuite la commande gkectl update
correspondante. Cette mise à jour déchiffre chaque secret existant et les stocke en texte brut. Tous les nouveaux secrets sont stockés en texte brut.
secretsEncryption: mode: GeneratedKey generatedKey: disabled: true