Gérez les secrets des applications avec AWS Secrets Manager - 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.

Gérez les secrets des applications avec AWS Secrets Manager

AWS Secrets Manager vous permet de gérer, d'accéder et de faire pivoter les informations d'identification, les clés d'API et les autres secrets tout au long de leur cycle de vie. Avec Secrets Manager, vous pouvez sécuriser et gérer les secrets utilisés pour accéder aux ressources dans AWS, sur des services tiers et sur site. Pour plus d'informations, consultez le guide de l'utilisateur AWS Secrets Manager.

Lorsque vous utilisez la fonctionnalité EKS pour Argo CD, Secrets Manager fournit un moyen sécurisé de stocker et de récupérer les informations d'identification du référentiel Git sans coder en dur des données sensibles dans la configuration et les ressources de votre Argo CD. Cette intégration est particulièrement utile pour gérer les jetons d'accès aux référentiels privés et les clés SSH utilisés par Argo CD pour synchroniser les applications depuis les référentiels Git.

Utiliser AWS Secrets Manager avec Argo CD

Lorsque vous utilisez la fonctionnalité EKS pour Argo CD, vous pouvez stocker les informations d'identification du référentiel Git dans Secrets Manager et configurer Argo CD pour les récupérer. Cette approche est plus sûre que le stockage des informations d'identification directement dans la configuration d'Argo CD ou que l'utilisation de jetons d'accès personnels à longue durée de vie.

Conditions préalables

  • Un cluster Amazon EKS avec la fonctionnalité Argo CD activée

  • Informations d'identification du référentiel Git stockées dans AWS Secrets Manager

  • Autorisations IAM configurées pour qu'Argo CD accède à Secrets Manager

Pour configurer Argo CD afin d'utiliser Secrets Manager pour les informations d'identification du référentiel

  1. Stockez vos identifiants Git dans Secrets Manager. Par exemple, pour stocker un jeton d'accès GitHub personnel :

    aws secretsmanager create-secret \ --name argocd/github-token \ --secret-string '{"username":"git","password":"ghp_xxxxxxxxxxxx"}'
  2. Assurez-vous que le rôle de capacité Argo CD est autorisé à récupérer le secret :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": "arn:aws:secretsmanager:region:account-id:secret:argocd/github-token*" }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:region:account-id:key/*", "Condition": { "StringLike": { "kms:EncryptionContext:SecretARN": "arn:aws:secretsmanager:region:account-id:secret:argocd/*", "kms:ViaService": "secretsmanager.*.amazonaws.com" } } } ] }
    Note

    L'autorisation de déchiffrement KMS est requise car Secrets Manager chiffre tous les secrets à l'aide AWS de KMS. La condition limite le déchiffrement aux seuls secrets avec le argocd/ préfixe. Si vous utilisez la clé AWS gérée par défaut pour Secrets Manager, cette autorisation est suffisante. Pour les clés KMS gérées par le client, mettez à jour le Resource champ avec l'ARN de votre clé spécifique.

  3. Configurez Argo CD pour utiliser les informations d'identification de Secrets Manager. Pour plus d'informations sur la synchronisation des secrets de Secrets Manager vers des secrets Kubernetes auxquels Argo CD peut faire référence, consultez la section Gestion des secrets dans la documentation d'Argo CD.

  4. Créez une configuration de référentiel Argo CD qui fait référence à l'ARN secret :

    apiVersion: v1 kind: Secret metadata: name: private-repo namespace: argocd labels: argocd.argoproj.io/secret-type: repository stringData: type: git url: https://github.com/org/repo secretArn: arn:aws:secretsmanager:region:account-id:secret:argocd/github-token

Pour plus d'informations sur la configuration de l'accès au référentiel avec Argo CD, consultezConfiguration de l'accès au référentiel.