Verfolgen von privilegierten Aufgaben in AWS CloudTrail - AWS Identity and Access Management

Verfolgen von privilegierten Aufgaben in AWS CloudTrail

Das AWS Organizations-Verwaltungskonto oder ein delegiertes Administratorkonto für IAM kann mithilfe des kurzfristigen Root-Zugriffs einige Root-Benutzeraufgaben auf Mitgliedskonten ausführen. Kurzfristige privilegierte Sitzungen bieten Ihnen temporäre Anmeldeinformationen, die Sie nutzen können, um privilegierte Aktionen für ein Mitgliedskonto in Ihrer Organisation auszuführen. Mithilfe der folgenden Schritte können Sie die Aktionen ermitteln, die vom Verwaltungskonto oder einem delegierten Administrator während der Sitzung sts:AssumeRoot ausgeführt wurden.

Anmerkung

Der globale Endpunkt wird für sts:AssumeRoot nicht unterstützt. CloudTrail zeichnet ConsoleLogin-Ereignisse in der für den Endpunkt angegebenen Region auf.

So verfolgen Sie von einer privilegierten Sitzung ausgeführte Aktionen in CloudTrail-Protokollen
  1. Suchen Sie das AssumeRoot-Ereignis in Ihren CloudTrail-Protokollen. Dieses Ereignis wird generiert, wenn Ihr Verwaltungskonto oder der delegierte Administrator für IAM einen Satz kurzfristiger Anmeldeinformationen von sts:AssumeRoot erhält.

    Im folgenden Beispiel wird das CloudTrail-Ereignis für AssumeRoot im Feld eventName protokolliert.

    { "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AIDACKCEVSQ6C2EXAMPLE:JohnRole1", "arn": "arn:aws:sts::111111111111:assumed-role/John/JohnRole1", "accountId": "111111111111", "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111111111111:role/John", "accountId": "111111111111", "userName": "Admin2" }, "webIdFederationData": {}, "attributes": { "creationDate": "2024-10-25T20:45:28Z", "mfaAuthenticated": "false" }, "assumedRoot": "true" } }, "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" } } }

    Schritte zum Zugriff auf Ihre CloudTrail-Protokolle finden Sie unter Abrufen und Anzeigen Ihrer CloudTrail-Protokolldateien im AWS CloudTrail-Benutzerhandbuch.

  2. Suchen Sie im CloudTrail-Ereignisprotokoll nach dem targetPrincipal, das angibt, für welches Mitgliedskonto Aktionen ausgeführt wurden, und dem accessKeyId, das für die AssumeRoot-Sitzung eindeutig ist.

    Im folgenden Beispiel lautet der targetPrincipal 222222222222 und der accessKeyId lautet 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" } }
  3. Suchen Sie in den CloudTrail-Protokollen für den Zielprinzipal nach der Zugriffsschlüssel-ID, die dem accessKeyId-Wert aus dem AssumeRoot-Ereignis entspricht. Verwenden Sie die eventName-Feldwerte, um die privilegierten Aufgaben zu ermitteln, die während der AssumeRoot-Sitzung ausgeführt werden. In einer einzigen Sitzung können mehrere privilegierte Aufgaben ausgeführt werden. Die maximale Sitzungsdauer für AssumeRoot beträgt 900 Sekunden (15 Minuten).

    Im folgenden Beispiel hat das Verwaltungskonto oder der delegierte Administrator die ressourcenbasierte Richtlinie für einen Amazon-S3-Bucket gelöscht.

    { "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-John", "Host": "resource-policy-John.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-John" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "222222222222", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_128_GCM_SHA256", "clientProvidedHostHeader": "resource-policy-John.s3.amazonaws.com" } }