본문 바로가기
CSP (Cloud Service Provider)/AWS

[AWS] Switch Role

by BTC_맥썸 2022. 4. 5.

안녕하세요 :D 맥썸입니다!

이번 포스팅에서는 AWS 계정이 여러개일때, 어떻게 관리해야 할지에 대한 방법을 정리했습니다.
실제 프로젝트에서는 프로젝트별로 AWS 계정을 별도로 분리해서 사용하는 경우가 많습니다.

한번의 점검을 위해 멀티 계정을 재 로그인 해야하는 번거로움을 줄이기 위한 AWS Switch Role이라는 기능을 소개하도록 하겠습니다.

제가 설정한 환경 구성은 ‘#기울기’로 작성했습니다.


[ 개념 ]

프로젝트 환경은 DEV-개발, STG-검증, PRD-배포 단계로 나눠져 진행되기에 Account가 많아져 작업 처리가 어렵습니다.
이때 Switch role을 사용하면 재 로그인과 MFA 인증의 번거로움을 줄여 계정 전환을 간소화해주며 보안적인 측면에서 안전합니다.

 

[ 역할 전환 ]

A Account IAM User —(Switch Role)—> B Account

# A account IAM User: makesome@bespinglobal.com B Account: BTC-DEV로 지정하겠습니다.

[ 준비 ]

1. A Account → Policy
2. B Account → Role, Policy

[ 필수 ]

Root 계정에서 역할 전환 기능은 권장하지 않습니다.
Switch Role (역할 전환)을 하기 위해서는 신뢰 관계가 있어야 하므로 작업하는 계정의 Role에 User를 추가하여 신뢰 관계를 형성 해야 합니다.
이때 Policy에 “sts:AssumeRole”를 추가하여 임시 자격 증명을 받아야 신뢰 관계가 성립됩니다.

[ 방법 ]

이번 방법은 AWS Console에서 진행하도록 하겠습니다.

1. 역할 부여 받을 IAM User 콘솔 로그인 후 Policy 생성

- sts: AssumeRole은 임시 자격 증명을 받을 수 있는 정책입니다.

# BTC-Admin의 IAM User> Create Policy > Json (Name: BTC-SwitchRole)

 

2. Attache Policy

- User group으로 관리되어 있다면 User group에 정책 연결
- User로 관리되어 있다면 User에 정책 연결
 ( User group으로 User를 관리해야 해당 사용자의 권한을 더 쉽게 관리할 수 있습니다. )

# BTC-Admin의 IAM User > Create group > User group Name: BTC-Admin, Add user, Attach permissions policies

 

3. 역할 전환할 계정에서 Role의 Trust Relationships에 User 추가

- 역할 생성 후 정책 연결

# BTC-DEV Account > Create Role > Name: BTC-Role, Policy: AdministratorAccess

 

- Trust Relationships : 역할 부여 받을 계정의 User arn 추가

# Trust Relationships > “arn:aws:iam:usr arn”추가

 

4. 역할 전환하기 (Switch Role)

- 우측 상단에서 Switch role 선택

계정 : 역할 전환 할 Account ID
역할 : 역할 전환 할 Account에서 생성한 역할의 이름
표시 이름 : 지정하고 싶은 이름

# BTC-Admin의 IAM User > Switch role > 계정: BTC-DEV, 역할: BTC-Role

 

5. 확인

성공적으로 역할 전환이 되면
우측 상단 위에 지정한 색상 및 표시 이름이 바뀌어 나옵니다.

 


참고

https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/id_roles_use_switch-role-console.html

댓글