IAM Role은 AWS의 특정 서비스들에게 AWS에서 작업을 수행할 수 있는 권한을 부여하는 것이다.
1. IAM > Roles 에서 Create Role 선택하기

2. 권한을 줄 서비스 선택하기

Use case에서 권한을 줄 서비스를 선택한다.
3. 정책 연결하기

원하는 권한 정책을 연결해주면 된다.
4. 이름짓기, 검토하기, 생성하기

Role의 이름을 짓고 권한을 검토한 뒤 생성하면 끝이다.
IAM user vs IAM Role + 페더레이션
IAM 사용자(User) 방식
- AWS에서 직접 사용자를 생성하고 IAM 사용자 계정을 발급함.
- 각 사용자에게 고유한 자격 증명(Access Key, Secret Key)을 부여해야 함.
- 단점: 사용자가 많아지면 관리가 복잡해지고 보안상 위험(자격 증명 유출, 삭제/갱신 문제) 증가.
IAM 역할(Role) + 페더레이션 방식
- IAM 역할(Role)을 생성하고, 이를 ID 제공자(IdP, Identity Provider)를 통해 관리.
- 직원들이 IAM 사용자 계정 없이 AWS에 로그인하고, 역할(Role)을 임시로 할당받아 사용.
- 일반적으로 SAML(Security Assertion Markup Language) 또는 OpenID Connect(OIDC) 같은 ID 페더레이션 방식을 활용함.
- 대표적인 ID 제공자(IdP): Microsoft Entra ID(Azure AD), Okta, Google Workspace, AWS SSO 등.
왜 IAM 역할 + 페더레이션이 좋을까?
✅ IAM 사용자를 직접 생성하지 않아도 됨 → 사용자 수가 많아도 관리 부담 감소
✅ 임시 자격 증명(Temporary Credentials) 사용 → 고정된 Access Key 노출 위험 없음
✅ 기업 내부 인증 시스템과 연동 가능 → 직원이 퇴사하면 자동으로 AWS 액세스 차단됨
✅ 멀티 계정 관리 가능 → 여러 AWS 계정을 사용하더라도 역할을 통해 쉽게 접근 가능
실제 적용 예시
회사가 Microsoft Entra ID(Azure AD)를 사용하고 있다고 가정
- Azure AD에서 SAML을 이용해 AWS와 Single Sign-On(SSO)을 설정
- 직원들이 회사 계정(이메일 + 비밀번호)으로 로그인
- AWS에서 해당 사용자를 자동으로 IAM 역할(Role)에 매핑하여 필요한 권한 부여
- 사용자는 IAM 역할을 통해 AWS에 접근 가능
즉, 직원들에게 개별적인 IAM 사용자 계정을 발급하는 대신, 기존 회사 로그인 시스템을 활용하여 AWS에 접근하게 만드는 방식