Ajudar a melhorar esta página
Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.
Gerenciamento de segredos de aplicações com o AWS Secrets Manager
O AWS Secrets Manager
Ao usar a funcionalidade do EKS para o Argo CD, o Secrets Manager fornece uma forma segura de armazenar e recuperar credenciais de repositórios do Git, sem a inclusão de dados sensíveis diretamente na configuração e nos recursos do Argo CD. Essa integração é particularmente vantajosa para gerenciar tokens de acesso a repositórios privados e chaves SSH que o Argo CD usa para sincronizar aplicações de repositórios do Git.
Uso do AWS Secrets Manager com o Argo CD
Ao usar a funcionalidade do EKS para o Argo CD, é possível armazenar credenciais de repositórios do Git no Secrets Manager e configurar o Argo CD para recuperá-las. Essa abordagem é mais segura do que armazenar credenciais diretamente na configuração do Argo CD ou usar tokens de acesso pessoal de longa duração.
Pré-requisitos
-
Um cluster do Amazon EKS com a funcionalidade para o Argo CD habilitada
-
Credenciais de repositórios do Git armazenadas no AWS Secrets Manager
-
Permissões do IAM configuradas para que o Argo CD acesse o Secrets Manager
Como configurar o Argo CD para usar o Secrets Manager para credenciais do repositório
-
Armazene suas credenciais do Git no Secrets Manager. Por exemplo, para armazenar um token de acesso pessoal do GitHub:
aws secretsmanager create-secret \ --name argocd/github-token \ --secret-string '{"username":"git","password":"ghp_xxxxxxxxxxxx"}' -
Certifique-se de que o perfil da funcionalidade para o Argo CD tenha permissões para recuperar o segredo:
{ "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" } } } ] }nota
A permissão de descriptografia do KMS é necessária porque o Secrets Manager criptografa todos os segredos usando o AWS KMS. A condição restringe a descriptografia apenas a segredos com o prefixo
argocd/. Se você usar a chave gerenciada pela AWS padrão para o Secrets Manager, essa permissão será suficiente. Para chaves do KMS gerenciadas pelo cliente, atualize o campoResourcecom o ARN correspondente. -
Configure o Argo CD para usar as credenciais do Secrets Manager. Para obter informações sobre a sincronização de segredos do Secrets Manager para os segredos do Kubernetes que o Argo CD pode referenciar, consulte Secret Management
na documentação do Argo CD. -
Crie uma configuração de repositório do Argo CD que faça referência ao ARN do segredo:
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
Para obter mais informações sobre como configurar o acesso a repositórios com o Argo CD, consulte Configuração do acesso ao repositório.