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의 파라미터를 못읽어온다.
왜? 나는 파라미터 생성할때 상위경로를 안줘서 전부 루트 파라미터가 되었기 때문임…. 이러면 귀찮아지니까
이런식으로 상위경로를 다 줘야 한다.
루트 파라미터는 describe… 라는 권한으로 읽어와야 한다. 이러면 권한도 새로 줘야 하고 깃액션 스크립트도 좀 지저분해짐..
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:GetParametersByPath",
"ssm:GetParameter"
],
"Resource": "arn:aws:ssm:ap-northeast-2:864899861624:parameter/*"
}
]
}
위 권한을 IAM에 인라인으로 추가해주고 불러왔다.