파라미터 스토어로 비밀 키 관리

gitAction 스크립트에 다음을 추가했다.

 echo "AWS SSM에서 환경 변수를 가져와 .env 파일 생성 중입니다..."
            aws ssm get-parameters-by-path \\
              --path "/your/ssm/parameter/path" \\ #여기에 내 파라미터들의 상위 경로를 입력해준다.
              --with-decryption \\
              --region ${{ secrets.AWS_REGION }} \\
              --query "Parameters[*].[Name,Value]" \\
              --output text | while read -r name value; do
              echo "${name##*/}=$value" >> .env
            done

그런데 스크립트에서 SSM의 파라미터를 못읽어온다.

왜? 나는 파라미터 생성할때 상위경로를 안줘서 전부 루트 파라미터가 되었기 때문임…. 이러면 귀찮아지니까

image.png

이런식으로 상위경로를 다 줘야 한다.

루트 파라미터는 describe… 라는 권한으로 읽어와야 한다. 이러면 권한도 새로 줘야 하고 깃액션 스크립트도 좀 지저분해짐..

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParametersByPath",
                "ssm:GetParameter"
            ],
            "Resource": "arn:aws:ssm:ap-northeast-2:864899861624:parameter/*"
        }
    ]
}

위 권한을 IAM에 인라인으로 추가해주고 불러왔다.