•
특정 권한을 가지고 있는 AWS 계정 내 자격증명
•
AWS 자격 증명이라는 점에서 IAM 역할은 IAM 사용자와 유사
•
역할은 한 사람과만 연관되지 않고 해당 역할이 필요한 IAM 사용자, 애플리케이션, AWS 서비스 등 누구든지 맡을 수 있음
•
역할에는 암호 또는 액세스 키와 같은 장기 자격 증명이 없고 역할 세션을 위한 임시 보안 자격 증명이 제공된다.
•
AWS Security Token Service (AWS STS)를 사용해 AWS리소스에 대한 액세스를 제어할 수 있는 임시 보안 자격 증명을 생성한다.
•
IAM 역할을 맡는 경우 발급되는 토큰은 일시적이며 만료되면 보안 인증 정보가 유출되고 재사용되는 것과 관련된 위험이 줄어든다.
•
역할을 사용하여 AWS 리소스에 액세스할 수 없는 사용자, 애플리케이션 또는 서비스에 액세스 권한을 위임
◦
예시)
▪
AWS 계정의 사용자에게 권한이 없는 리소스에 대한 액세스 권한을 부여
▪
한 AWS 계정의 사용자에게 다른 계정의 리소스에 대한 액세스 권한을 부여
▪
모바일 앱에서 AWS 리소스를 사용할 수 있도록 하되 앱에 AWS 키를 내장(교체하기 어렵고 사용자가 추출할 가능성이 있음) 하길 원치 않는 경우
▪
기업 디렉터리에서처럼 AWS 외부에 정의된 자격 증명을 이미 보유하고 있는 사용자에게 AWS 액세스 권한을 부여
▪
타사 계정에 대한 액세스 권한을 부여하여 리소스에 대한 감사를 수행할 수 있도록 해야 할 경우
역할 사용 주체
•
AWS 서비스 (예: Amazon EC2)
•
역할과 동일하거나 다른 AWS계정의 IAM 사용자
•
Amazon, Facebook 또는 Google과 같은 제 3자 웹 자격증명 공급자의 사용자
◦
SAML 2.0 등과 호환되는 외부 자격 증명 공급자(IdP) 서비스에 의해 인증된 외부 사용자
역할이 사용되는 시나리오 (AWS 서비스에 대한 액세스 권한 부여)
•
AWS 리소스에서 사용하는 자격증명
•
특정 AWS 서비스가 다른 AWS 서비스에 액세스 하여 작업을 수행할 때 필요한 권한
예시
•
원래는 EC2에서는 권한이 없기 떄문에 S3, RDS에 그냥 접속 할 수 없다.
•
IAM역할에 S3 Full Access 와 RDS Full Access 권한을 부여한다.
•
권한을 얻은 IAM역할을 EC2에 연결하면, EC2는 S3와 RDS 접근 권한을 가진다.
사용자는 사람들을 위한 권한이고,
역할은 AWS리소스를 위한 권한이다.
Users are for people, and roles are for AWS resources
사용자와 역할의 권한 개념
•
사람을 위한 권한이 아니면 역할
•
사람을 위한 권한이지만 단기 권한일 경우 역할
•
사람을 위한 장기권한만 사용자 권한