Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Chiffrez les secrets Kubernetes avec KMS sur les clusters existants

Mode de mise au point
Chiffrez les secrets Kubernetes avec KMS sur les clusters existants - Amazon EKS

Aidez à améliorer cette page

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Aidez à améliorer cette page

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Important

Cette procédure s'applique uniquement aux clusters EKS exécutant Kubernetes version 1.27 ou inférieure. Si vous utilisez Kubernetes version 1.28 ou supérieure, vos secrets Kubernetes sont protégés par un chiffrement d'enveloppe par défaut. Pour de plus amples informations, veuillez consulter Chiffrement d'enveloppe par défaut pour toutes les données de l'API Kubernetes.

Si vous activez le chiffrement des secrets, les secrets Kubernetes sont chiffrés à l'aide de la clé AWS KMS que vous sélectionnez. La clé KMS doit répondre aux conditions suivantes :

  • Symétrique

  • Peut chiffrer et déchiffrer des données

  • Créé dans la même AWS région que le cluster

  • Si la clé KMS a été créée dans un autre compte, le principal IAM doit avoir accès à la clé KMS.

Pour plus d'informations, consultez la section Autoriser les principaux IAM d'autres comptes à utiliser une clé KMS dans le Guide du développeur du service de gestion des AWS clés.

Avertissement

Vous ne pouvez pas désactiver le chiffrement des secrets après l'avoir activé. Cette action est irréversible.

eksctl

Cette procédure s'applique uniquement aux clusters EKS exécutant Kubernetes version 1.27 ou inférieure. Pour de plus amples informations, veuillez consulter Chiffrement d'enveloppe par défaut pour toutes les données de l'API Kubernetes.

Vous pouvez activer le chiffrement de deux manières :

  • Ajoutez le chiffrement à votre cluster à l'aide d'une seule commande.

    Pour re-chiffrer automatiquement vos secrets, exécutez la commande suivante.

    eksctl utils enable-secrets-encryption \ --cluster my-cluster \ --key-arn arn:aws: kms:region-code:account:key/key

    Pour vous désabonner du chiffrement automatique de vos secrets, exécutez la commande suivante.

    eksctl utils enable-secrets-encryption --cluster my-cluster \ --key-arn arn:aws: kms:region-code:account:key/key \ --encrypt-existing-secrets=false
  • Ajoutez le chiffrement à votre cluster à l'aide d'un fichier kms-cluster.yaml.

    apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code secretsEncryption: keyARN: arn:aws: kms:region-code:account:key/key

    Pour re-chiffrer automatiquement vos secrets, exécutez la commande suivante.

    eksctl utils enable-secrets-encryption -f kms-cluster.yaml

    Pour vous désabonner du chiffrement automatique de vos secrets, exécutez la commande suivante.

    eksctl utils enable-secrets-encryption -f kms-cluster.yaml --encrypt-existing-secrets=false
    AWS Management Console
    1. Cette procédure s'applique uniquement aux clusters EKS exécutant Kubernetes version 1.27 ou inférieure. Pour de plus amples informations, veuillez consulter Chiffrement d'enveloppe par défaut pour toutes les données de l'API Kubernetes.

    2. Ouvrez la console Amazon EKS.

    3. Choisissez le cluster auquel vous souhaitez ajouter le chiffrement KMS.

    4. Cliquez sur l'onglet Présentation (cette option est sélectionnée par défaut).

    5. Faites défiler la page jusqu'à Secrets encryption (Chiffrement des secrets) et sélectionnez Enable (Activer).

    6. Sélectionnez une clé dans la liste déroulant et appuyez sur le bouton Enable (Activer). Si aucune clé n'est répertoriée, vous devez d'abord en créer une. Pour plus d'informations, consultez Création de clés.

    7. Appuyez sur le bouton Confirm (Confirmer) pour utiliser la touche choisie.

    AWS CLI
    1. Cette procédure s'applique uniquement aux clusters EKS exécutant Kubernetes version 1.27 ou inférieure. Pour de plus amples informations, veuillez consulter Chiffrement d'enveloppe par défaut pour toutes les données de l'API Kubernetes.

    2. Associez la configuration de chiffrement des secrets à votre cluster à l'aide de la commande AWS CLI suivante. Remplacez les example values par vos propres valeurs.

      aws eks associate-encryption-config \ --cluster-name my-cluster \ --encryption-config '[{"resources":["secrets"],"provider":{"keyArn":"arn:aws: kms:region-code:account:key/key"}}]'

      L'exemple qui suit illustre un résultat.

      {   "update": {     "id": "3141b835-8103-423a-8e68-12c2521ffa4d",     "status": "InProgress",     "type": "AssociateEncryptionConfig",     "params": [       {         "type": "EncryptionConfig",         "value": "[{\"resources\":[\"secrets\"],\"provider\":{\"keyArn\":\"arn:aws: kms:region-code:account:key/key\"}}]"       }     ],     "createdAt": 1613754188.734,     "errors": []   } }
    3. Vous pouvez contrôler l'état de votre mise à jour de chiffrement à l'aide de la commande suivante. Utilisez le cluster name et le update ID spécifiques qui ont été renvoyés dans la sortie précédente. Lorsqu'un état Successful s'affiche, la mise à jour est terminée.

      aws eks describe-update \ --region region-code \ --name my-cluster \ --update-id 3141b835-8103-423a-8e68-12c2521ffa4d

      L'exemple qui suit illustre un résultat.

      {   "update": {     "id": "3141b835-8103-423a-8e68-12c2521ffa4d",     "status": "Successful",     "type": "AssociateEncryptionConfig",     "params": [       {         "type": "EncryptionConfig",         "value": "[{\"resources\":[\"secrets\"],\"provider\":{\"keyArn\":\"arn:aws: kms:region-code:account:key/key\"}}]"       }     ],     "createdAt": 1613754188.734>,     "errors": []   } }
    4. Pour vérifier que le chiffrement est activé dans votre cluster, exécutez la commande describe-cluster. La réponse contient une chaîne EncryptionConfig.

      aws eks describe-cluster --region region-code --name my-cluster

Une fois que vous avez activé le chiffrement sur votre cluster, vous devez chiffrer tous les secrets existants avec la nouvelle clé :

Note

Si vous utilisez eksctl, l'exécution de la commande suivante n'est nécessaire que si vous vous désabonnez du chiffrement automatique de vos secrets.

kubectl get secrets --all-namespaces -o json | kubectl annotate --overwrite -f - kms-encryption-timestamp="time value"
Avertissement

Si vous activez le chiffrement secret pour un cluster existant et que la clé KMS que vous utilisez est supprimée, il n'y a aucun moyen de récupérer le cluster. Si vous supprimez la clé KMS, vous mettez définitivement le cluster dans un état dégradé. Pour plus d'informations, consultez la section Suppression de clés AWS KMS.

Note

Par défaut, la create-key commande crée une clé KMS de chiffrement symétrique avec une politique de clé qui donne à l'administrateur racine du compte un accès aux actions et aux ressources AWS KMS. Si vous souhaitez limiter les autorisations, assurez-vous que les actions kms:DescribeKey et kms:CreateGrant sont autorisées sur la stratégie pour le principal qui appellera l'API create-cluster.

Pour les clusters utilisant le chiffrement d'enveloppe KMS, des autorisations kms:CreateGrant sont requises. La condition n'kms:GrantIsForAWSResourceest pas prise en charge pour l' CreateCluster action et ne doit pas être utilisée dans les politiques KMS pour contrôler kms:CreateGrant les autorisations accordées aux utilisateurs CreateCluster.

Rubrique suivante :

AWS Secrets Manager

Rubrique précédente :

Migrer depuis une ancienne PSP
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.