Visualizzazione degli eventi CloudTrail con la AWS CLI - AWS CloudTrail

Visualizzazione degli eventi CloudTrail con la AWS CLI

Importante

A partire dal 22 novembre 2021, AWS CloudTrail cambierà il modo in cui è possibile utilizzare i percorsi per catturare eventi di servizio globali. Dopo la modifica, gli eventi creati da CloudFront, IAM e AWS STS saranno registrati nella regione in cui sono stati creati, ovvero la regione Stati Uniti orientali (Virginia settentrionale) us-east-1. Ciò rende il trattamento di questi servizi da parte di CloudTrail coerente con quello di altri servizi globali AWS.

Per continuare a ricevere eventi di assistenza globale al di fuori della regione Stati Uniti orientali (Virginia settentrionale), assicurati di convertire i percorsi a regione singola che utilizzano eventi di assistenza globale al di fuori di Stati Uniti orientali (Virginia settentrionale) in percorsi multiregione. Aggiorna anche la regione delle chiamate API lookup-events. Per ulteriori informazioni sull'aggiornamento degli eventi di ricerca, incluso un comando CLI di esempio, consulta Ricerca di eventi in base a un attributo più avanti in questa sezione.

Puoi cercare gli eventi CloudTrail relativi agli ultimi 90 giorni utilizzando il comando aws cloudtrail lookup-events. Il comando lookup-events ha le seguenti opzioni:

  • --max-results

  • --start-time

  • --lookup-attributes

  • --next-token

  • --generate-cli-skeleton

  • --cli-input-json

Queste opzioni vengono spiegate in questo argomento. Per informazioni generali sull'utilizzo di AWS Command Line Interface, consulta la Guida per l'utente di AWS Command Line Interface.

Prerequisiti

  • Per eseguire comandi di AWS CLI, devi installare AWS CLI. Per ulteriori informazioni, consulta Installazione di AWS Command Line Interface.

  • Assicurati che la versione della AWS CLI sia successiva a 1.6.6. Per verificare la versione della CLI, esegui aws --version nella riga di comando.

  • Per impostare l'account, la regione e il formato di output di default per una sessione dell'AWS CLI, utilizza il comando aws configure. Per ulteriori informazioni, consulta Configurazione di AWS Command Line Interface.

Nota

I comandi della AWS CLI di CloudTrail fanno distinzione tra lettere maiuscole e minuscole.

Visualizzazione delle informazioni di aiuto della riga di comando

Per visualizzare le informazioni di aiuto della riga di comando per lookup-events, digita il comando seguente:

aws cloudtrail lookup-events help

Ricerca di eventi

Per visualizzare i dieci eventi più recenti, digita il comando seguente:

aws cloudtrail lookup-events

Un evento restituito è simile al seguente esempio fittizio, che è stato formattato per agevolarne la lettura:

{ "NextToken": "kbOt5LlZe++mErCebpy2TgaMgmDvF1kYGFcH64JSjIbZFjsuvrSqg66b5YGssKutDYIyII4lrP4IDbeQdiObkp9YAlju3oXd12juy3CIZW8=", "Events": [ { "EventId": "0ebbaee4-6e67-431d-8225-ba0d81df5972", "Username": "root", "EventTime": 1424476529.0, "CloudTrailEvent": "{ \"eventVersion\":\"1.02\", \"userIdentity\":{ \"type\":\"Root\", \"principalId\":\"111122223333\", \"arn\":\"arn:aws:iam::111122223333:root\", \"accountId\":\"111122223333\"}, \"eventTime\":\"2015-02-20T23:55:29Z\", \"eventSource\":\"signin.amazonaws.com\", \"eventName\":\"ConsoleLogin\", \"awsRegion\":\"us-east-2\", \"sourceIPAddress\":\"203.0.113.4\", \"userAgent\":\"Mozilla/5.0\", \"requestParameters\":null, \"responseElements\":{\"ConsoleLogin\":\"Success\"}, \"additionalEventData\":{ \"MobileVersion\":\"No\", \"LoginTo\":\"https://console.aws.amazon.com/console/home", \"MFAUsed\":\"No\"}, \"eventID\":\"0ebbaee4-6e67-431d-8225-ba0d81df5972\", \"eventType\":\"AwsApiCall\", \"recipientAccountId\":\"111122223333\"}", "EventName": "ConsoleLogin", "Resources": [] } ] }

Per una spiegazione dei campi correlati alla ricerca nell'output, vedere la sezione Campi di output della ricerca più avanti in questo documento. Per una spiegazione dei campi nell'evento CloudTrail, consulta Contenuti dei record di CloudTrail.

Specifica del numero di eventi da restituire

Per specificare il numero di eventi da restituire, digita il comando seguente:

aws cloudtrail lookup-events --max-results <integer>

Il valore predefinito per <integer> è 10. I valori possibili sono da 1 a 50. L'esempio seguente restituisce un risultato.

aws cloudtrail lookup-events --max-results 1

Ricerca di eventi in base a un intervallo di tempo

Gli eventi negli ultimi 90 giorni sono disponibili per la ricerca. Per specificare un intervallo di tempo, digita il comando seguente:

aws cloudtrail lookup-events --start-time <timestamp> --end-time <timestamp>

--start-time <timestamp> specifica che vengano restituiti solo gli eventi che si sono verificati in corrispondenza o dopo l'intervallo di tempo specificato. Se l'ora di inizio specificata è successiva all'ora di fine specificata, viene restituito un errore.

--end-time <timestamp> specifica che vengano restituiti solo gli eventi che si sono verificati in corrispondenza o prima dell'intervallo di tempo specificato. Se l'ora di fine specificata è anteriore all'ora di inizio specificata, viene restituito un errore.

L'ora di inizio di default è la prima data in cui i dati sono disponibili negli ultimi 90 giorni. L'ora di fine di default è invece l'ora dell'evento che si è verificato più in vicinanza dell'ora corrente.

Formati validi per <timestamp>

Gli attributi --start-time e --end-time accettano valori orari UNIX o valori equivalenti validi.

Di seguito vengono illustrati alcuni esempi di formati validi. I valori di data, mese e anno possono essere separati mediante trattini o barre. Le doppie virgolette devono essere utilizzate se sono presenti spazi.

1422317782 1422317782.0 01-27-2015 01-27-2015,01:16PM "01-27-2015, 01:16 PM" "01/27/2015, 13:16" 2015-01-27 "2015-01-27, 01:16 PM"

Ricerca di eventi in base a un attributo

Per filtrare in base a un attributo, digita il comando seguente:

aws cloudtrail lookup-events --lookup-attributes AttributeKey=<attribute>,AttributeValue=<string>

Puoi specificare solo una coppia chiave/valore attributo per ogni comando lookup-events. Di seguito sono riportati i valori per AttributeKey. I nomi dei valori fanno distinzione tra lettere maiuscole e minuscole.

  • AccessKeyId

  • EventId

  • EventName

  • EventSource

  • ReadOnly

  • ResourceName

  • ResourceType

  • Username

Esempi di ricerca in base a un attributo

Il comando di esempio seguente restituisce gli eventi nella regione Stati Uniti orientali (Virginia settentrionale), us-east-1, e consente di visualizzare gli eventi di accesso alla console. Sostituisci ConsoleLogin con il valore relativo alla tua configurazione.

aws cloudtrail --region us-east-1 lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=ConsoleLogin

Il comando di esempio seguente restituisce gli eventi in cui il valore di AccessKeyId è AKIAIOSFODNN7EXAMPLE.

aws cloudtrail lookup-events --lookup-attributes AttributeKey=AccessKeyId,AttributeValue=AKIAIOSFODNN7EXAMPLE

Il comando di esempio seguente restituisce l'evento per il valore EventId CloudTrail specificato.

aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventId,AttributeValue=b5cc8c40-12ba-4d08-a8d9-2bceb9a3e002

Il comando di esempio seguente restituisce gli eventi in cui il valore di EventName è RunInstances.

aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=RunInstances

Il comando di esempio seguente restituisce gli eventi in cui il valore di EventSource è iam.amazonaws.com.

aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventSource,AttributeValue=iam.amazonaws.com

Il comando di esempio seguente restituisce gli eventi di scrittura. Esclude gli eventi di lettura, ad esempio GetBucketLocation e DescribeStream.

aws cloudtrail lookup-events --lookup-attributes AttributeKey=ReadOnly,AttributeValue=false

Il comando di esempio seguente restituisce gli eventi in cui il valore di ResourceName è CloudTrail_CloudWatchLogs_Role.

aws cloudtrail lookup-events --lookup-attributes AttributeKey=ResourceName,AttributeValue=CloudTrail_CloudWatchLogs_Role

Il comando di esempio seguente restituisce gli eventi in cui il valore di ResourceType è AWS::S3::Bucket.

aws cloudtrail lookup-events --lookup-attributes AttributeKey=ResourceType,AttributeValue=AWS::S3::Bucket

Il comando di esempio seguente restituisce gli eventi in cui il valore di Username è root.

aws cloudtrail lookup-events --lookup-attributes AttributeKey=Username,AttributeValue=root

Specifica della pagina di risultati successiva

Per visualizzare la pagina di risultati successiva mediante un comando lookup-events, digita il comando seguente:

aws cloudtrail lookup-events <same parameters as previous command> --next-token=<token>

dove il valore di <token> viene acquisito dal primo campo dell'output del comando precedente.

Quando utilizzi --next-token in un comando, devi utilizzare gli stessi parametri usati nel comando precedente. Ad esempio, supponiamo che tu abbia eseguito il seguente configurazione:

aws cloudtrail lookup-events --lookup-attributes AttributeKey=Username,AttributeValue=root

Per visualizzare la pagina di risultati successiva, il comando successivo avrà il formato seguente:

aws cloudtrail lookup-events --lookup-attributes AttributeKey=Username,AttributeValue=root --next-token=kbOt5LlZe++mErCebpy2TgaMgmDvF1kYGFcH64JSjIbZFjsuvrSqg66b5YGssKutDYIyII4lrP4IDbeQdiObkp9YAlju3oXd12juy3CIZW8=

Recupero dell'input JSON da un file

L'AWS CLI per alcuni servizi AWS dispone di due parametri (--generate-cli-skeleton e --cli-input-json) che puoi utilizzare per generare un modello JSON modificabile e utilizzabile come input del parametro --cli-input-json. Questa sezione descrive come utilizzare questi parametri con aws cloudtrail lookup-events. Per ulteriori informazioni generali, consulta l'argomento relativo alla generazione dei parametri JSON per l'input della CLI e per lo skeleton della CLI.

Per cercare eventi CloudTrail recuperando l'input JSON da un file
  1. Crea un modello di input da usare con lookup-events reindirizzando l'output di --generate-cli-skeleton in un file, come nell'esempio seguente.

    aws cloudtrail lookup-events --generate-cli-skeleton > LookupEvents.txt

    Il file di modello generato (in questo caso, LookupEvents.txt) sarà simile al seguente:

    { "LookupAttributes": [ { "AttributeKey": "", "AttributeValue": "" } ], "StartTime": null, "EndTime": null, "MaxResults": 0, "NextToken": "" }
  2. Utilizza un editor di testo per modificare l'input JSON in base alle esigenze. L'input JSON deve contenere solo i valori specificati.

    Importante

    Tutti i valori vuoti o null devono essere rimossi dal modello prima di utilizzarlo.

    L'esempio seguente specifica un intervallo di tempo e il numero massimo di risultati da restituire.

    { "StartTime": "2015-01-01", "EndTime": "2015-01-27", "MaxResults": 2 }
  3. Per utilizzare il file modificato come input, utilizza la sintassi --cli-input-json file://<filename>, come nell'esempio seguente:

    aws cloudtrail lookup-events --cli-input-json file://LookupEvents.txt
Nota

Puoi usare altri argomenti sulla stessa riga di comando come --cli-input-json.

Campi di output della ricerca

Eventi

Un elenco di eventi di ricerca in base all'attributo di ricerca e all'intervallo di tempo specificati. L'elenco di eventi è ordinato in base all'ora, con l'ultimo evento elencato per primo. Ogni voce contiene informazioni sulla richiesta di ricerca e include una rappresentazione di stringa dell'evento CloudTrail recuperato.

Le voci seguenti descrivono i campi in ogni evento di ricerca.

CloudTrailEvent

Stringa JSON contenente una rappresentazione oggetto dell'evento restituito. Per informazioni su ciascuno degli elementi restituiti, consulta l'argomento relativo al contenuto del corpo dei record.

EventId

Stringa contenente il GUID dell'evento restituito.

EventName

Stringa contenente il nome dell'evento restituito.

EventSource

Servizio AWS a cui è stata eseguita la richiesta.

EventTime

Data e ora, in formato UNIX, dell'evento.

Risorse

Elenco delle risorse a cui fa riferimento l'evento restituito. Ogni voce specifica un tipo e un nome di risorsa.

ResourceName

Stringa contenente il nome della risorsa a cui l'evento fa riferimento.

ResourceType

Stringa contenente il tipo di una risorsa a cui l'evento fa riferimento. Quando risulta impossibile determinare il tipo di risorsa, viene restituito un valore null.

Nome utente

Stringa contenente il nome utente dell'account per l'evento restituito.

NextToken

Stringa per visualizzare la pagina di risultati successiva generata da un precedente comando lookup-events. Per usare il token, i parametri devono essere uguali a quelli specificati nel comando originale. Se nell'output non è presente alcuna voce NextToken, significa che non sono presenti altri risultati da restituire.