Cloud/AWS
CDK Deploy를 위한 최소한의 Policy
jhbaek
2020. 7. 28. 21:52
CDK Deploy를 위한 Minimum Policy는 무엇일까
당연히 Administrator Role 인줄 알았는데 아래의 Role도 일단 Deploy는 성공했다.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cloudformation:*"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
}
},
"Action": "*",
"Resource": "*",
"Effect": "Allow"
},
{
"Action": "s3:*",
"Resource": "arn:aws:s3:::cdktoolkit-stagingbucket-*",
"Effect": "Allow"
}
]
}
CalledVia 부분은 https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/reference_policies_condition-keys.html 이 문서의 aws:CalledVia를 참조 할 것. 사실 읽어도 잘 모르겠다.
2022년 11월 21일 추가. ssm:GetParameter와 ssm:AssumeRole이 필요한 것 같다. (교차 계정 배포시 특히 필요)
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cloudformation:*"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
}
},
"Action": "*",
"Resource": "*",
"Effect": "Allow"
},
{
"Action": "s3:*",
"Resource": "arn:aws:s3:::cdktoolkit-stagingbucket-*",
"Effect": "Allow"
},
{
"Action": "ssm:GetParameter",
"Resource": "*",
"Effect": "Allow"
},
{
"Action": "sts:AssumeRole",
"Resource": "*",
"Effect": "Allow"
}
]
}