CloudTrail userIdentity elemento - 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 userIdentity elemento

AWS Identity and Access Management (IAM) fornisce diversi tipi di identità. L'userIdentityelemento contiene dettagli sul tipo di IAM identità che ha effettuato la richiesta e quali credenziali sono state 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'userIdentityelemento di una richiesta semplice effettuata con le credenziali dell'IAMutente 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 userIdentity elemento per una richiesta effettuata con credenziali di sicurezza temporanee ottenute assumendo un 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": { "sessionIssuer": { "type": "Role", "principalId": "AROAIDPPEZS35WEXAMPLE", "arn": "arn:aws:iam::123456789012:role/RoleToBeAssumed", "accountId": "123456789012", "userName": "RoleToBeAssumed" }, "attributes": { "mfaAuthenticated": "false", "creationDate": "20131102T010628Z" ) } }

userIdentityper una richiesta effettuata per conto di un utente dell'IAMIdentity Center

L'esempio seguente mostra un userIdentity elemento per una richiesta effettuata per conto di un utente di IAM Identity Center.

"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 IAM utente.

  • AssumedRole— La richiesta è stata effettuata con credenziali di sicurezza temporanee ottenute con un ruolo effettuando una chiamata a AWS Security Token Service ()AWS STS. AssumeRoleAPI Ciò può includere ruoli per Amazon EC2 e API accesso tra account.

  • Role— La richiesta è stata effettuata con un'IAMidentità persistente con autorizzazioni specifiche. L'emittente delle sessioni di ruolo è sempre il ruolo. Per ulteriori informazioni sui ruoli, consulta i termini e i concetti relativi ai ruoli nella Guida per l'IAMutente.

  • FederatedUser— La richiesta è stata effettuata con credenziali di sicurezza temporanee ottenute da una chiamata al AWS STS GetFederationTokenAPI. L'sessionIssuerelemento indica se API è stato chiamato con credenziali root o IAM utente.

    Per ulteriori informazioni sulle credenziali di sicurezza temporanee, vedere Credenziali di sicurezza temporanee nella Guida per l'IAMutente.

  • 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 assume un IAM ruolo nel tuo account per chiamare altre persone per tuo Servizi AWS conto.

  • IdentityCenterUser— La richiesta è stata effettuata per conto di un utente dell'IAMIdentity Center.

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

Optional: False

AWSAccounte AWSService compaiono type nei tuoi registri quando è disponibile un accesso tra più account utilizzando un IAM ruolo di tua proprietà.

Esempio: accesso multiaccount avviato da un altro account AWS
  1. Hai un IAM ruolo 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 IAM ruolo, ricevi un registro che mostra che l'altro account ha assunto il ruolo. Il valore del campo type è AWSAccount. Per un esempio di immissione nel registro, vedi AWS STS APIevento nel file di CloudTrail registro.

Esempio: accesso tra account diversi avviato da un servizio AWS
  1. Hai un IAM ruolo nel tuo account.

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

  3. Poiché sei il proprietario del IAM ruolo, ricevi un registro che mostra che il AWS servizio 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 Il nome utente dell'utente IAM

AssumedRole

Non presente Per il AssumedRole tipo, puoi trovare il userName campo in sessionContext come parte dell'sessionIssuerelemento. 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 onBehalfOf sezione contiene informazioni sull'ID utente e sull'IAMarchivio di identità dell'Identity Center ARN per cui è stata effettuata la chiamata. Per ulteriori informazioni su IAM Identity Center, consulta la Guida AWS IAM Identity Center per l'utente.
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 credenziali di sicurezza temporanee, questo valore include il nome della sessione passato alla chiamata AssumeRoleAssumeRoleWithWebIdentity, o. GetFederationToken API

Optional: True

arn

L'Amazon Resource Name (ARN) del principale 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 credenziali di sicurezza temporanee, si tratta dell'account che possiede l'IAMutente o il ruolo utilizzato per ottenere le credenziali.

Se la richiesta è stata effettuata con un token di accesso autorizzato di IAM Identity Center, questo è l'account proprietario dell'istanza di IAM Identity Center.

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. Si crea una sessione quando si chiama una sessione API che restituisce credenziali temporanee. Gli utenti creano anche sessioni quando lavorano nella console ed effettuano richieste APIs che includono l'autenticazione a più fattori. I seguenti attributi possono essere visualizzati insessionContext:

  • sessionIssuer— Se un utente effettua una richiesta con credenziali di sicurezza temporanee, sessionIssuer fornisce informazioni su come l'utente ha ottenuto le 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 ha ottenuto credenziali con credenziali root o IAM utente da chiamare AWS STS GetFederationToken, l'elemento fornisce informazioni sull'account o sull'utente root. 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, consulta Your Account AWS ID e relativo 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 Il 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 IAM utente 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'ARNorigine (account, IAM utente o ruolo) utilizzata per ottenere le credenziali di sicurezza temporanee.

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

  • webIdFederationData— Se la richiesta è stata effettuata con credenziali di sicurezza temporanee ottenute tramite Web Identity Federation, webIdFederationData elenca 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 indica che non ci sono informazioni sul provider di identità.

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

  • mfaAuthenticated— Il valore è true se l'utente root o l'IAMutente che ha utilizzato le proprie credenziali per la richiesta si è autenticato anche con un MFA dispositivo; in caso contrario,. false

  • sourceIdentity - Consulta AWS STS identità di origine in questo argomento. Il sourceIdentity campo si verifica negli eventi in cui gli utenti assumono un IAM ruolo per eseguire un'azione. sourceIdentityidentifica l'identità originale dell'utente che effettua la richiesta, indipendentemente dal fatto che l'identità dell'utente sia un IAM utente, un IAM ruolo, un utente autenticato tramite la federazione SAML basata su una federazione di identità web conforme a OpenID Connect OIDC (). Per ulteriori informazioni sulla configurazione per la raccolta delle informazioni sull'identità AWS STS 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 Amazon EC2 Instance Metadata Service versione 1 ()IMDSv1. Il valore è 2.0 se le credenziali sono state fornite utilizzando il nuovo schema. IMDS

    AWS le credenziali fornite da Amazon EC2 Instance Metadata Service (IMDS) includono una chiave di contesto ec2: RoleDelivery 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 IAM politiche, nelle politiche delle risorse o AWS Organizations nelle politiche di controllo dei servizi. Per ulteriori informazioni, consulta Metadati dell'istanza e dati utente nella Amazon EC2 User Guide.

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 diretto (FAS), Servizio AWS principals, ruoli collegati ai servizi o ruoli di servizio utilizzati da un. Servizio AWS

Optional: True

onBehalfOf

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

  • userId— L'ID dell'utente dell'IAMIdentity Center per il quale è stata effettuata la chiamata.

  • identityStoreArn— L'archivio ARN di IAM identità dell'Identity Center per cui è stata effettuata la chiamata per conto.

Optional: True

credentialId

L'ID delle credenziali per la richiesta. Viene impostato solo quando il chiamante utilizza un token al portatore, ad esempio un token di accesso autorizzato di IAM Identity Center.

Optional: True

Valori per AWS STS APIs with SAML e web identity federation

AWS CloudTrail supporta le API chiamate 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 verso la rete AssumeRoleWithSAMLAssumeRoleWithWebIdentityAPIs, CloudTrail registra la chiamata e invia l'evento al tuo bucket Amazon S3.

L'userIdentityelemento corrispondente APIs contiene i seguenti valori.

type

Tipo di identità.

  • SAMLUser— La richiesta è stata fatta con SAML asserzione.

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

  • PerchéSAMLUser, questa è la saml:namequalifier chiave per l'SAMLaffermazione.

  • 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 registri di come l'userIdentityelemento appare SAMLUser e i WebIdentityUser tipi, vedi Registrazione IAM e AWS STS API chiamate con. AWS CloudTrail

AWS STS identità di origine

Un IAM amministratore 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 sourceIdentity campo si verifica negli eventi in cui gli utenti assumono un IAM ruolo o eseguono azioni con il ruolo assunto.

Il sourceIdentity campo identifica l'identità originale dell'utente che effettua la richiesta, indipendentemente dal fatto che l'identità dell'IAMutente sia un utente, un IAM ruolo, un utente autenticato utilizzando la federazione SAML basata sulla federazione di identità web conforme a OpenID Connect OIDC (). Dopo la configurazione, l'IAMamministratore CloudTrail registra le sourceIdentity informazioni nei AWS STS 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.

  • Il AWS servizio effettua API le chiamate effettuate dall'identità dell'utente assumendo un ruolo e utilizzando le credenziali temporanee assegnate da. AWS STS Negli API eventi di servizio, sourceIdentity si trova nel sessionContext blocco. 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 AWS STS la raccolta delle informazioni sull'identità di origine, consulta Monitoraggio e controllo delle azioni intraprese con i ruoli assunti nella Guida per l'IAMutente. Per ulteriori informazioni sugli AWS STS eventi registrati CloudTrail, vedere Registrazione IAM e AWS STS API chiamate con AWS CloudTrail nella Guida per l'IAMutente.

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

Sezione di esempio requestParameters

Nel frammento di evento di esempio seguente, 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, il nome della sessione e la sessione assunti ARN vengono visualizzati nel responseElements blocco, 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 servizio. AWS API L'utente imposta un'identità di origine, qui rappresentata da source-identity-value-set. Il sourceIdentity campo si trova nel sessionContext blocco, all'interno del userIdentity blocco dell'evento.

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