[AWS] Switch Role

Falcon·2024년 11월 29일
1

aws

목록 보기
36/36
post-thumbnail

Switch Role

목적

DEV환경 계정 사용자가 있다고 치자,
DEV환경에서는 Admin, TEST, LIVE 에서는 RO 권한을 주고싶다.

가장 간단한 방법은 3개의 계정을 생성하여 운영하는 것이다.
1. DEV admin 계정
2. Production ReadOnly(이하 RO) 계정

좀 복잡해보인다.
DEV 계정 <-> PROD RO Role 을 오갈 수 없을까?
어차피 권한의 문제인데?

DEV 계정 1개 로그인해서 TEST, LIVE RO Role 로 Switch 할 수 있도록 하기 위한 방법으로
Switch Role 이 있다.

용도

타 계정 (aws account alias, account ID) 의 특정 Role 을 사용할 수 있게한다.
이를 Switch Role 이라 한다.

예시

DEV 계정

  • dev_m_falcon (1111-2222-3333)
  • Role: AWS Console DEV
    - Policy1: Administrator

Production 계정

  • production (4444-5555-6666)

DEV-Switch-Role 생성

  • 역할: Switch-DEV-Role
    - Policy1: ReadOnlyAccess
  • 신뢰 관계 엔티티 설정
    	```json
    	{
    	    "Version": "2012-10-17",
    	    "Statement": [
    	        {
    	            "Sid": "",
    	            "Effect": "Allow",
    	            "Principal": {
    	                "AWS": [
    	                    "arn:aws:iam::111122223333:user/dev_m_falcon"
    	                ]
    	            },
    	            "Action": "sts:AssumeRole"
    	        }
    	    ]
    	}
    	```

서로 다른 계정임에도 dev_m_faclon 유저는 Switch Role 이 가능해졌다.
즉, DEV 계정에 로그인하고 '역할 전환' 탭을 통해 production 계정의 Resource 에 ReadOnlyAccess 권한으로 읽기가 가능해졌다.

더 이상 여러 계정을 로그인/로그아웃 하면서 계정 전환을 할 필요가 없다.

예제 - Console

Switch Role 등록 화면 입력시 '역할 전환' 메뉴가 활성화 된다.
DEV 계정 로그인 후 역할 전환으로 DEV <-> PROD Role 전환이 가능하다.

예제 - CLI

AWS 는 Profile 설정을 총 2가지 파일로 지원한다.
%USER_HOME%/.aws/ 경로에 config 그리고 credentials 파일이다.

본 예제에서는 credentials 파일에 DEV 계정을 설정하고,
config 파일에 Switch Role 을 명시함으로써 DEV <-> PROD Role 을 모두 사용하는 예시를 보이겠다.

credentials

[dev-mfalcon]
aws_access_key_id = [your-acess-key]
aws_secret_access_key = [your-secret-access-key]
$ export AWS_PROFILE=dev-mfalcon

config

[profile prod]
role_arn = arn:aws:iam::111122223333:user/PROD-ReadOnly-Role
source_profile = dev-mfalcon

dev-mfalcon profile 로 DEV 환경 리소스를, prod profile 로 Production 환경 리소스에 접근이 가능하다.

# production S3 버킷의 폴더 오브젝트 목록 출력
$ aws s3 ls s3://{bucket-name}/{path}/ --profile prod
profile
I'm still hungry

0개의 댓글