Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Use Alibaba Cloud KMS to encrypt Kubernetes Secrets at rest

Dernière mise à jour :Oct 12, 2026

Dans les clusters ACK Pro, les clés créées dans Alibaba Cloud Key Management Service (KMS) chiffrent les données des secrets Kubernetes au repos.

Prérequis

Élément

Description

Clé KMS

Créez une clé KMS dans la console Key Management Service et assurez-vous que la clé se trouve dans la même région que le cluster ACK Pro cible.

Les clusters ACK Pro prennent en charge les clés par défaut, les clés protégées par logiciel et les clés protégées par matériel. Sélectionnez un type de clé en fonction de vos besoins métier. Pour plus d'informations sur la gestion des clés KMS et les opérations associées, consultez le Guide de démarrage rapide pour la gestion des clés. Pour plus d'informations sur la facturation de KMS, consultez la section Facturation.

Important

Après avoir activé le chiffrement au repos, n'utilisez pas la console KMS ni l'OpenAPI pour désactiver ou supprimer la clé sélectionnée pour le chiffrement et le déchiffrement des secrets du cluster. Dans le cas contraire, le serveur API du cluster devient indisponible et les objets tels que les secrets et les comptes de service ne peuvent pas être récupérés, ce qui affecte vos charges de travail.

Règles de liste de contrôle d'accès réseau du cluster

Lorsque vous activez le chiffrement au repos, le plugin KMS sur le plan de contrôle doit accéder à l'OpenAPI d'Alibaba Cloud KMS pour chiffrer et déchiffrer les instances de secret. Assurez-vous que les règles sortantes du groupe de sécurité du cluster autorisent le bloc CIDR des services Alibaba Cloud (100.64.0.0/10). Les règles entrantes et sortantes de la liste de contrôle d'accès réseau du Virtual Private Cloud (VPC) doivent également autoriser ce bloc CIDR. Sinon, le plan de contrôle du cluster devient indisponible. Pour plus d'informations, consultez la section Groupes de sécurité de base.

Autorisation

Selon le type de compte que vous utilisez, confirmez que les opérations d'autorisation suivantes ont été effectuées :

Fonctionnement du chiffrement des secrets

Dans un cluster Kubernetes, le modèle Secret stocke et gère généralement les informations sensibles requises par vos charges de travail, telles que les mots de passe d'application, les certificats TLS et les identifiants de tirage d'images Docker. Kubernetes stocke les données de tous les objets Secret dans etcd du cluster. Pour plus d'informations sur les secrets, consultez Secrets.

Le chiffrement KMS repose sur le mécanisme KMS Encryption Provider de Kubernetes et utilise le chiffrement sous enveloppe pour chiffrer et déchiffrer automatiquement les secrets Kubernetes stockés dans etcd. Le chiffrement et le déchiffrement des secrets Kubernetes s'effectuent comme suit :

  1. Lorsque des données d'application doivent être stockées via l'API Secret de Kubernetes, le serveur API les chiffre d'abord avec une clé de chiffrement de données générée aléatoirement. La clé de données est ensuite chiffrée avec la clé KMS spécifiée et stockée dans etcd en tant que clé chiffrée.

  2. Lorsqu'un secret Kubernetes est déchiffré, le système appelle d'abord l'opération OpenAPI de déchiffrement KMS pour déchiffrer la clé chiffrée. Le système utilise ensuite la clé en clair déchiffrée pour déchiffrer les données du secret et vous renvoie les données.

Pour plus d'informations, consultez le mécanisme KMS Encryption Provider et Utiliser le chiffrement sous enveloppe.

KMS v2

À partir de Kubernetes 1.31, les clusters ACK Pro privilégient l'interface communautaire KMS v2 pour le chiffrement au repos. KMS v2 prend en charge un plus grand nombre d'instances de secret dans un cluster et offre de meilleures performances de chiffrement et de déchiffrement. Pour plus d'informations sur le processus de chiffrement et de déchiffrement KMS v2, consultez KMS v2.

Pour mettre à niveau l'interface KMS v1 utilisée par votre cluster vers l'interface KMS v2, consultez la section Comment passer à KMS v2 pour le chiffrement des secrets au repos ?

La communauté Kubernetes a marqué KMS v1 comme obsolète dans la version 1.27 et a désactivé l'interface v1 par défaut à partir de la version 1.29. Pour assurer la compatibilité, les clusters ACK Pro activent toujours l'interface v1 en définissant la feature gate KMS v1.

Activer le chiffrement des secrets au repos pour un cluster ACK Pro

Activer le chiffrement des secrets au repos pour un nouveau cluster ACK Pro

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur Create Kubernetes Cluster.

  3. En bas de l'onglet ACK Managed Cluster, développez Advanced Options (Optional), recherchez Secret Encryption, cochez la case Select Key, puis sélectionnez un ID de clé KMS dans la liste déroulante. Configurez les autres paramètres selon vos besoins et cliquez sur Create Kubernetes Cluster.

    Pour configurer d'autres paramètres lors de la création d'un cluster ACK Pro, consultez la section Cluster géré ACK : Paramètres.

Connectez-vous à la console ActionTrail et cliquez sur Cluster Events Query dans le volet de navigation de gauche. Si les journaux d'événements de chiffrement et de déchiffrement du rôle système AliyunCSManagedSecurityRole apparaissent sur la page Cluster Events Query, le chiffrement des secrets au repos est activé pour le cluster.

Si vous n'avez plus besoin du chiffrement des secrets au repos, cliquez sur le nom du cluster dans la liste des clusters. Sur la page Cluster Information, cliquez sur l'onglet Basic Information. Dans la section Security and Auditing, désactivez l'interrupteur Secret Encryption.

Activer le chiffrement des secrets au repos pour un cluster ACK Pro existant

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom du cluster cible. Sur la page des détails du cluster, cliquez sur l'onglet Basic Information. Dans la section Security and Auditing, activez l'interrupteur Secret Encryption.

    Lorsque vous activez le chiffrement des secrets au repos pour la première fois, suivez l'invite et cliquez sur Go to RAM console pour accéder à la page Cloud Resource Access Authorization, puis cliquez sur Confirm pour terminer l'autorisation.

    Remarque
    • Pour activer le chiffrement au repos, assurez-vous que l'utilisateur RAM ou le rôle RAM actuellement connecté dispose des autorisations RBAC d'administrateur ou d'ingénieur O&M sur le cluster. Pour plus d'informations, consultez la section Autoriser les opérations sur les ressources intra-cluster avec RBAC.

    • Pour autoriser AliyunCSManagedSecurityRole, assurez-vous d'être connecté avec un compte Alibaba Cloud ou avec un utilisateur RAM ou un rôle RAM disposant des autorisations de gestion RAM.

  3. Dans la boîte de dialogue Secret Encryption qui s'affiche, sélectionnez une clé KMS existante et cliquez sur OK.

    Si vous n'avez pas créé de clé KMS, cliquez sur Create Key et accédez à la console Key Management Service pour créer une clé. Pour plus d'informations, consultez la section Créer une clé.

    Lorsque l'état du cluster passe de Updating à Running, le chiffrement des secrets au repos est activé pour le cluster.

    Si vous n'avez plus besoin du chiffrement des secrets au repos, dans la section Security and Auditing, désactivez l'interrupteur Secret Encryption.

Activer le chiffrement des secrets au repos à l'aide d'une clé à rotation automatique

Utilisez la fonctionnalité de rotation automatique des clés de KMS pour chiffrer les secrets au repos. Lorsqu'une clé subit une rotation automatique, les secrets existants restent chiffrés avec la version de clé utilisée avant la rotation. Les nouveaux secrets sont chiffrés avec la nouvelle version de clé générée après la rotation. Pour plus d'informations sur la rotation automatique d'une clé, consultez la section Rotation des clés.

Après la rotation automatique de la clé, rechiffrez de force tous les secrets existants avec la nouvelle version de clé.

kubectl get secrets --all-namespaces -o json | kubectl annotate --overwrite -f - encryption-key-rotation-time="$(date -u +'%Y-%m-%dT%H:%M:%S%z')"

FAQ

Comment passer à KMS v2 pour le chiffrement des secrets au repos ?

Pour utiliser KMS v2 pour le chiffrement des secrets au repos, assurez-vous que votre cluster ACK Pro est en version 1.31 ou ultérieure.

  • Si le chiffrement des secrets au repos n'est pas activé pour votre cluster, consultez la section Activer le chiffrement des secrets au repos pour un cluster ACK Pro pour activer le chiffrement du cluster. Une fois le chiffrement activé, les instances de secret du cluster sont automatiquement chiffrées et déchiffrées via l'interface KMS v2 lors de leur écriture et lecture sur disque.

  • Si le chiffrement des secrets au repos est déjà activé pour votre cluster, faites tourner la méthode de chiffrement des clés sur disque pendant les heures creuses en utilisant l'une des méthodes suivantes :

    • Méthode 1 : Exécutez la commande kubectl get secrets --all-namespaces -o json | kubectl replace -f -. Cette commande rechiffre toutes les instances de secret déjà écrites sur disque en utilisant l'interface KMS v2.

    • Méthode 2 : Connectez-vous à la console ACK. Sur la page Cluster Information, accédez à l'onglet Basic Information, recherchez Secret Encryption et désactivez-le. La désactivation de cet interrupteur déclenche la rotation de toutes les instances de secret écrites sur disque dans le cluster. Une fois que l'état du cluster passe de Updating à Running, attendez au moins 5 minutes, puis consultez la section Activer le chiffrement des secrets au repos pour un cluster ACK Pro pour réactiver le chiffrement du cluster. Une fois le chiffrement activé, toutes les instances de secret du cluster sont chiffrées au repos via l'interface KMS v2.

Après l'activation du chiffrement des secrets au repos, les secrets récupérés par la commande kubectl sont-ils des textes chiffrés ?

Non. Le chiffrement des secrets au repos chiffre les données brutes stockées dans etcd. Une fois le chiffrement des secrets au repos activé, les données de secret stockées dans etcd sont chiffrées. Cependant, les données de secret qu'un client récupère via l'API Secret fournie par le serveur API restent les données en clair d'origine.

Comment empêcher un utilisateur RAM ou un rôle RAM d'activer ou de désactiver le chiffrement des secrets au repos dans un cluster ACK Pro existant ?

Attachez la stratégie d'accès RAM suivante, qui refuse l'opération, à un utilisateur RAM ou à un rôle RAM. Cela empêche l'utilisateur RAM ou le rôle RAM d'activer ou de désactiver le chiffrement des secrets au repos dans un cluster ACK Pro existant. Pour plus d'informations, consultez la section Accorder l'accès aux clusters et aux ressources cloud avec RAM.

  {
      "Action": [
          "cs:UpdateKMSEncryption"
      ],
      "Effect": "Deny",
      "Resource": [
          "*"
      ]
  }