1. 개요
AssumeRole에 대해 알아보자.
2. 시나리오
2.1. user_a
user_a에 sts:AssumeRole을 할당한다.
2.2. user_b
user_b에 EC2FullAccess를 할당한다.
2.3. user_c
user_c에 IAMFullAccess를 할당한다.
2.4. Role Change
- user_a는 EC2 목록 볼 수 없음
- role_b로 Role Change 후 EC2 목록 볼 수 있음
- role_c로 Role Change 후 IAM 목록 볼 수 있음
3. 로그
3.1. CloudTrail 로그
출처: https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/cloudtrail-integration.html
{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/JaneDoe", "accountId": "444455556666", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "userName": "JaneDoe", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2014-07-15T21:39:40Z" } }, "invokedBy": "signin.amazonaws.com" }, "eventTime": "2014-07-15T21:40:14Z", "eventSource": "iam.amazonaws.com", "eventName": "GetUserPolicy", "awsRegion": "us-east-2", "sourceIPAddress": "signin.amazonaws.com", "userAgent": "signin.amazonaws.com", "requestParameters": { "userName": "JaneDoe", "policyName": "ReadOnlyAccess-JaneDoe-201407151307" }, "responseElements": null, "requestID": "9EXAMPLE-0c68-11e4-a24e-d5e16EXAMPLE", "eventID": "cEXAMPLE-127e-4632-980d-505a4EXAMPLE" }
- JaneDoe 사용자의 requestParameters이라는 이름의 사용자 정책을 가져오는 요청
- JaneDoe라는 이름의 IAM 사용자가 2014년 7월 15일 오후 9시 40분(UTC)에 요청함
- userAgent 요소를 통해 요청이 AWS Management 콘솔에서 이루어짐