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 콘솔에서 이루어짐
