이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
AWS Secrets Manager를 사용하여 애플리케이션 보안 암호 관리
AWS Secrets Manager
EKS Capability for Argo CD를 사용하는 경우 Secrets Manager는 Argo CD 구성 및 리소스에서 민감한 데이터를 하드 코딩하지 않고도 Git 리포지토리 자격 증명을 안전하게 저장하고 검색하는 방법을 제공합니다. 이 통합은 Git 리포지토리에서 애플리케이션을 동기화하기 위해 Argo CD가 사용하는 프라이빗 리포지토리 액세스 토큰 및 SSH 키를 관리하는 데 특히 유용합니다.
Argo CD에서 AWS Secrets Manager 사용
Argo CD의 EKS 기능을 사용하는 경우 Git 리포지토리 자격 증명을 Secrets Manager에 저장하고 이를 검색하도록 Argo CD를 구성할 수 있습니다. 이 접근 방식은 자격 증명을 Argo CD 구성에 직접 저장하거나 수명이 긴 개인 액세스 토큰을 사용하는 방법보다 더 안전합니다.
사전 조건:
-
Argo CD 기능이 활성화된 Amazon EKS 클러스터
-
AWS Secrets Manager에 저장된 Git 리포지토리 자격 증명
-
Argo CD가 Secrets Manager에 액세스하도록 구성된 IAM 권한
리포지토리 자격 증명에 대해 Secrets Manager를 사용하도록 Argo CD를 구성하는 방법
-
Secrets Manager에 Git 자격 증명을 저장하세요. 예를 들어 GitHub 개인 액세스 토큰을 저장하려면 다음을 수행하세요.
aws secretsmanager create-secret \ --name argocd/github-token \ --secret-string '{"username":"git","password":"ghp_xxxxxxxxxxxx"}' -
Argo CD 기능 역할에 보안 암호를 검색할 권한이 있는지 확인하세요.
{ "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" } } } ] }참고
Secrets Manager는 AWS KMS를 사용하여 모든 보안 암호를 암호화하기 때문에 KMS 복호화 권한이 필요합니다. 조건은
argocd/접두사가 있는 보안 암호로만 복호화를 제한합니다. Secrets Manager에 대해 기본 AWS 관리형 키를 사용하는 경우 이 권한으로 충분합니다. 고객 관리형 KMS 키의 경우Resource필드를 특정 키 ARN으로 업데이트하세요. -
Secrets Manager에서 자격 증명을 사용하도록 Argo CD를 구성하세요. Secrets Manager의 보안 암호를 Argo CD에서 참조할 수 있는 Kubernetes 보안 암호와 동기화하는 방법에 대한 자세한 내용은 Argo CD 설명서의 Secret Management
를 참조하세요. -
보안 암호 ARN을 참조하는 Argo CD 리포지토리 구성을 생성하세요.
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
Argo CD를 사용하여 리포지토리 액세스를 구성하는 방법에 대한 자세한 내용은 리포지토리 액세스 구성 섹션을 참조하세요.