Tenere traccia delle attività con privilegi in AWS CloudTrail - AWS Identity and Access Management

Tenere traccia delle attività con privilegi in AWS CloudTrail

L'account di gestione AWS Organizations o un account amministratore delegato per IAM può eseguire alcune attività degli utenti root sugli account membri utilizzando l'accesso root a breve termine. Le sessioni con privilegi a breve termine forniscono credenziali temporanee utilizzabili per intraprendere azioni con privilegi su un account membro dell'organizzazione. È possibile utilizzare i passaggi seguenti per identificare le azioni intraprese dall'account di gestione o da un amministratore delegato durante la sessione sts:AssumeRoot.

Nota

L'endpoint globale non è supportato per sts:AssumeRoot. CloudTrail registra gli eventi ConsoleLogin nella regione specificata per l'endpoint.

Per tenere traccia delle azioni eseguite da una sessione con privilegi nei log di CloudTrail
  1. Trova l'evento AssumeRoot nei log di CloudTrail. Questo evento viene generato quando l'account di gestione o l'amministratore delegato di IAM riceve una serie di credenziali a breve termine da sts:AssumeRoot.

    Nell'esempio seguente, l'evento CloudTrail per AssumeRoot viene registrato nel campo eventName.

    { "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" } } }

    Per la procedura per accedere ai log CloudTrail, consulta Recupero e visualizzazione dei file di log di CloudTrail nella Guida per l'utente di AWS CloudTrail.

  2. Nel log degli eventi di CloudTrail, individua il targetPrincipal che specifica le azioni eseguite sull'account membro e il accessKeyId che è unico per la sessione AssumeRoot.

    Nell'esempio seguente, targetPrincipal è 222222222222 e 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" } }
  3. Nei log CloudTrail per il principale di destinazione, cerca l'ID della chiave di accesso che corrisponde al valore accessKeyId dell'evento AssumeRoot. Utilizza i valori del campo eventName per determinare le attività con privilegi eseguite durante la sessione AssumeRoot. È possibile che vengano eseguite più attività con privilegi in una singola sessione. La durata massima della sessione per AssumeRoot è 900 secondi (15 minuti).

    Nell'esempio seguente, l'account di gestione o l'amministratore delegato ha eliminato la policy basata sulle risorse per un bucket 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-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" } }