배경:
교차 계정 역할을 통해 someaccountrole
aws 계정에 액세스할 수 있습니다 xyz
.
사례 1
계정에 스택을 생성하기 위해 xyz
콘솔을 통해 Cloudformation 파일을 업로드합니다.
탭에서 스택을 생성하는 동안 Events
아래와 같은 첫 번째 이벤트가 표시됩니다.
사례 2
xyz
계정에 EC2 인스턴스를 생성합니다.
사용샘 배포, sam deploy
래퍼는 어디에 있습니까 aws cloudformation deploy
? EC2에서 다음 명령을 실행하여 스택을 생성합니다.
aws cloudformation deploy --template-file cfntemplate.yml --stack-name somestack-test --region us-east-1
스택 생성 프로세스 중에 유사한 이벤트가 생성되는 것을 볼 수 있습니다(아래 참조).
사례 2의 경우 사용자는 다음과 같습니다 arn:aws:sts::${AccountId}:assumed-role/Autodeploy/i-0000000cc4
. Autodeploy
EC2에 할당된 역할 이름입니다. 스택이 생성되면 사용자는 사라집니다.
하지만사례 2, 사용자( i-0000000cc4
)가 다음 작업을 수행하려면 권한이 필요합니다.사례 1:
{
"Action": [
"cloudformation:CreateStack",
"cloudformation:CreateChangeSet",
"cloudformation:CreateUploadBucket",
"cloudformation:ExecuteChangeSet",
"cloudformation:DeleteStack",
"cloudformation:Describe*",
"cloudformation:UpdateStack"
],
"Resource": [
"arn:aws:cloudformation:us-east-1:${AccountId}:stack/somestack*”
],
"Effect": "Allow"
}
그렇지 않으면 Events
사례 2의 경우 탭에 다음 오류가 표시됩니다.
User: arn:aws:sts::${AccountId}:assumed-role/Autodeploy/i-0000000cc4
is not authorized to perform: cloudformation:CreateChangeSet on resource:
arn:aws:cloudformation:us-east-1:${AccountId}:stack/somestack-test
1) 1의 경우 스택을 생성하는 데 권한이 필요하지 않습니다. 그런데 사례 2의 경우 AWS CLI를 통해 스택을 생성하려면 왜 스택 생성 권한이 필요합니까?
i-0000000cc4
2) EC2 대신 임시 세션 리소스( )에 인라인 정책(단기)을 할당하는 방법은 무엇입니까 ?