AWS
CloudFormation 을 이용하여 IAM 역할 생성 및 정책 할당 (CLI 사용)
주씨.
2024. 9. 13. 19:40
728x90
1. CloudFormation 템플릿 작성
yml 템플릿은 IAM 역할을 생성하고, 해당 역할에 S3 버킷에 접근할 수 있는 정책을 할당하는 예제이다.
vim iam_role_template.yaml
AWSTemplateFormatVersion: '2010-09-09'
Description: create iam role template
Resources:
MyIAMRole:
Type: 'AWS::IAM::Role'
Properties:
RoleName: 'MyTestRole'
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: 'Allow'
Principal:
Service: 'ec2.amazonaws.com'
Action: 'sts:AssumeRole'
Policies:
- PolicyName: 'S3AccessPolicy'
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: 'Allow'
Action:
- 's3:*'
Resource: '*'
2. CloudFormation 을 사용하여 스택 생성 (AWS CLI 명령어)
aws cloudformation create-stack --stack-name my-iam-role-stack --template-body file://iam_role_template.yaml --capabilities CAPABILITY_NAMED_IAM
위 명령어는 `iam_role_template.yaml` 파일을 기반으로 스택을 생성한다.
- --stack-name : 생성할 스택의 이름이다.
- --template-body : CloudFormation 템플릿 파일의 경로를 지정한다.
- --capabilities : IAM 역할이나 정책을 생성할 때는 반드시 `CAPABILITY_NAMED_IAM` 권한을 명시해 주어야 한다.
3. 생성된 역할 확인
aws iam get-role --role-name MyTestRole
4. 스택 삭제
aws cloudformation delete-stack --stack-name my-iam-role-stack
스택을 삭제하면 CloudFormation 이 생성한 모든 리소스가 함께 삭제된다.