기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
CloudFormation에 대한 샘플 자격 증명 기반 정책
이 섹션에는 CloudFormation에 대한 권한을 부여하고 거부하는 방법을 보여주는 샘플 자격 증명 기반 정책이 포함되어 있습니다. 이러한 샘플 정책을 사용하여 최소 권한 원칙을 준수하는 자체 정책 설계를 시작할 수 있습니다.
CloudFormation별 작업 및 조건 목록은 및 조건에 대한 작업, 리소스 및 조건 키를 AWS CloudFormation 참조하세요. AWS CloudFormation 조건에 사용할 리소스 유형 목록은 AWS 리소스 및 속성 유형 참조를 참조하세요.
이 섹션에는 다음 예제 정책이 포함되어 있습니다.
보기 액세스 허용
보기 액세스는 CloudFormation에 대한 최소 권한 액세스 유형입니다. 이러한 종류의 정책은의 모든 CloudFormation 스택을 보려는 IAM 보안 주체에 적합할 수 있습니다 AWS 계정. 다음 샘플 정책은 계정에 있는 CloudFormation 스택의 세부 정보를 볼 수 있는 권한을 부여합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources" ], "Resource": "*" } ] }
템플릿을 기반으로 스택 생성 허용
다음 샘플 정책은 IAM 보안 주체가 특정 Amazon Simple Storage Service(Amazon S3) 버킷에 저장된 CloudFormation 템플릿만 사용하여 스택을 생성할 수 있도록 허용합니다. 버킷 이름은 입니다my-CFN-templates
. 승인된 템플릿을이 버킷에 업로드할 수 있습니다. 정책의 cloudformation:TemplateUrl
조건 키는 IAM 보안 주체가 다른 템플릿을 사용하여 스택을 생성하는 것을 방지합니다.
중요
IAM 보안 주체가이 S3 버킷에 대한 읽기 전용 액세스 권한을 갖도록 허용합니다. 이렇게 하면 IAM 보안 주체가 승인된 템플릿을 추가, 제거 또는 수정하는 것을 방지할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack" ], "Resource": "*", "Condition": { "StringLike": { "cloudformation:TemplateUrl": "https:// my-CFN-templates.s3.amazonaws.com/*" } } } ] }
스택 업데이트 또는 삭제 거부
비즈니스 크리티컬 AWS 리소스를 프로비저닝하는 특정 CloudFormation 스택을 보호하기 위해 해당 특정 스택에 대한 업데이트 및 삭제 작업을 제한할 수 있습니다. 이러한 작업은 소수의 지정된 IAM 보안 주체에 대해서만 허용하고 환경의 다른 IAM 보안 주체에 대해서는 거부할 수 있습니다. 다음 정책 문은 특정 AWS 리전 및에서 특정 CloudFormation 스택을 업데이트하거나 삭제할 수 있는 권한을 거부합니다 AWS 계정.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource": "arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/
<stack_ID>
" } ] }
이 정책 문은 us-east-1
AWS 리전 및에 있는 MyProductionStack
CloudFormation 스택을 업데이트하거나 삭제할 수 있는 권한을 거부합니다123456789012
AWS 계정. CloudFormation 콘솔에서 스택 ID를 볼 수 있습니다. 다음은 사용 사례에 맞게이 문의 Resource
요소를 수정하는 방법의 몇 가지 예입니다.
-
이 정책의
Resource
요소에 여러 CloudFormation 스택 IDs를 추가할 수 있습니다. -
arn:aws:cloudformation:us-east-1:123456789012:stack/*
를 사용하여 IAM 보안 주체가us-east-1
AWS 리전 및123456789012
계정에 있는 스택을 업데이트하거나 삭제하지 못하도록 할 수 있습니다.
중요한 단계는이 문을 포함해야 하는 정책을 결정하는 것입니다. 다음 정책에이 문을 추가할 수 있습니다.
-
IAM 보안 주체에 연결된 자격 증명 기반 정책 -이 정책에 문을 추가하면 특정 IAM 보안 주체가 특정 CloudFormation 스택을 생성하거나 삭제하는 것이 제한됩니다.
-
IAM 보안 주체에 연결된 권한 경계 -이 정책에 문을 배치하면 권한 가드레일이 생성됩니다. 둘 이상의 IAM 보안 주체가 특정 CloudFormation 스택을 생성하거나 삭제하는 것을 제한하지만 환경의 모든 보안 주체를 제한하지는 않습니다.
-
계정, 조직 단위 또는 조직에 연결된 SCP -이 정책에 문을 배치하면 권한 가드레일이 생성됩니다. 대상 계정, 조직 단위 또는 조직의 모든 IAM 보안 주체가 특정 CloudFormation 스택을 생성하거나 삭제하지 못하도록 제한합니다.
그러나 권한이 있는 보안 주체인 하나 이상의 IAM 보안 주체가 CloudFormation 스택을 업데이트하거나 삭제하도록 허용하지 않으면 필요한 경우이 스택을 통해 프로비저닝된 리소스를 변경할 수 없습니다. 사용자 또는 개발 파이프라인(권장)은이 권한이 있는 보안 주체를 수임할 수 있습니다. 제한을 SCP로 배포하려면 대신 다음 정책 설명을 사용하는 것이 좋습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource": "arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/
<stack_ID>
", "Condition": { "ArnNotLike": { "aws:PrincipalARN": [ "<ARN of the allowed privilege IAM principal>
" ] } } } ] }이 문에서
Condition
요소는 SCP에서 제외되는 IAM 보안 주체를 정의합니다. 이 문은 IAM 보안 주체의 ARN이Condition
요소의 ARN과 일치하지 않는 한 CloudFormation 스택을 업데이트하거나 삭제할 수 있는 IAM 보안 주체 권한을 거부합니다.aws:PrincipalARN
조건 키는 목록을 수락합니다. 즉, 환경에 필요한 경우 제한에서 둘 이상의 IAM 보안 주체를 제외할 수 있습니다. CloudFormation 리소스 수정을 방지하는 유사한 SCP는 SCP-CLOUDFORMATION-1(GitHub)을 참조하세요.