Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Configuration du chiffrement des secrets

K3s prend en charge l’activation du chiffrement des secrets au repos. Lors du premier démarrage du serveur, passer le drapeau --secrets-encryption effectuera automatiquement les actions suivantes :

  • Générer une clé AES-CBC

  • Générer un fichier de configuration de chiffrement avec la clé générée

  • Passer la configuration à l’API Kube en tant que configuration du fournisseur de chiffrement

Le chiffrement des secrets ne peut pas être activé sur un serveur existant sans le redémarrer.
Utilisez curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s sh -s - server --secrets-encryption si vous installez à partir d’un script, ou d’autres méthodes décrites dans Options de configuration.

Choix du fournisseur de chiffrement

Verrou de version

Disponible à partir des versions d’avril 2025 : v1.30.12+k3s1, v1.31.8+k3s1, v1.32.4+k3s1, v1.33.0+k3s1.

En utilisant le drapeau --secrets-encryption-provider, vous pouvez choisir parmi les fournisseurs de chiffrement pris en charge par K3s :

  • aescbc : AES-CBC avec un remplissage PKCS#7. C’est le fournisseur de chiffrement par défaut.

  • secretbox : XSalsa20 et Poly1305

Migration des fournisseurs

Vous pouvez migrer du fournisseur de chiffrement aescbc au fournisseur de chiffrement secretbox en suivant ces étapes :

  1. Assurez-vous que le fournisseur de chiffrement secretbox est pris en charge par votre version de K3s.

  2. Mettez à jour/ajoutez le drapeau secrets-encryption-provider dans votre fichier de configuration K3s à secretbox.

  3. Faites tourner les clés de chiffrement, en suivant la section Rotation des clés de chiffrement ci-dessous.

Fichier de configuration de chiffrement généré

Lorsque vous démarrez le serveur avec --secrets-encryption, K3s générera un fichier de configuration de chiffrement à /var/lib/rancher/k3s/server/cred/encryption-config.json.

Voici un exemple du fichier de configuration de chiffrement généré avec le fournisseur par défaut aescbc :

{
  "kind": "EncryptionConfiguration",
  "apiVersion": "apiserver.config.k8s.io/v1",
  "resources": [
    {
      "resources": [
        "secrets"
      ],
      "providers": [
        {
          "aescbc": {
            "keys": [
              {
                "name": "aescbckey",
                "secret": "xxxxxxxxxxxxxxxxxxx"
              }
            ]
          }
        },
        {
          "identity": {}
        }
      ]
    }
  ]
}

Outil de chiffrement des secrets

K3s contient un outil utilitaire secrets-encrypt, qui permet un contrôle automatique sur les éléments suivants :

  • Désactivation/Activation du chiffrement des secrets

  • Ajout de nouvelles clés de chiffrement

  • Rotation et suppression des clés de chiffrement

  • Réchiffrement des secrets

Pour plus d’informations, consultez la documentation de la commande k3s secrets-encrypt.