AWS CloudTrail에서 권한 있는 태스크 추적
IAM의 AWS Organizations 관리 계정 또는 위임된 관리자 계정은 단기 루트 액세스를 사용하여 멤버 계정에서 일부 루트 사용자 태스크를 수행할 수 있습니다. 단기 권한 있는 세션은 조직의 멤버 계정에서 권한 있는 작업을 수행하도록 범위를 지정할 수 있는 임시 자격 증명을 제공합니다. 다음 단계를 사용하여 sts:AssumeRoot
세션 중 관리 계정 또는 위임된 관리자가 수행한 작업을 식별할 수 있습니다.
참고
sts:AssumeRoot
에는 글로벌 엔드포인트가 지원되지 않습니다. CloudTrail은 엔드포인트에 대해 지정된 리전의 ConsoleLogin
이벤트를 기록합니다.
CloudTrail 로그에서 권한 있는 세션에서 수행한 작업을 추적하려면 다음을 수행하세요.
-
CloudTrail 로그에서
AssumeRoot
이벤트를 찾습니다. 이 이벤트는 IAM의 관리 계정이나 위임된 관리자가sts:AssumeRoot
에서 단기 자격 증명 세트를 가져올 때 생성됩니다.다음 예에서는 AssumeRoot에 대한 CloudTrail 이벤트가
eventName
필드에 기록됩니다.{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AIDACKCEVSQ6C2EXAMPLE:JohnRole1", "arn": "arn:aws:sts::111111111111:assumed-role/JohnDoe/JohnRole1", "accountId": "111111111111", "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111111111111:role/JohnDoe", "accountId": "111111111111", "userName": "Admin2" }, "webIdFederationData": {}, "attributes": { "assumedRoot": "true", "creationDate": "2024-10-25T20:45:28Z", "mfaAuthenticated": "false" } } }, "eventTime": "2024-10-25T20:52:11Z", "eventSource": "sts.amazonaws.com", "eventName": "AssumeRoot", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.1", "requestParameters": { "targetPrincipal": "222222222222", "taskPolicyArn": { "arn": "arn:aws:iam::aws:policy/root-task/S3UnlockBucketPolicy" } }, "responseElements": { "credentials": { "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "sessionToken": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "expiration": "Oct 25, 2024, 9:07:11 PM" } } }
CloudTrail 로그에 액세스하는 단계는 AWS CloudTrail 사용자 설명서의 Getting and viewing your CloudTrail log files를 참조하세요.
-
CloudTrail 이벤트 로그에서 작업이 수행된 멤버 계정을 지정하는
targetPrincipal
과AssumeRoot
세션에 고유한accessKeyId
를 찾습니다.다음 예에서
targetPrincipal
은 222222222222이고accessKeyId
는 ASIAIOSFODNN7EXAMPLE입니다."eventTime": "2024-10-25T20:52:11Z", "eventSource": "sts.amazonaws.com", "eventName": "AssumeRoot", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.1", "requestParameters": { "targetPrincipal": "
222222222222
", "taskPolicyArn": { "arn": "arn:aws:iam::aws:policy/root-task/S3UnlockBucketPolicy" } }, "responseElements": { "credentials": { "accessKeyId": "ASIAIOSFODNN7EXAMPLE
", "sessionToken": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "expiration": "Oct 25, 2024, 9:07:11 PM" } } -
대상 위탁자에 대한 CloudTrail 로그에서
AssumeRoot
이벤트의accessKeyId
값에 해당하는 액세스 키 ID를 검색합니다.eventName
필드 값을 사용하여AssumeRoot
세션 중 수행되는 권한 있는 태스크를 결정합니다. 단일 세션에서 여러 권한 있는 태스크가 수행될 수 있습니다.AssumeRoot
의 최대 세션 지속 기간은 900초(15분)입니다.다음 예에서는 관리 계정 또는 위임된 관리자가 Amazon S3 버킷에 대한 리소스 기반 정책을 삭제했습니다.
{ "eventVersion": "1.10", "userIdentity": { "type": "Root", "principalId": "
222222222222
", "arn": "arn:aws:iam::222222222222:root", "accountId": "222222222222", "accessKeyId": "ASIAIOSFODNN7EXAMPLE
", "sessionContext": { "attributes": { "creationDate": "2024-10-25T20:52:11Z", "mfaAuthenticated": "false" } } }, "eventTime": "2024-10-25T20:53:47Z", "eventSource": "s3.amazonaws.com", "eventName": "DeleteBucketPolicy", "awsRegion": "us-west-2", "sourceIPAddress": "192.0.2.1", "requestParameters": { "bucketName": "resource-policy-JohnDoe", "Host": "resource-policy-JohnDoe.s3.amazonaws.com", "policy": "" }, "responseElements": null, "requestID": "1234567890abcdef0", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "readOnly": false, "resources": [ { "accountId": "222222222222", "type": "AWS::S3::Bucket", "ARN": "arn:aws:s3:::resource-policy-JohnDoe" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "222222222222", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_128_GCM_SHA256", "clientProvidedHostHeader": "resource-policy-JohnDoe.s3.amazonaws.com" } }