평소에 개발자 계정은 IAM 서비스를 이용할 수 없습니다. 하지만 가끔씩 개발자 계정에서 IAM Role를 사용하고 싶어질 때가 있습니다.
개발자 계정이 아닌 관리자 계정으로 로그인 합니다.

어드민 계정의 경우 AdministatorAccess 정책을 따르고 있기 때문에, 모든 IAM에 대한 권한을 가지고 있어, IAM 서비스를 사용할 수 있습니다.
즉 IAM Role을 생성할 수 있습니다.

역활 만들기 버튼을 누릅니다.

IAM Role에서는 두 가지 요소가 중요합니다.
- 역할이 어떠한 정책을 따르는지 -> 역할을 가지고 있을 때, 어떠한 서비스를 이용할 수 있는지 (Authentication)
- 역할을 호출할 수 있는 엔터티는 무엇이냐 (Trust relationship)
아래의 사진을 보면, 현재 그 역할을 호출할 수 있는 엔터티는 5 개입니다.
저는 개발자 계정으로 IAM 서비스를 사용하기위해 역할을 만드는 것이기 때문에, AWS 계정을 선택하도록 하겠습니다.

다음으로 역할에 IAM 권한을 가지는 정책을 연결합니다.

마지막으로 역할에 이름과 설명을 작성하면 역할을 생성할 수 있습니다.


생성한 역할을 클릭하면 다음과 같은 화면을 볼 수 있습니다.
IAM 역할을 사용하기 위해서는 ARN를 가지고 Assum Role API 를 호출해야 합니다.

저희가 만든 역할의 신뢰 관계를 보면 다음과 같이 설정되어 있습니다.

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::490190357829:root"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}
저희가 주목해야할 부분은 "AWS": "arn:aws:iam::490190357829:root" 입니다.
이렇게 작성되어 있으면, 현재 계정의 모든 사용자가 iam-full-role 역할을 호출할 수 있게 됩니다.
특정 사용자만 역할을 호출할 수 있도록 설정하고 싶다면, root 부분만 아래와 같이 수정하면 됩니다.

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::490190357829:user/cire"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}
이렇게 하여 특정 사용자만 호출할 수 있는 IAM Role 을 만들어 보았습니다.
다음 글에서는 IAM Role를 직접 사용해 보도록 하겠습니다.
'Amazon Cloud' 카테고리의 다른 글
[AWS] S3 사용 실습 - 2 (권한 부여) (0) | 2023.05.07 |
---|---|
[AWS] S3 사용 실습 - 1 (버킷 생성, 파일 업로드, 파일 다운로드, 파일이동) (0) | 2023.05.06 |
[AWS] IAM Role - 3 (CLI 로그인 및 사용해보기) (0) | 2023.05.04 |
[AWS] IAM Role - 2 (관리자 콘솔로 사용해보기) (0) | 2023.05.04 |
[AWS] IAM 그룹 만들기 (2) | 2023.04.16 |