본문 바로가기

DevOps

[AWS/Secrets Manager] 비밀 관리

Secrets Manager를 사용하면 암호를 포함하여 코드의 하드코딩된 자격 증명을 Secrets Manager에 대한 API 호출로 교체하여 프로그래밍 방식으로 암호를 검색할 수 있습니다.

이러한 솔루션은 사용자 역할 및 권한의 외부 데이터베이스를 제공하여 사용자가 CI/CD 파이프라인 내에서 자격 증명을 노출하지 않고 애플리케이션에 로그인할 수 있도록 합니다.

AWS Secrets Manager Credentials Provider 젠킨스 플러그인 설치

정책 생성

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "secretsmanager:GetSecretValue",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "secretsmanager:ListSecrets",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "kms:Decrypt",
            "Resource": "*"
        }
    ]
}

사용자 생성 후, 위 정책 부여, Create access key

vi /etc/sysconfig/jenkins

자바 옵션 항목 수정, -Daws.accessKeyId , -Daws.secretKey , -Daws.region 설정