Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Registrazione IAM e AWS STS API chiamate con AWS CloudTrail

Modalità Focus
Registrazione IAM e AWS STS API chiamate con AWS CloudTrail - AWS Identity and Access Management

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

IAMe AWS STS sono integrati con AWS CloudTrail un servizio che fornisce una registrazione delle azioni intraprese da un IAM utente o da un ruolo. CloudTrail acquisisce tutte le API chiamate per IAM e AWS STS come eventi, incluse le chiamate provenienti dalla console e dalle API chiamate. Se crei un trail, puoi abilitare la distribuzione continua di CloudTrail eventi a un bucket Amazon S3. Se non configuri un trail, è comunque possibile visualizzare gli eventi più recenti nella console di CloudTrail in Event history (Cronologia eventi). Puoi utilizzarlo CloudTrail per ottenere informazioni sulla richiesta che è stata fatta a IAM o. AWS STS Ad esempio, puoi visualizzare l'indirizzo IP da cui è stata Effettuata la richiesta, l'autore della richiesta e il momento in cui è stata effettuata, nonché dettagli aggiuntivi.

Per ulteriori informazioni CloudTrail, consulta la Guida AWS CloudTrail per l'utente.

IAMe AWS STS informazioni in CloudTrail

CloudTrail è abilitato sul tuo account al Account AWS momento della creazione dell'account. Quando si verifica un'attività in IAM o AWS STS, tale attività viene registrata in un CloudTrail evento insieme ad altri eventi AWS di servizio nella cronologia degli eventi. Puoi visualizzare, cercare e scaricare eventi recenti in Account AWS. Per ulteriori informazioni, consulta Visualizzazione degli eventi con la cronologia degli CloudTrail eventi.

Per una registrazione continua degli eventi del tuo sito Account AWS, inclusi gli eventi per IAM e AWS STS, crea un percorso. Un trail consente di CloudTrail inviare file di log a un bucket Amazon S3. Per impostazione predefinita, quando si crea un trail nella console, il trail sarà valido in tutte le Regioni . Il trail registra gli eventi di tutte le regioni della AWS partizione e consegna i file di log al bucket Amazon S3 specificato. Inoltre, puoi configurare altri AWS servizi per analizzare ulteriormente e agire in base ai dati sugli eventi raccolti nei log. CloudTrail Per ulteriori informazioni, consultare:

Tutte IAM AWS STS le azioni vengono registrate CloudTrail e sono documentate nel IAMAPIRiferimento e nel AWS Security Token Service API Riferimento.

Registrazione IAM e richieste AWS STS API

CloudTrail registra tutte le API richieste e le operazioni autenticate. IAM AWS STS API CloudTrail registra inoltre le richieste non autenticate alle AWS STS azioni AssumeRoleWithSAML e AssumeRoleWithWebIdentity registra le informazioni fornite dal provider di identità. Tuttavia, alcune AWS STS richieste non autenticate potrebbero non essere registrate perché non soddisfano l'aspettativa minima di essere sufficientemente valide da essere considerate una richiesta legittima. Per le richieste di assunzione di ruoli tra account, CloudTrail non registra le AWS STS richieste rifiutate nell'account di destinazione. CloudTrail

Queste informazioni registrate possono essere utilizzate per mappare le chiamate effettuate da un utente federato con un ruolo assunto al chiamante federato esterno di origine. Nel caso diAssumeRole, è possibile mappare le chiamate al AWS servizio di origine o all'account dell'utente di origine. La userIdentity sezione dei JSON dati nella voce di CloudTrail registro contiene le informazioni necessarie per mappare il AssumeRole* richiesta con un utente federato specifico. Per ulteriori informazioni, consulta CloudTrail userIdentityElement nella Guida per l'AWS CloudTrail utente.

Ad esempio, le chiamate a IAMCreateUser, DeleteRoleListGroups, e altre API operazioni vengono tutte registrate da CloudTrail.

Esempi di questo tipo di voce di log sono riportati più avanti in questo argomento.

Registrazione delle API richieste ad altri servizi AWS

Le richieste autenticate ad altre API operazioni AWS di servizio vengono registrate da CloudTrail e queste voci di registro contengono informazioni su chi ha generato la richiesta.

Ad esempio, supponiamo di aver effettuato una richiesta per elencare EC2 le istanze Amazon o creare un gruppo di AWS CodeDeploy distribuzione. I dettagli sulla persona o sul servizio che ha effettuato la richiesta sono contenuti nella voce di log per quella richiesta. Queste informazioni ti aiutano a determinare se la richiesta è stata effettuata da un IAM utente Utente root dell'account AWS, da un ruolo o da un altro AWS servizio.

Per maggiori dettagli sulle informazioni sull'identità dell'utente nelle voci di CloudTrail registro, consulta userIdentity Element nella Guida per l'AWS CloudTrail utente.

Registrazione di eventi di accesso dell'utente

CloudTrail registra gli eventi di accesso ai AWS Management Console, ai forum di AWS discussione e. Marketplace AWS CloudTrailregistra i tentativi di accesso riusciti e non riusciti per IAM utenti e utenti federati.

Per visualizzare CloudTrail gli eventi di esempio relativi agli accessi riusciti e non riusciti degli utenti root, consultate Example event records for root users nella User Guide.AWS CloudTrail

Come procedura consigliata in materia di sicurezza, AWS non registra il testo del nome IAM utente immesso quando l'errore di accesso è causato da un nome utente errato. Il nome utente viene mascherato dal valore HIDDEN_DUE_TO_SECURITY_REASONS. Per un esempio di questo caso, consultare Esempio di evento di accesso non riuscito a causa di un nome utente non corretto più avanti in questo argomento. Il testo del nome utente viene oscurato perché tali errori potrebbero essere causati da errori utente. La registrazione di questi errori potrebbe esporre informazioni potenzialmente sensibili. Ad esempio:

  • L'utente ha immesso accidentalmente la password nella casella del nome utente.

  • Scegli il link per la pagina di accesso di uno Account AWS, ma poi digita il numero di account per un'altra. Account AWS

  • L'utente ha dimenticato a quale account stava eseguendo l'accesso e ha accidentalmente digitato il nome dell'account e-mail personale, l'identificatore di accesso bancario o un altro ID privato.

Registrazione di eventi di accesso per credenziali temporanee

Quando un principale richiede credenziali temporanee, il tipo di principale determina il modo in cui CloudTrail registra l'evento. Questo può essere complicato quando un principale assume un ruolo in un altro account. Sono disponibili più API chiamate per eseguire operazioni relative alle operazioni tra ruoli e account. Innanzitutto, le chiamate principali servono AWS STS API a recuperare le credenziali temporanee. Tale operazione viene registrata nell'account chiamante e nell'account in cui viene AWS STS eseguita l'operazione. Quindi il principale utilizza quindi il ruolo per eseguire altre API chiamate nell'account del ruolo assunto.

È possibile utilizzare la chiave di condizione sts:SourceIdentity nella policy di attendibilità del ruolo per richiedere agli utenti di specificare un'identità quando assumono un ruolo. Ad esempio, è possibile richiedere che IAM gli utenti specifichino il proprio nome utente come identità di origine. In questo modo è possibile determinare quale utente ha eseguito un'operazione specifica in AWS. Per ulteriori informazioni, consulta sts:SourceIdentity. Puoi utilizzare sts:RoleSessionName anche per richiedere agli utenti di specificare un nome di sessione quando assumono un ruolo. Questo può aiutarti a distinguere tra le sessioni di ruolo per un ruolo utilizzato da diversi responsabili durante la revisione AWS CloudTrail dei log.

La tabella seguente mostra come CloudTrail vengono registrate le diverse informazioni sull'identità utente per ciascuna di quelle AWS STS APIs che generano credenziali temporanee.

Tipo di entità principale STS API Identità dell'utente nel CloudTrail registro dell'account del chiamante Identità dell'utente nel CloudTrail registro dell'account del ruolo assunto Identità dell'utente nel CloudTrail registro per le API chiamate successive del ruolo
Utente root dell'account AWS credenziali GetSessionToken Identità utente root L'account proprietario del ruolo è uguale all'account chiamante Identità utente root
Utente root dell'account AWS credenziali AssumeRoot Sessione dell'utente root Numero di account e ID principale (se utente) Sessione dell'utente root
IAMUtente GetSessionToken Identità utente IAM L'account proprietario del ruolo è uguale all'account chiamante Identità utente IAM
IAMUtente GetFederationToken Identità utente IAM L'account proprietario del ruolo è uguale all'account chiamante Identità utente IAM
IAMUtente AssumeRole Identità utente IAM numero di conto e ID principale (se si tratta di un utente) o principale AWS del servizio Solo identità ruolo (nessun utente)
Utente autenticato esternamente AssumeRoleWithSAML N/A Identità utente SAML Solo identità ruolo (nessun utente)
Utente autenticato esternamente AssumeRoleWithWebIdentity N/A OIDC/Identità utente Web Solo identità ruolo (nessun utente)

CloudTrail considera un'azione di sola lettura se non ha alcun effetto mutante su una risorsa. Quando si registra un evento di sola CloudTrail lettura, oscura le informazioni nel registro. responseElements Quando CloudTrail registra un evento che non è di sola lettura, il dato completo responseElements viene visualizzato nella voce di registro. Tuttavia, per, e AWS STS APIs AssumeRole AssumeRoleWithSAMLAssumeRoleWithWebIdentity, anche se sono registrati come di sola lettura, CloudTrail includerà l'intero responseElements registro nel relativo registro. APIs

La tabella seguente mostra come CloudTrail i log responseElements e readOnly le informazioni per ciascuno di essi generano credenziali temporanee AWS STS APIs.

STS API Informazioni sugli elementi della risposta Sola lettura
AssumeRole Incluso true
AssumeRoleWithSAML Incluso true
AssumeRoleWithWebIdentity Incluso true
AssumeRoot Incluso false
GetFederationToken Incluso false
GetSessionToken Incluso false

IAMAPIEventi di esempio nel registro CloudTrail

CloudTrail i file di registro contengono eventi formattati utilizzandoJSON. Un API evento rappresenta una singola API richiesta e include informazioni sul principale, sull'azione richiesta, su eventuali parametri e sulla data e l'ora dell'azione.

IAMAPIEvento di esempio nel file di CloudTrail registro

L'esempio seguente mostra una voce di log CloudTrail per una richiesta effettuata per l'operazione IAM GetUserPolicy.

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AIDACKCEVSQ6C2EXAMPLE:Role-Session-Name", "arn": "arn:aws:sts::111122223333:assumed-role/Role-Name/Role-Session-Name", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "attributes": { "creationDate": "2024-09-09T17:50:16Z", "mfaAuthenticated": "false" } } }, "eventTime": "2024-09-09T17:51:44Z", "eventSource": "iam.amazonaws.com", "eventName": "GetUserPolicy", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.101", "userAgent": "aws-cli/1.16.96 Python/2.7.8 Linux/10 botocore/1.12.86", "requestParameters": { "userName": "ExampleIAMUserName", "policyName": "ExamplePoliccyName" }, "responseElements": null, "requestID": "9EXAMPLE-0c68-11e4-a24e-d5e16EXAMPLE", "eventID": "cEXAMPLE-127e-4632-980d-505a4EXAMPLE", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_128_GCM_SHA256", "clientProvidedHostHeader": "iam.amazonaws.com" } }

Da queste informazioni sull'evento puoi determinare che la richiesta è stata effettuata per ottenere una policy utente denominata ReadOnlyAccess-JaneDoe-201407151307 per l'utente JaneDoe, come specificato nell'elemento requestParameters. Puoi anche vedere che la richiesta è stata fatta da un IAM utente denominato il 15 JaneDoe luglio 2014 alle 21:40 ()UTC. In questo caso, la richiesta ha avuto origine in AWS Management Console, come si può vedere dall'elemento. userAgent

AWS STS APIEventi di esempio nel registro CloudTrail

CloudTrail i file di registro contengono eventi formattati utilizzandoJSON. Un API evento rappresenta una singola API richiesta e include informazioni sul principale, sull'azione richiesta, su eventuali parametri e sulla data e l'ora dell'azione.

Esempi di AWS STS API eventi tra account nei CloudTrail file di registro

L'IAMutente indicato JohnDoe nell'account 777788889999 richiama l' AWS STS AssumeRoleazione per assumere il ruolo EC2-dev nell'account 111122223333. Quando si assume il ruolo, l'amministratore dell'account richiede agli utenti di impostare un'identità di origine uguale al proprio nome utente. L'utente passa il valore dell'identità di origine di JohnDoe.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDAQRSTUVWXYZEXAMPLE", "arn": "arn:aws:iam::777788889999:user/JohnDoe", "accountId": "777788889999", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "JohnDoe" }, "eventTime": "2014-07-18T15:07:39Z", "eventSource": "sts.amazonaws.com", "eventName": "AssumeRole", "awsRegion": "us-east-2", "sourceIPAddress": "192.0.2.101", "userAgent": "aws-cli/1.11.10 Python/2.7.8 Linux/3.2.45-0.6.wd.865.49.315.metal1.x86_64 botocore/1.4.67", "requestParameters": { "roleArn": "arn:aws:iam::111122223333:role/EC2-dev", "roleSessionName": "JohnDoe-EC2-dev", "sourceIdentity": "JohnDoe", "serialNumber": "arn:aws:iam::777788889999:mfa" }, "responseElements": { "credentials": { "sessionToken": "<encoded session token blob>", "accessKeyId": "ASIAI44QH8DHBEXAMPLE", "expiration": "Jul 18, 2023, 4:07:39 PM" }, "assumedRoleUser": { "assumedRoleId": "AIDAQRSTUVWXYZEXAMPLE:JohnDoe-EC2-dev", "arn": "arn:aws:sts::111122223333:assumed-role/EC2-dev/JohnDoe-EC2-dev" }, "sourceIdentity": "JohnDoe" }, "resources": [ { "ARN": "arn:aws:iam::111122223333:role/EC2-dev", "accountId": "111122223333", "type": "AWS::IAM::Role" } ], "requestID": "4EXAMPLE-0e8d-11e4-96e4-e55c0EXAMPLE", "sharedEventID": "bEXAMPLE-efea-4a70-b951-19a88EXAMPLE", "eventID": "dEXAMPLE-ac7f-466c-a608-4ac8dEXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }

Il secondo esempio mostra la voce di CloudTrail registro dell'account del ruolo assunto (111122223333) per la stessa richiesta.

{ "eventVersion": "1.05", "userIdentity": { "type": "AWSAccount", "principalId": "AIDAQRSTUVWXYZEXAMPLE", "accountId": "777788889999" }, "eventTime": "2014-07-18T15:07:39Z", "eventSource": "sts.amazonaws.com", "eventName": "AssumeRole", "awsRegion": "us-east-2", "sourceIPAddress": "192.0.2.101", "userAgent": "aws-cli/1.11.10 Python/2.7.8 Linux/3.2.45-0.6.wd.865.49.315.metal1.x86_64 botocore/1.4.67", "requestParameters": { "roleArn": "arn:aws:iam::111122223333:role/EC2-dev", "roleSessionName": "JohnDoe-EC2-dev", "sourceIdentity": "JohnDoe", "serialNumber": "arn:aws:iam::777788889999:mfa" }, "responseElements": { "credentials": { "sessionToken": "<encoded session token blob>", "accessKeyId": "ASIAI44QH8DHBEXAMPLE", "expiration": "Jul 18, 2014, 4:07:39 PM" }, "assumedRoleUser": { "assumedRoleId": "AIDAQRSTUVWXYZEXAMPLE:JohnDoe-EC2-dev", "arn": "arn:aws:sts::111122223333:assumed-role/EC2-dev/JohnDoe-EC2-dev" }, "sourceIdentity": "JohnDoe" }, "requestID": "4EXAMPLE-0e8d-11e4-96e4-e55c0EXAMPLE", "sharedEventID": "bEXAMPLE-efea-4a70-b951-19a88EXAMPLE", "eventID": "dEXAMPLE-ac7f-466c-a608-4ac8dEXAMPLE" }

Esempio di API evento di concatenamento dei AWS STS ruoli nel file di registro CloudTrail

L'esempio seguente mostra una voce di CloudTrail registro per una richiesta effettuata da John Doe nell'account 1111. John in precedenza utilizzava il suo utente JohnDoe per assumere il ruolo JohnRole1. Per questa richiesta, utilizza le credenziali di tale ruolo per assumere il ruolo JohnRole2. Questo è noto come concatenazione del ruolo. L'identità di origine che ha impostato quando ha assunto il ruolo JohnDoe1 persiste nella richiesta per assumere JohnRole2. Se John prova a impostare un'identità di origine diversa quando assume il ruolo, la richiesta viene rifiutata. John passa due tag di sessione nella richiesta. Imposta questi due tag come transitivi. La richiesta eredita il tag Department come transitivo perché John lo ha impostato come transitivo quando ha assunto JohnRole1. Per ulteriori informazioni sull'identità di origine, consulta Monitoraggio e controllo delle operazioni intraprese con i ruoli assunti. Per ulteriori informazioni sulle chiavi transitive nelle catene di ruoli, consulta Concatenamento dei ruoli con i tag di sessione.

{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIN5ATK5U7KEXAMPLE:JohnRole1", "arn": "arn:aws:sts::111111111111:assumed-role/JohnDoe/JohnRole1", "accountId": "111111111111", "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2019-10-02T21:50:54Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROAIN5ATK5U7KEXAMPLE", "arn": "arn:aws:iam::111111111111:role/JohnRole1", "accountId": "111111111111", "userName": "JohnDoe" }, "sourceIdentity": "JohnDoe" } }, "eventTime": "2019-10-02T22:12:29Z", "eventSource": "sts.amazonaws.com", "eventName": "AssumeRole", "awsRegion": "us-east-2", "sourceIPAddress": "123.145.67.89", "userAgent": "aws-cli/1.16.248 Python/3.4.7 Linux/4.9.184-0.1.ac.235.83.329.metal1.x86_64 botocore/1.12.239", "requestParameters": { "incomingTransitiveTags": { "Department": "Engineering" }, "tags": [ { "value": "johndoe@example.com", "key": "Email" }, { "value": "12345", "key": "CostCenter" } ], "roleArn": "arn:aws:iam::111111111111:role/JohnRole2", "roleSessionName": "Role2WithTags", "sourceIdentity": "JohnDoe", "transitiveTagKeys": [ "Email", "CostCenter" ], "durationSeconds": 3600 }, "responseElements": { "credentials": { "accessKeyId": "ASIAI44QH8DHBEXAMPLE", "expiration": "Oct 2, 2019, 11:12:29 PM", "sessionToken": "AgoJb3JpZ2luX2VjEB4aCXVzLXdlc3QtMSJHMEXAMPLETOKEN+//rJb8Lo30mFc5MlhFCEbubZvEj0wHB/mDMwIgSEe9gk/Zjr09tZV7F1HDTMhmEXAMPLETOKEN/iEJ/rkqngII9///////////ARABGgw0MjgzMDc4NjM5NjYiDLZjZFKwP4qxQG5sFCryASO4UPz5qE97wPPH1eLMvs7CgSDBSWfonmRTCfokm2FN1+hWUdQQH6adjbbrVLFL8c3jSsBhQ383AvxpwK5YRuDE1AI/+C+WKFZb701eiv9J5La2EXAMPLETOKEN/c7S5Iro1WUJ0q3Cxuo/8HUoSxVhQHM7zF7mWWLhXLEQ52ivL+F6q5dpXu4aTFedpMfnJa8JtkWwG9x1Axj0Ypy2ok8v5unpQGWych1vwdvj6ez1Dm8Xg1+qIzXILiEXAMPLETOKEN/vQGqu8H+nxp3kabcrtOvTFTvxX6vsc8OGwUfHhzAfYGEXAMPLETOKEN/L6v1yMM3B1OwFOrQBno1HEjf1oNI8RnQiMNFdUOtwYj7HUZIOCZmjfN8PPHq77N7GJl9lzvIZKQA0Owcjg+mc78zHCj8y0siY8C96paEXAMPLETOKEN/E3cpksxWdgs91HRzJWScjN2+r2LTGjYhyPqcmFzzo2mCE7mBNEXAMPLETOKEN/oJy+2o83YNW5tOiDmczgDzJZ4UKR84yGYOMfSnF4XcEJrDgAJ3OJFwmTcTQICAlSwLEXAMPLETOKEN" }, "assumedRoleUser": { "assumedRoleId": "AROAIFR7WHDTSOYQYHFUE:Role2WithTags", "arn": "arn:aws:sts::111111111111:assumed-role/test-role/Role2WithTags" }, "sourceIdentity": "JohnDoe" }, "requestID": "b96b0e4e-e561-11e9-8b3f-7b396EXAMPLE", "eventID": "1917948f-3042-46ec-98e2-62865EXAMPLE", "resources": [ { "ARN": "arn:aws:iam::111111111111:role/JohnRole2", "accountId": "111111111111", "type": "AWS::IAM::Role" } ], "eventType": "AwsApiCall", "recipientAccountId": "111111111111" }

Esempio AWS di AWS STS API evento di servizio nel file di registro CloudTrail

L'esempio seguente mostra una voce di CloudTrail registro per una richiesta effettuata da un AWS servizio che chiama un altro servizio API utilizzando le autorizzazioni di un ruolo di servizio. Mostra la voce di CloudTrail registro per la richiesta effettuata nell'account 777788889999.

{ "eventVersion": "1.04", "userIdentity": { "type": "AssumedRole", "principalId": "AROAQRSTUVWXYZEXAMPLE:devdsk", "arn": "arn:aws:sts::777788889999:assumed-role/AssumeNothing/devdsk", "accountId": "777788889999", "accessKeyId": "ASIAI44QH8DHBEXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2016-11-14T17:25:26Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROAQRSTUVWXYZEXAMPLE", "arn": "arn:aws:iam::777788889999:role/AssumeNothing", "accountId": "777788889999", "userName": "AssumeNothing" } } }, "eventTime": "2016-11-14T17:25:45Z", "eventSource": "s3.amazonaws.com", "eventName": "DeleteBucket", "awsRegion": "us-east-2", "sourceIPAddress": "192.0.2.1", "userAgent": "[aws-cli/1.11.10 Python/2.7.8 Linux/3.2.45-0.6.wd.865.49.315.metal1.x86_64 botocore/1.4.67]", "requestParameters": { "bucketName": "amzn-s3-demo-bucket" }, "responseElements": null, "requestID": "EXAMPLE463D56D4C", "eventID": "dEXAMPLE-265a-41e0-9352-4401bEXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "777788889999" }

SAML AWS STS APIEvento di esempio nel file di registro CloudTrail

L'esempio seguente mostra una voce di CloudTrail registro per una richiesta effettuata per l' AWS STS AssumeRoleWithSAMLazione. La richiesta include CostCenter gli SAML attributi Project che vengono passati attraverso l'SAMLasserzione come tag di sessione. Tali tag sono impostati come transitivi in modo da garantirne la persistenza negli scenari di concatenazione del ruolo. La richiesta include il API parametro opzionaleDurationSeconds, rappresentato durationSeconds nel CloudTrail registro, ed è impostata su 1800 secondi. La richiesta include anche l'SAMLattributosourceIdentity, che viene passato nell'SAMLasserzione. Se un utente utilizza le credenziali della sessione del ruolo risultante per assumere un altro ruolo, questa identità di origine persiste.

{ "eventVersion": "1.08", "userIdentity": { "type": "SAMLUser", "principalId": "SampleUkh1i4+ExamplexL/jEvs=:SamlExample", "userName": "SamlExample", "identityProvider": "bdGOnTesti4+ExamplexL/jEvs=" }, "eventTime": "2023-08-28T18:30:58Z", "eventSource": "sts.amazonaws.com", "eventName": "AssumeRoleWithSAML", "awsRegion": "us-east-2", "sourceIPAddress": "AWS Internal", "userAgent": "aws-internal/3 aws-sdk-java/1.12.479 Linux/5.10.186-157.751.amzn2int.x86_64 OpenJDK_64-Bit_Server_VM/17.0.7+11 java/17.0.7 kotlin/1.3.72 vendor/Amazon.com_Inc. cfg/retry-mode/standard", "requestParameters": { "sAMLAssertionID": "_c0046cEXAMPLEb9d4b8eEXAMPLE2619aEXAMPLE", "roleSessionName": "MyAssignedRoleSessionName", "sourceIdentity": "MySAMLUser", "principalTags": { "CostCenter": "987654", "Project": "Unicorn", "Department": "Engineering" }, "transitiveTagKeys": [ "CostCenter", "Project" ], "roleArn": "arn:aws:iam::444455556666:role/SAMLTestRoleShibboleth", "principalArn": "arn:aws:iam::444455556666:saml-provider/Shibboleth", "durationSeconds": 1800 }, "responseElements": { "credentials": { "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "sessionToken": "<encoded session token blob>", "expiration": "Aug 28, 2023, 7:00:58 PM" }, "assumedRoleUser": { "assumedRoleId": "AROAD35QRSTUVWEXAMPLE:MyAssignedRoleSessionName", "arn": "arn:aws:sts::444455556666:assumed-role/SAMLTestRoleShibboleth/MyAssignedRoleSessionName" }, "packedPolicySize": 1, "subject": "SamlExample", "subjectType": "transient", "issuer": "https://server.example.com/idp/shibboleth", "audience": "https://signin.aws.amazon.com/saml", "nameQualifier": "bdGOnTesti4+ExamplexL/jEvs=", "sourceIdentity": "MySAMLUser" }, "requestID": "6EXAMPLE-e595-11e5-b2c7-c974fEXAMPLE", "eventID": "dEXAMPLE-265a-41e0-9352-4401bEXAMPLE", "readOnly": true, "resources": [ { "accountId": "444455556666", "type": "AWS::IAM::Role", "ARN": "arn:aws:iam::444455556666:role/SAMLTestRoleShibboleth" }, { "accountId": "444455556666", "type": "AWS::IAM::SAMLProvider", "ARN": "arn:aws:iam::444455556666:saml-provider/test-saml-provider" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "444455556666", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.2", "cipherSuite": "ECDHE-RSA-AES128-GCM-SHA256", "clientProvidedHostHeader": "sts.us-east-2.amazonaws.com" } }

OIDC AWS STS APIEvento di esempio nel CloudTrail file di registro

L'esempio seguente mostra una voce di CloudTrail registro per una richiesta effettuata per l' AWS STS AssumeRoleWithWebIdentityazione. La richiesta include gli attributi CostCenterProject che vengono passati attraverso il token del provider di identità (IdPOIDC) OpenID Connect () come tag di sessione. Tali tag sono impostati come transitivi in modo da garantirne la persistenza negli scenari di concatenazione del ruolo. La richiesta include l'attributo sourceIdentity dal token del provider di identità. Se un utente utilizza le credenziali della sessione del ruolo risultante per assumere un altro ruolo, questa identità di origine persiste.

La voce di CloudTrail registro contiene anche un additionalEventData campo con un identityProviderConnectionVerificationMethod attributo. Questo attributo indica il metodo AWS utilizzato per verificare la connessione con il OIDC provider. Il valore dell'attributo sarà IAMTrustStore o Thumbprint. Il IAMTrustStore valore indica che la connessione con l'OIDCIdP è AWS stata verificata con successo utilizzando la nostra libreria di autorità di certificazione root affidabili ()CAs. Il Thumbprint valore indica che è stata AWS utilizzata un'impronta personale del certificato impostata nella configurazione IdP per verificare il certificato del server OIDC IdP.

{ "eventVersion": "1.08", "userIdentity": { "type": "WebIdentityUser", "principalId": "arn:aws:iam::444455556666:oidc-provider/<issuer url of OIDC provider>:<id of application>:<id of user>", "userName": "<id of user>", "identityProvider": "arn:aws:iam::444455556666:oidc-provider/<issuer url of OIDC provider>" }, "eventTime": "2024-07-09T15:41:37Z", "eventSource": "sts.amazonaws.com", "eventName": "AssumeRoleWithWebIdentity", "awsRegion": "us-east-2", "sourceIPAddress": "192.0.2.101", "userAgent": "aws-cli/2.13.29 Python/3.11.6 Windows/10 exe/AMD64 prompt/off command/sts.assume-role-with-web-identity", "requestParameters": { "roleArn": "arn:aws:iam::444455556666:role/FederatedWebIdentityRole", "roleSessionName": "<assigned role session name>", "sourceIdentity": "MyWebIdentityUser", "durationSeconds": 3600, "principalTags": { "CostCenter": "24680", "Project": "Pegasus" }, "transitiveTagKeys": [ "CostCenter", "Project" ] }, "responseElements": { "credentials": { "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "sessionToken": "<encoded session token blob>", "expiration": "Jul 9, 2024, 4:41:37 PM" }, "subjectFromWebIdentityToken": "<id of user>", "sourceIdentity": "MyWebIdentityUser", "assumedRoleUser": { "assumedRoleId": "AROA123456789EXAMPLE:<assigned role session name>", "arn": "arn:aws:sts::444455556666:assumed-role/FederatedWebIdentityRole/<assigned role session name>" }, "provider": "arn:aws:iam::444455556666:oidc-provider/<issuer url of OIDC provider>", "audience": "<id of application>" }, "additionalEventData": { "identityProviderConnectionVerificationMethod": "IAMTrustStore" }, "requestID": "aEXAMPLE-0b26-40df-8973-c7012EXAMPLE", "eventID": "aEXAMPLE-ee29-4ac0-a0ed-3f5c5EXAMPLE", "readOnly": true, "resources": [ { "accountId": "444455556666", "type": "AWS::IAM::Role", "ARN": "arn:aws:iam::444455556666:role/FederatedWebIdentityRole" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "444455556666", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_128_GCM_SHA256", "clientProvidedHostHeader": "sts.us-east-2.amazonaws.com" } }

Esempio di eventi di accesso nel log CloudTrail

CloudTrail i file di registro contengono eventi formattati utilizzando. JSON Un evento di accesso rappresenta una singola richiesta di accesso e include informazioni sul principale di accesso, la regione e la data e l'ora dell'operazione.

Esempio di evento di accesso riuscito in un file di log CloudTrail

L'esempio seguente mostra una voce di CloudTrail registro per un evento di accesso riuscito.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn":"arn:aws:iam::111122223333:user/JohnDoe", "accountId": "111122223333", "userName": "JohnDoe" }, "eventTime": "2014-07-16T15:49:27Z", "eventSource": "signin.amazonaws.com", "eventName": "ConsoleLogin", "awsRegion": "us-east-2", "sourceIPAddress": "192.0.2.110", "userAgent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0", "requestParameters": null, "responseElements": { "ConsoleLogin": "Success" }, "additionalEventData": { "MobileVersion": "No", "LoginTo": "https://console.aws.amazon.com/s3/", "MFAUsed": "No" }, "eventID": "3fcfb182-98f8-4744-bd45-10a395ab61cb" }

Per ulteriori dettagli sulle informazioni contenute nei file di CloudTrail registro, vedere CloudTrail Event Reference nella Guida per l'AWS CloudTrail utente.

Esempio di evento di accesso non riuscito in un file di log CloudTrail

L'esempio seguente mostra una voce di CloudTrail registro per un evento di accesso non riuscito.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn":"arn:aws:iam::111122223333:user/JaneDoe", "accountId": "111122223333", "userName": "JaneDoe" }, "eventTime": "2014-07-08T17:35:27Z", "eventSource": "signin.amazonaws.com", "eventName": "ConsoleLogin", "awsRegion": "us-east-2", "sourceIPAddress": "192.0.2.100", "userAgent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0", "errorMessage": "Failed authentication", "requestParameters": null, "responseElements": { "ConsoleLogin": "Failure" }, "additionalEventData": { "MobileVersion": "No", "LoginTo": "https://console.aws.amazon.com/sns", "MFAUsed": "No" }, "eventID": "11ea990b-4678-4bcd-8fbe-62509088b7cf" }

Da queste informazioni puoi determinare che il tentativo di accesso è stato effettuato da un utente IAM denominato JaneDoe, come indicato nell'elemento userIdentity. Puoi anche consultare che il tentativo di accesso non è riuscito, come indicato nell'elemento responseElements. Puoi vedere che JaneDoe ho provato ad accedere alla SNS console Amazon alle 17:35 (UTC) dell'8 luglio 2014.

Esempio di evento di accesso non riuscito a causa di un nome utente non corretto

L'esempio seguente mostra una voce di CloudTrail registro relativa a un evento di accesso non riuscito causato dall'immissione di un nome utente errato da parte dell'utente. AWS maschera il userName testo con lo scopo HIDDEN_DUE_TO_SECURITY_REASONS di impedire la divulgazione di informazioni potenzialmente sensibili.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "accountId": "123456789012", "accessKeyId": "", "userName": "HIDDEN_DUE_TO_SECURITY_REASONS" }, "eventTime": "2015-03-31T22:20:42Z", "eventSource": "signin.amazonaws.com", "eventName": "ConsoleLogin", "awsRegion": "us-east-2", "sourceIPAddress": "192.0.2.101", "userAgent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0", "errorMessage": "No username found in supplied account", "requestParameters": null, "responseElements": { "ConsoleLogin": "Failure" }, "additionalEventData": { "LoginTo": "https://console.aws.amazon.com/console/home?state=hashArgs%23&isauthcode=true", "MobileVersion": "No", "MFAUsed": "No" }, "eventID": "a7654656-0417-45c6-9386-ea8231385051", "eventType": "AwsConsoleSignin", "recipientAccountId": "123456789012" }

IAMruolo, fiducia, politica, comportamento

Il 21 settembre 2022, AWS ha apportato modifiche al comportamento delle politiche sulla fiducia nei IAM ruoli per richiedere espliciti consensi in un ruolo quando un ruolo si assume da solo. IAMi ruoli nella precedente lista dei comportamenti consentiti hanno un additionalEventData campo presente explicitTrustGrant per AssumeRole gli eventi. Il valore di explicitTrustGrant è false quando un ruolo nella precedente lista consentita si presume di utilizzare il comportamento precedente. Quando un ruolo nella precedente lista consentita assume se stesso ma il comportamento della policy di attendibilità dei ruoli è stato aggiornato per consentire esplicitamente al ruolo di assumere se stesso, il valore di explicitTrustGrant è true.

Solo un numero molto limitato di IAM ruoli è presente nell'elenco dei ruoli consentiti per il comportamento precedente e questo campo è presente nei CloudTrail log di questi ruoli solo quando assumono se stessi. Nella maggior parte dei casi, non è necessario che un IAM ruolo assuma se stesso. AWS consiglia di aggiornare i processi, il codice o le configurazioni per rimuovere questo comportamento o di aggiornare le politiche di fiducia dei ruoli per consentire esplicitamente questo comportamento. Per ulteriori informazioni, consulta Annuncio di un aggiornamento del comportamento delle politiche di fiducia nei IAM ruoli.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.