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
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
-
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"}' -
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 leResourcechamp avec l'ARN de votre clé spécifique. -
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. -
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.