Utiliser le chiffrement des secrets toujours activé

La version 1.10 de Google Distributed Cloud est compatible avec le chiffrement des secrets sans avoir besoin d'un service de gestion des clés (KMS) externe ni d'autres dépendances.

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. Les secrets sont chiffrés à l'aide d'une clé de chiffrement des données (DEK) générée à chaque écriture de secrets. Cette DEK est utilisée en mode AES-GCM pour chiffrer l'objet Secret. La clé DEK est à son tour chiffrée avec une clé de chiffrement de clé (KEK, Key Encrypting Key). L'algorithme de chiffrement est A256GCM (AES GCM utilisant une clé de 256 bits).

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 :

    1. Modifiez le fichier de configuration du cluster d'administrateur pour ajouter la section secretsEncryption.

    2. Exécutez la commande gkectl update.

      gkectl update admin --config ADMIN_CLUSTER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG
  • Pour un cluster d'utilisateur :

    1. Modifiez le fichier de configuration du cluster d'utilisateur pour ajouter la section secretsEncryption.

    2. 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 la machine principale de l'administrateur dans /opt/data. Les clés de chiffrement sont disponibles dans /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é. Vous devez activer le chiffrement des VM/du stockage dans l'hyperviseur ou des mesures similaires pour vous assurer que les disques de VM du plan de contrôle sont protégés.

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, 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:
    keyVersion: KEY_VERSION
    disabled: true