CloudTrail elemento userIdentity - AWS CloudTrail

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à.

CloudTrail elemento userIdentity

AWS Identity and Access Management (IAM) fornisce diversi tipi di identità. L'elemento userIdentity include dettagli sul tipo di identità IAM che ha effettuato la richiesta e sulle credenziali utilizzate. Se sono state utilizzate credenziali temporanee, l'elemento mostra il modo in cui tali credenziali sono state ottenute.

Esempi

userIdentity con credenziali utente IAM

L'esempio seguente mostra l'elemento userIdentity di una semplice richiesta effettuata con le credenziali dell'utente IAM denominato Alice.

"userIdentity": { "type": "IAMUser", "principalId": "AIDAJ45Q7YFFAREXAMPLE", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "", "userName": "Alice" }

userIdentity con credenziali di sicurezza temporanee

L'esempio seguente mostra un elemento userIdentity per una richiesta effettuata con le credenziali di sicurezza temporanee ottenute mediante l'assunzione del ruolo IAM. L'elemento contiene ulteriori dettagli sul ruolo assunto per ottenere le credenziali.

"userIdentity": { "type": "AssumedRole", "principalId": "AROAIDPPEZS35WEXAMPLE:AssumedRoleSessionName", "arn": "arn:aws:sts::123456789012:assumed-role/RoleToBeAssumed/MySessionName", "accountId": "123456789012", "accessKeyId": "", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "20131102T010628Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROAIDPPEZS35WEXAMPLE", "arn": "arn:aws:iam::123456789012:role/RoleToBeAssumed", "accountId": "123456789012", "userName": "RoleToBeAssumed" } } }

userIdentity per una richiesta effettuata per conto di un utente del Centro identità IAM

L'esempio seguente mostra un elemento userIdentity per una richiesta effettuata per conto di un utente del Centro identità IAM.

"userIdentity": { "type": "IdentityCenterUser", "accountId": "123456789012", "onBehalfOf": { "userId": "544894e8-80c1-707f-60e3-3ba6510dfac1", "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9067642ac7" }, "credentialId": "EXAMPLEVHULjJdTUdPJfofVa1sufHDoj7aYcOYcxFVllWR_Whr1fEXAMPLE" }

Campi

In un elemento userIdentity possono essere visualizzati i seguenti campi.

type

Tipo dell'identità. I valori possibili sono i seguenti:

  • Root— La richiesta è stata effettuata con Account AWS le tue credenziali. Se il tipo di userIdentity è Root e imposti un alias per il tuo account, il campo userName conterrà l'alias del tuo account. Per ulteriori informazioni, consulta ID account Account AWS e relativo alias.

  • IAMUser – La richiesta è stata effettuata con le credenziali di un utente IAM.

  • AssumedRole – La richiesta è stata effettuata con le credenziali di sicurezza temporanee ottenute con un ruolo tramite una chiamata all'API AWS Security Token Service (AWS STS)AssumeRole. Può includere i ruoli per Amazon EC2 e l'accesso tra più account all'API.

  • Role – La richiesta è stata effettuata con un'identità IAM persistente che dispone delle autorizzazioni specifiche. L'emittente delle sessioni di ruolo è sempre il ruolo. Per ulteriori informazioni sui ruoli consulta Termini e concetti dei ruoli nella Guida per l'utente IAM.

  • FederatedUser— La richiesta è stata effettuata con credenziali di sicurezza temporanee ottenute da una chiamata all' AWS STS GetFederationTokenAPI. L'elemento sessionIssuer indica se l'API è stata chiamata con le credenziali dell'utente root o con quelle dell'utente IAM.

    Per ulteriori informazioni sulle credenziali di sicurezza temporanee, consulta la sezione relativa alle credenziali di sicurezza temporanee nella Guida per l'utente IAM.

  • Directory - La richiesta è stata effettuata a un servizio directory e il tipo è sconosciuto. I servizi di directory includono: Amazon WorkDocs e Amazon QuickSight.

  • AWSAccount— La richiesta è stata fatta da un altro Account AWS

  • AWSService— La richiesta è stata fatta da un Account AWS uomo che appartiene a un Servizio AWS. Ad esempio, AWS Elastic Beanstalk presuppone un ruolo IAM nel tuo account per chiamare altre persone per tuo Servizi AWS conto.

  • IdentityCenterUser: la richiesta è stata effettuata per conto di un utente del Centro identità IAM

  • Unknown— La richiesta è stata effettuata con un tipo di identità che non è CloudTrail possibile determinare.

Optional: False

Vengono visualizzati i valori AWSAccount e AWSService nel campo type dei log in caso di accesso tra più account tramite un ruolo IAM di tua proprietà.

Esempio: accesso multiaccount avviato da un altro account AWS
  1. Tu sei il proprietario di un ruolo IAM nel tuo account.

  2. Un altro AWS account passa a quel ruolo per assumere il ruolo del tuo account.

  3. Poiché sei il proprietario del ruolo IAM, riceverai un log che mostra l'altro account che ha assunto il ruolo. Il valore del campo type è AWSAccount. Per un esempio di immissione di registro, consulta AWS STS l'evento API nel file di CloudTrail registro.

Esempio: accesso tra account diversi avviato da un servizio AWS
  1. Tu sei il proprietario di un ruolo IAM nel tuo account.

  2. Un AWS account di proprietà di un AWS servizio assume tale ruolo.

  3. Poiché sei il proprietario del ruolo IAM, riceverai un log che mostra il servizio AWS che ha assunto il ruolo. Il valore del campo type è AWSService.

userName

Nome descrittivo dell'identità che ha effettuato la chiamata. Il valore visualizzato nel campo userName si basa sul valore di type. La tabella seguente mostra la relazione tra type e userName:

type userName Descrizione
Root (nessun alias impostato) Non presente Se non hai impostato un alias per il tuo Account AWS, il userName campo non viene visualizzato. Per ulteriori informazioni sugli alias degli account, vedi Il tuo Account AWS ID e il suo alias. Il campo userName non può contenere Root perché Root è un tipo di identità e non un nome utente.
Root (alias impostato) Alias dell'account Per ulteriori informazioni sugli Account AWS alias, vedi Il tuo Account AWS ID e il suo alias.
IAMUser Nome utente dell'utente IAM

AssumedRole

Non presente Per il tipo AssumedRole potrai trovare il campo userName in sessionContext, all'interno dell'elemento sessionIssuer. Per una voce di esempio, consulta Esempi.

Role

Definito dall'utente Le sezioni sessionContext e sessionIssuer contengono informazioni sull'identità che ha creato la sessione per il ruolo.
FederatedUser Non presente Le sezioni sessionContext e sessionIssuer contengono informazioni sull'identità che ha creato la sessione per l'utente federato.
Directory Può essere presente Ad esempio, il valore può essere l'alias dell'account o l'indirizzo e-mail dell'ID account Account AWS associato.
AWSService Non presente
AWSAccount Non presente
IdentityCenterUser Non presente La sezione onBehalfOf contiene informazioni sull'ID utente del Centro identità IAM e sull'ARN dell'archivio di identità per cui è stata effettuata la chiamata. Per ulteriori informazioni su IAM Identity Center, consulta la Guida per l'utente AWS IAM Identity Center .
Unknown Può essere presente Ad esempio, il valore può essere l'alias dell'account o l'indirizzo e-mail dell'ID account Account AWS associato.
Nota

Il campo userName contiene la stringa HIDDEN_DUE_TO_SECURITY_REASONS quando l'evento registrato corrisponde a un errore di accesso alla console causato dall'immissione errata del nome utente. CloudTrail in questo caso non registra il contenuto perché il testo potrebbe contenere informazioni riservate, come negli esempi seguenti:

  • Un utente ha immesso accidentalmente una password nel campo del nome utente.

  • Un utente fa clic sul collegamento della pagina di accesso di un AWS account, ma poi digita il numero di account per un altro account.

  • Un utente immette accidentalmente il nome account di un account e-mail personale, un identificatore di accesso alla banca o a un altro ID privato.

Optional: True

principalId

Identificatore univoco per l'entità che ha effettuato la chiamata. Per le richieste effettuate con le credenziali di sicurezza temporanee, questo valore include il nome di sessione passato alla chiamata API AssumeRole, AssumeRoleWithWebIdentityo GetFederationToken.

Optional: True

arn

ARN (Amazon Resource Name) dell'entità che ha effettuato la chiamata. L'ultima sezione dell'ARN contiene l'utente o il ruolo che ha effettuato la chiamata.

Optional: True

accountId

Account che possiede l'entità che ha concesso le autorizzazioni per la richiesta. Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee, corrisponde all'account proprietario dell'utente o del ruolo IAM utilizzato per ottenere le credenziali.

Se la richiesta è stata effettuata con un token di accesso autorizzato del Centro identità IAM, questo è l'account proprietario dell'istanza del Centro identità IAM.

Optional: True

accessKeyId

ID della chiave di accesso utilizzata per firmare la richiesta. Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee, corrisponde all'ID della chiave di accesso delle credenziali temporanee. Per motivi di sicurezza, accessKeyId potrebbe non essere presente o potrebbe essere visualizzato come una stringa vuota.

Optional: True

sessionContext

Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee, sessionContext fornisce informazioni sulla sessione creata per tali credenziali. Le sessioni vengono create quando viene chiamata una qualsiasi API che restituisce le credenziali temporanee. Gli utenti creano le sessioni anche quando utilizzano la console e effettuano una richiesta con le API che includono l'autenticazione a più fattori (MFA). Questo elemento ha i seguenti attributi:

  • creationDate - La data e l'ora in cui le credenziali di sicurezza temporanee sono state generate. Valore rappresentato nella notazione di base ISO 8601.

  • mfaAuthenticated: il valore è true se anche l'utente root o l'utente IAM le cui credenziali sono state utilizzate per la richiesta è stato autenticato con un dispositivo MFA. In caso contrario, il valore è false.

  • sourceIdentity - Consulta AWS STS identità di origine in questo argomento. Il campo sourceIdentity è presente negli eventi in cui gli utenti assumono un ruolo IAM per eseguire un'azione. sourceIdentity identifica l'identità dell'utente originale che effettua la richiesta, indipendentemente dal fatto che l'identità dell'utente sia un utente IAM, un ruolo IAM, un utente autenticato utilizzando la federazione basata su SAML o un utente autenticato utilizzando la federazione delle identità Web compatibile con OpenID Connect (OIDC). Per ulteriori informazioni sulla configurazione AWS STS per la raccolta delle informazioni sull'identità di origine, consulta Monitoraggio e controllo delle azioni intraprese con i ruoli assunti nella Guida per l'utente IAM.

  • ec2RoleDelivery: il valore è 1.0 se le credenziali sono state fornite da Instance Metadata Service versione 1 (IMDSv1) di Amazon EC2. Il valore è 2.0 se le credenziali sono state fornite utilizzando il nuovo schema di IMDS.

    AWS le credenziali fornite da Amazon EC2 Instance Metadata Service (IMDS) includono una chiave di contesto RoleDelivery ec2: IAM. Questa chiave di contesto semplifica l'applicazione del nuovo schema su resource-by-resource base service-by-service OR utilizzando la chiave di contesto come condizione nelle politiche IAM, nelle politiche delle risorse o nelle politiche di controllo dei servizi. AWS Organizations Per ulteriori informazioni, consulta Metadati dell'istanza e dati utente nella Guida per l'utente di Amazon EC2 per le istanze Linux.

Optional: True

invokedBy

Il nome di chi Servizio AWS ha effettuato la richiesta, quando una richiesta viene effettuata da un soggetto Servizio AWS come Amazon EC2 Auto Scaling o. AWS Elastic Beanstalk Questo campo è presente solo quando una richiesta viene effettuata da un. Servizio AWS Ciò include le richieste effettuate dai servizi che utilizzano sessioni di accesso inoltrato (FAS), Servizio AWS principali, ruoli collegati ai servizi o ruoli di servizio utilizzati da un. Servizio AWS

Optional: True

sessionIssuer

Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee, sessionIssuer fornisce informazioni su come l'utente ha ottenuto tali credenziali. Ad esempio, se le credenziali di sicurezza temporanee sono state ottenute mediante l'assunzione di un ruolo, questo elemento fornisce informazioni sul ruolo assunto. Se le credenziali sono state ottenute con credenziali root o dell'utente IAM per effettuare la chiamata a AWS STS GetFederationToken, l'elemento fornisce informazioni sull'account root o sull'utente IAM. Questo elemento ha i seguenti attributi:

  • type - L'origine delle credenziali di sicurezza temporanee, ad esempio Root,IAMUser o Role.

  • userName - Il nome descrittivo dell'utente o del ruolo che ha creato la sessione. Il valore visualizzato dipende dal valore dell'identità sessionIssuer type. La tabella seguente mostra la relazione tra sessionIssuer type e userName:

    sessionIssuer tipo userName Descrizione
    Root (nessun alias impostato) Non presente Se non hai configurato un alias per il tuo account, il campo userName non viene visualizzato. Per ulteriori informazioni sugli Account AWS alias, vedi Il tuo Account AWS ID e il suo alias. Il campo userName non può contenere Root perché Root è un tipo di identità e non un nome utente.
    Root (alias impostato) Alias dell'account Per ulteriori informazioni sugli Account AWS alias, vedi L'ID AWS dell'account e il relativo alias.
    IAMUser Nome utente dell'utente IAM Valido anche quando un utente federato utilizza una sessione creata da IAMUser.
    Role Nome del ruolo Un ruolo assunto da un utente IAM o da un utente federato con identità web in una sessione di ruolo. Servizio AWS
  • principalId: l'ID interno dell'entità utilizzata per ottenere le credenziali.

  • arn - L'ARN dell'origine (account, utente IAM o ruolo) utilizzata per ottenere le credenziali di sicurezza temporanee.

  • accountId - L'account proprietario dell'entità utilizzata per ottenere le credenziali.

Optional: True

onBehalfOf

Se la richiesta è stata effettuata da un chiamante del Centro identità IAM, onBehalfOf fornisce informazioni sull'ID utente del Centro identità IAM e sull'ARN dell'archivio di identità per cui è stata effettuata la chiamata. Questo elemento ha i seguenti attributi:

  • userId: l'ID dell'utente del Centro identità IAM per cui è stata effettuata la chiamata.

  • identityStoreArn: l'ARN dell'archivio di identità del Centro identità IAM per cui è stata effettuata la chiamata.

Optional: True

credentialId

L'ID delle credenziali per la richiesta. Viene impostato solo quando il chiamante utilizza un token portante, ad esempio un token di accesso autorizzato dal Centro identità IAM.

Optional: True

webIdFederationData

Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee ottenute da una federazione di identità Web, webIdFederationData fornisce le informazioni sul provider di identità.

Questo elemento ha i seguenti attributi:

  • federatedProvider - Il nome entità del provider di identità (ad esempio, www.amazon.com per Login with Amazon o accounts.google.com per Google).

  • attributes - L'ID applicazione e l'ID utente forniti dal provider (ad esempio, www.amazon.com:app_id e www.amazon.com:user_id per Login with Amazon).

Nota

L'omissione di questo campo o la presenza di questo campo con un valore vuoto significa che non ci sono informazioni sul provider di identità.

Optional: True

Valori per le AWS STS API con SAML e federazione delle identità web

AWS CloudTrail supporta le chiamate API logging AWS Security Token Service (AWS STS) effettuate con Security Assertion Markup Language (SAML) e la federazione delle identità web. Quando un utente effettua una chiamata alle AssumeRoleWithWebIdentityAPI AssumeRoleWithSAMLand, CloudTrail registra la chiamata e invia l'evento al tuo bucket Amazon S3.

L'elemento userIdentity per queste API contiene i seguenti valori.

type

Tipo di identità.

  • SAMLUser - La richiesta è stata effettuata con un'asserzione SAML.

  • WebIdentityUser - La richiesta è stata effettuata da un provider di federazioni di identità Web.

principalId

Identificatore univoco per l'entità che ha effettuato la chiamata.

  • Per SAMLUser, corrisponde a una combinazione delle chiavi saml:namequalifier e saml:sub.

  • Per WebIdentityUser, corrisponde a una combinazione di approvatore, ID applicazione e ID utente.

userName

Nome dell'identità che ha effettuato la chiamata.

  • Per SAMLUser, corrisponde alla chiave saml:sub.

  • Per WebIdentityUser, corrisponde all'ID utente.

identityProvider

Nome entità del provider di identità esterne. Questo campo viene visualizzato solo per i tipi SAMLUser o WebIdentityUser.

  • Per SAMLUser, corrisponde alla chiave saml:namequalifier per l'asserzione SAML.

  • Per WebIdentityUser, corrisponde al nome approvatore del provider di federazioni di identità Web. Può essere un provider che hai configurato, ad esempio:

    • cognito-identity.amazon.com per Amazon Cognito

    • www.amazon.com per Login with Amazon

    • accounts.google.com per Google

    • graph.facebook.com per Facebook

Di seguito è illustrato un elemento userIdentity di esempio per l'operazione AssumeRoleWithWebIdentity.

"userIdentity": { "type": "WebIdentityUser", "principalId": "accounts.google.com:application-id.apps.googleusercontent.com:user-id", "userName": "user-id", "identityProvider": "accounts.google.com" }

Ad esempio, i log relativi alla modalità di visualizzazione e ai WebIdentityUser tipi di userIdentity elemento, consulta Registrazione delle chiamate IAM SAMLUser e API con. AWS STS AWS CloudTrail

AWS STS identità di origine

Un amministratore IAM può configurare la configurazione AWS Security Token Service in modo da richiedere agli utenti di specificare la propria identità quando utilizzano credenziali temporanee per assumere ruoli. Il campo sourceIdentity è presente negli eventi in cui gli utenti assumono un ruolo IAM o eseguono azioni con il ruolo assunto.

Il campo sourceIdentity identifica l'identità dell'utente originale che effettua la richiesta, indipendentemente dal fatto che l'identità dell'utente sia un utente IAM, un ruolo IAM, un utente autenticato utilizzando la federazione basata su SAML o un utente autenticato utilizzando la federazione delle identità Web compatibile con OpenID Connect (OIDC). Dopo la configurazione AWS STS, l'amministratore IAM CloudTrail registra sourceIdentity le informazioni nei seguenti eventi e luoghi all'interno del record dell'evento:

  • Le AssumeRoleWithWebIdentity chiamate AWS STS AssumeRoleAssumeRoleWithSAML, o eseguite da un'identità utente quando assume un ruolo. sourceIdentitysi trova nel requestParameters blocco delle AWS STS chiamate.

  • Le AssumeRoleWithWebIdentity chiamate AWS STS AssumeRoleAssumeRoleWithSAML, or eseguite da un'identità utente se utilizza un ruolo per assumere un altro ruolo, noto come concatenamento dei ruoli. sourceIdentitysi trova nel requestParameters blocco delle AWS STS chiamate.

  • L'API AWS di servizio effettua le chiamate effettuate dall'identità dell'utente assumendo un ruolo e utilizzando le credenziali temporanee assegnate da. AWS STS Negli eventi API di servizio, sourceIdentity è presente nel blocco sessionContext. Ad esempio, se un'identità utente crea un nuovo bucket S3, sourceIdentity si verifica nel blocco sessionContext dell'evento CreateBucket.

Per ulteriori informazioni su come configurare la raccolta di informazioni sull'identità AWS STS di origine, consulta Monitorare e controllare le azioni intraprese con i ruoli assunti nella Guida per l'utente IAM. Per ulteriori informazioni sugli AWS STS eventi registrati CloudTrail, consulta Logging IAM and AWS STS API call with AWS CloudTrail the IAM User Guide.

Di seguito sono riportati frammenti di esempio di eventi che mostrano il campo sourceIdentity.

Sezione di esempio requestParameters

Nel seguente esempio di frammento di evento, un utente effettua una AWS STS AssumeRole richiesta e imposta un'identità di origine, qui rappresentata da. source-identity-value-set L'utente assume un ruolo rappresentato dal ruolo ARN arn:aws:iam::123456789012:role/Assumed_Role. Il campo sourceIdentity è presente nel blocco requestParameters dell'evento.

"eventVersion": "1.05", "userIdentity": { "type": "AWSAccount", "principalId": "AIDAJ45Q7YFFAREXAMPLE", "accountId": "123456789012" }, "eventTime": "2020-04-02T18:20:53Z", "eventSource": "sts.amazonaws.com", "eventName": "AssumeRole", "awsRegion": "us-east-1", "sourceIPAddress": "203.0.113.64", "userAgent": "aws-cli/1.16.96 Python/3.6.0 Windows/10 botocore/1.12.86", "requestParameters": { "roleArn": "arn:aws:iam::123456789012:role/Assumed_Role", "roleSessionName": "Test1", "sourceIdentity": "source-identity-value-set", },

Sezione di esempio responseElements

Nel frammento di evento di esempio seguente, un utente AWS STS AssumeRole richiede di assumere un ruolo denominato e imposta un'identità di origineDeveloper_Role,. Admin L'utente assume un ruolo rappresentato dal ruolo ARN arn:aws:iam::111122223333:role/Developer_Role. Il campo sourceIdentity è presente nel blocco requestParameters e responseElements dell'evento. Le credenziali temporanee utilizzate per assumere il ruolo, la stringa del token di sessione e l'ID del ruolo assunto, il nome della sessione e l'ARN della sessione sono mostrati nel blocco responseElements, insieme all'identità di origine.

"requestParameters": { "roleArn": "arn:aws:iam::111122223333:role/Developer_Role", "roleSessionName": "Session_Name", "sourceIdentity": "Admin" }, "responseElements": { "credentials": { "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "expiration": "Jan 22, 2021 12:46:28 AM", "sessionToken": "XXYYaz... EXAMPLE_SESSION_TOKEN XXyYaZAz" }, "assumedRoleUser": { "assumedRoleId": "AROACKCEVSQ6C2EXAMPLE:Session_Name", "arn": "arn:aws:sts::111122223333:assumed-role/Developer_Role/Session_Name" }, "sourceIdentity": "Admin" } ...

Sezione di esempio sessionContext

Nel frammento di evento di esempio seguente, un utente assume un ruolo denominato DevRole per chiamare un'API di servizio. AWS L'utente imposta un'identità di origine, qui rappresentata da. source-identity-value-set Il campo sourceIdentity è presente nel blocco sessionContext dell'evento userIdentity.

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAJ45Q7YFFAREXAMPLE: Dev1", "arn": "arn: aws: sts: : 123456789012: assumed-role/DevRole/Dev1", "accountId": "123456789012", "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAJ45Q7YFFAREXAMPLE", "arn": "arn: aws: iam: : 123456789012: role/DevRole", "accountId": "123456789012", "userName": "DevRole" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-02-21T23: 46: 28Z" }, "sourceIdentity": "source-identity-value-set" } } }