흰 스타렉스에서 내가 내리지

CloudFormation 을 이용하여 IAM 역할 생성 및 정책 할당 (CLI 사용) 본문

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` 권한을 명시해 주어야 한다.

 

output

 

 

3. 생성된 역할 확인 

aws iam get-role --role-name MyTestRole

AWS 콘솔 확인 결과 Role 생성과 정책 할당이 잘 되었다.

 

 

4. 스택 삭제 

aws cloudformation delete-stack --stack-name my-iam-role-stack

 

스택을 삭제하면 CloudFormation 이 생성한 모든 리소스가 함께 삭제된다.