View a markdown version of this page

Filtraggio degli eventi di dati utilizzando selettori di eventi avanzati - 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à.

Filtraggio degli eventi di dati utilizzando selettori di eventi avanzati

Questa sezione descrive come utilizzare selettori di eventi avanzati per creare selettori granulari per la registrazione degli eventi di dati, che possono aiutarti a controllare i costi registrando solo gli eventi di dati specifici di interesse.

Ad esempio:

  • Puoi includere o escludere chiamate API specifiche aggiungendo un filtro sul campo. eventName

  • Puoi includere o escludere la registrazione per risorse specifiche aggiungendo un filtro sul resources.ARN campo. Ad esempio, se stavi registrando eventi di dati S3, potresti escludere la registrazione per il bucket S3 per il tuo percorso.

  • Puoi scegliere di registrare solo eventi di sola scrittura o eventi di sola lettura aggiungendo un filtro sul campo. readOnly

La tabella seguente descrive i campi supportati per il filtraggio degli eventi di dati. Per un elenco dei campi supportati per ogni tipo di CloudTrail evento, consulta AdvancedEventSelector l'AWS CloudTrail API Reference.

Campo Richiesto Operatori validi Description

eventCategory

Equals

Questo campo è impostato per registrare Data gli eventi relativi ai dati.

resources.type

Equals

Questo campo viene utilizzato per selezionare il tipo di risorsa per cui si desidera registrare gli eventi relativi ai dati. La tabella Eventi di dati mostra i valori possibili.

readOnly

No

Equals

Questo è un campo opzionale utilizzato per includere o escludere eventi di dati in base al readOnly valore. Un valore di true registra solo gli eventi di lettura. Un valore di false log scrive solo eventi. Se non aggiungi questo campo, CloudTrail registra sia gli eventi di lettura che quelli di scrittura.

eventName

No

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

Questo è un campo opzionale utilizzato per filtrare o filtrare qualsiasi evento di dati a cui si è registrato, ad esempio o. CloudTrail PutBucket GetSnapshotBlock

Se si utilizza il AWS CLI, è possibile specificare più valori separando ogni valore con una virgola.

Se utilizzi la console, puoi specificare più valori creando una condizione per ciascuno di essi su eventName cui desideri filtrare.

resources.ARN

No

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

Questo è un campo opzionale utilizzato per escludere o includere eventi di dati per una risorsa specifica fornendo ilresources.ARN. Puoi utilizzare qualsiasi operatore conresources.ARN, ma se usi Equals orNotEquals, il valore deve corrispondere esattamente all'ARN di una risorsa valida per quella che resources.type hai specificato. Per registrare tutti gli eventi di dati per tutti gli oggetti in un bucket S3 specifico, utilizza l'operatore StartsWith e includi solo l'ARN del bucket come valore corrispondente.

Se stai usando il AWS CLI, puoi specificare più valori separando ogni valore con una virgola.

Se utilizzi la console, puoi specificare più valori creando una condizione per ciascuno di essi su resources.ARN cui desideri filtrare.

eventSource

No

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

Puoi usarlo per includere o escludere fonti di eventi specifiche. In genere eventSource è una forma abbreviata del nome del servizio senza spazi plus.amazonaws.com. Ad esempio, puoi impostare la registrazione solo degli eventi relativi eventSource Equals ec2.amazonaws.com ai dati di Amazon EC2.

eventType

No

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

L'eventType da includere o escludere. Ad esempio, puoi impostare questo campo per escludere NotEquals AwsServiceEvent gli Servizio AWS eventi.

sessionCredentialFromConsole

No

Equals

NotEquals

Includi o escludi eventi provenienti da una Console di gestione AWS sessione. Questo campo può essere impostato su Equals o NotEquals con un valore ditrue.

userIdentity.arn

No

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

Includi o escludi eventi per azioni intraprese da identità IAM specifiche. Per ulteriori informazioni, consulta Elemento userIdentity di CloudTrail .

Per registrare gli eventi relativi ai dati utilizzando la CloudTrail console, scegli l'opzione Eventi dati e quindi seleziona il tipo di risorsa di interesse durante la creazione o l'aggiornamento di un data store di percorsi o eventi. La tabella Data events mostra i possibili tipi di risorse che puoi scegliere sulla CloudTrail console.

Selezione del tipo di risorsa dell'argomento SNS sulla console.

Per registrare gli eventi relativi ai dati con AWS CLI, configura il --advanced-event-selector parametro in modo che sia eventCategory uguale Data e uguale al resources.type valore del tipo di risorsa per il quale desideri registrare gli eventi relativi ai dati. La tabella Eventi di dati elenca i tipi di risorse disponibili.

Ad esempio, se desideri registrare gli eventi relativi ai dati per tutti i pool di Cognito Identity, devi configurare il --advanced-event-selectors parametro in modo che assomigli a questo:

--advanced-event-selectors '[ { "Name": "Log Cognito data events on Identity pools", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Cognito::IdentityPool"] } ] } ]'

L'esempio precedente registra tutti gli eventi di dati Cognito nei pool di identità. Puoi perfezionare ulteriormente i selettori di eventi avanzati per filtrare in base a eventNamereadOnly, e resources.ARN i campi per registrare eventi specifici di interesse o escludere eventi che non sono di interesse.

È possibile configurare selettori di eventi avanzati per filtrare gli eventi di dati in base a più campi. Ad esempio, puoi configurare selettori di eventi avanzati per registrare tutte le chiamate Amazon S3 PutObject e DeleteObject API ma escludere la registrazione degli eventi per un bucket S3 specifico, come mostrato nell'esempio seguente. Sostituisci amzn-s3-demo-bucket con il nome del tuo bucket.

--advanced-event-selectors '[ { "Name": "Log PutObject and DeleteObject events for all but one bucket", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "eventName", "Equals": ["PutObject","DeleteObject"] }, { "Field": "resources.ARN", "NotStartsWith": ["arn:aws:s3:::amzn-s3-demo-bucket/"] } ] } ]'

Puoi anche includere più condizioni per un campo. Per informazioni su come vengono valutate più condizioni, vedereCome CloudTrail valuta più condizioni per un campo.

È possibile utilizzare selettori di eventi avanzati per registrare sia gli eventi di gestione che quelli relativi ai dati. Per registrare gli eventi di dati per più tipi di risorse, aggiungi un'istruzione di selezione di campo per ogni tipo di risorsa per cui desideri registrare gli eventi di dati.

Nota

Trails può utilizzare selettori di eventi di base o selettori di eventi avanzati, ma non entrambi. Se si applicano selettori di eventi avanzati a un percorso, tutti i selettori di eventi di base esistenti vengono sovrascritti.

I selettori non supportano l'uso di caratteri jolly come. * Per abbinare più valori a una singola condizione, puoi utilizzare, StartsWith EndsWithNotStartsWith, o NotEndsWith per far corrispondere esplicitamente l'inizio o la fine del campo dell'evento.

Come CloudTrail valuta più condizioni per un campo

Per i selettori di eventi avanzati, CloudTrail valuta più condizioni per un campo nel modo seguente:

  • Gli operatori DESELECT vengono combinati con AND. Se una delle condizioni dell'operatore DESELECT è soddisfatta, l'evento non viene consegnato. Questi sono gli operatori DESELECT validi per i selettori di eventi avanzati:

    • NotEndsWith

    • NotEquals

    • NotStartsWith

  • Gli operatori SELECT vengono messi insieme con l'OR. Questi sono gli operatori SELECT validi per i selettori di eventi avanzati:

    • EndsWith

    • Equals

    • StartsWith

  • Le combinazioni di operatori SELECT e DESELECT seguono le regole precedenti ed entrambi i gruppi vengono combinati con AND.

Esempio che mostra più condizioni per il campo Resources.ARN

L'istruzione di selezione degli eventi di esempio seguente raccoglie eventi di dati per il tipo di AWS::S3::Object risorsa e applica più condizioni sul campo. resources.ARN

{ "Name": "S3Select", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "resources.ARN", "Equals": [ "arn:aws:s3:::amzn-s3-demo-bucket/object1" ], "StartsWith": [ "arn:aws:s3:::amzn-s3-demo-bucket/" ], "EndsWith": [ "object3" ], "NotStartsWith": [ "arn:aws:s3:::amzn-s3-demo-bucket/deselect" ], "NotEndsWith": [ "object5" ], "NotEquals": [ "arn:aws:s3:::amzn-s3-demo-bucket/object6" ] } ] }

Nell'esempio precedente, gli eventi di dati di Amazon S3 per la AWS::S3::Object risorsa verranno consegnati se:

  1. Nessuna di queste condizioni dell'operatore DESELECT è soddisfatta:

    • il resources.ARN campo NotStartsWith il valore arn:aws:s3:::amzn-s3-demo-bucket/deselect

    • il resources.ARN campo NotEndsWith il valore object5

    • il resources.ARN campo NotEquals il valore arn:aws:s3:::amzn-s3-demo-bucket/object6

  2. Almeno una delle seguenti condizioni dell'operatore SELECT è soddisfatta:

    • il resources.ARN campo Equals il valore arn:aws:s3:::amzn-s3-demo-bucket/object1

    • il resources.ARN campo StartsWith il valore arn:aws:s3:::amzn-s3-demo-bucket/

    • il resources.ARN campo EndsWith il valore object3

In base alla logica di valutazione:

  1. Gli eventi di dati per amzn-s3-demo-bucket/object1 verranno consegnati perché corrispondono al valore dell'Equalsoperatore e non corrispondono a nessuno dei valori per gli NotEquals operatori NotStartsWithNotEndsWith, e.

  2. L'evento di dati per amzn-s3-demo-bucket/object2 verrà consegnato perché corrisponde al valore dell'StartsWithoperatore e non corrisponde a nessuno dei valori per gli NotEquals operatori NotStartsWithNotEndsWith, e.

  3. Gli eventi di dati per amzn-s3-demo-bucket1/object3 verranno consegnati perché corrispondono all'EndsWithoperatore e non corrispondono a nessuno dei valori per gli NotEquals operatori NotStartsWithNotEndsWith, e.

  4. Gli eventi di dati per non arn:aws:s3:::amzn-s3-demo-bucket/deselectObject4 verranno consegnati perché corrispondono alla condizione per il NotStartsWith anche se corrisponde alla condizione per l'StartsWithoperatore.

  5. Gli eventi di dati per non arn:aws:s3:::amzn-s3-demo-bucket/object5 verranno consegnati perché corrispondono alla condizione per NotEndsWith anche se corrisponde alla condizione per l'StartsWithoperatore.

  6. Gli eventi relativi ai dati per non arn:aws:s3:::amzn-s3-demo-bucket/object6 verranno consegnati perché corrispondono alla condizione dell'NotEqualsoperatore anche se corrisponde alla condizione dell'StartsWithoperatore.

AWS CLI esempi di filtraggio degli eventi relativi ai dati

Questa sezione fornisce AWS CLI esempi che mostrano come filtrare gli eventi di dati su campi diversi. Per ulteriori AWS CLI esempi, vedere Registra gli eventi relativi ai dati per i percorsi utilizzando selettori di eventi avanzati eRegistrazione degli eventi di dati per gli archivi di dati degli eventi con AWS CLI.

Per informazioni su come registrare gli eventi relativi ai dati utilizzando la console, vedereRegistrazione degli eventi relativi ai dati con Console di gestione AWS.

Esempio 1: filtraggio nel campo EventName

Nel primo esempio, i file --advanced-event-selectors for a trail sono configurati per registrare solo le GetObjectPutObject, e le chiamate DeleteObject API per oggetti Amazon S3 in bucket generici.

aws cloudtrail put-event-selectors \ --trail-name trailName \ --advanced-event-selectors '[ { "Name": "Log GetObject, PutObject and DeleteObject S3 data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "eventName", "Equals": ["GetObject","PutObject","DeleteObject"] } ] } ]'

L'esempio successivo crea un nuovo data store di eventi che registra gli eventi di dati per le API EBS Direct ma esclude le chiamate API. ListChangedBlocks È possibile utilizzare il update-event-data-store comando per aggiornare un archivio dati di eventi esistente.

aws cloudtrail create-event-data-store \ --name "eventDataStoreName" --advanced-event-selectors '[ { "Name": "Log all EBS Direct API data events except ListChangedBlocks", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::EC2::Snapshot"] }, { "Field": "eventName", "NotEquals": ["ListChangedBlocks"] } ] } ]'

Esempio 2: filtraggio nei campi Resources.arn e user Identity.arn

L'esempio seguente mostra come includere tutti gli eventi di dati per tutti gli oggetti Amazon S3 in uno specifico bucket S3 generico ma escludere gli eventi generati da. bucket-scanner-role userIdentity Il valore per gli eventi S3 per il campo resources.type è AWS::S3::Object. Poiché i valori ARN per gli oggetti S3 e i bucket S3 sono leggermente diversi, è necessario aggiungere l'operatore per. StartsWith resources.ARN

aws cloudtrail put-event-selectors \ --trail-name trailName \ --advanced-event-selectors \ '[ { "Name": "S3EventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "resources.ARN", "StartsWith": ["arn:partition:s3:::amzn-s3-demo-bucket/"] }, { "Field": "userIdentity.arn", "NotStartsWith": ["arn:aws:sts::123456789012:assumed-role/bucket-scanner-role"]} ] } ]'

Esempio 3: filtraggio dei campi resources.type ed eventName per escludere singoli oggetti eliminati da un evento Amazon S3 DeleteObjects

L'esempio seguente mostra come includere tutti gli eventi di dati per tutti gli oggetti Amazon S3 in uno specifico bucket Amazon S3 generico ma escludere i singoli oggetti eliminati dall'operazione. DeleteObject Il valore per gli eventi S3 per il campo resources.type è AWS::S3::Object. Il valore per il nome dell'evento è. DeleteObject

aws cloudtrail put-event-selectors \ --trail-name trailName \ --advanced-event-selectors \ { "Name": "Exclude Events for DeleteObject operation", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "eventName", "NotEquals": [ "DeleteObject" ] } ] }, { "Name": "Exclude DeleteObject Events for individual objects deleted by DeleteObjects Operation", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "eventName", "Equals": [ "DeleteObject" ] }, { "Field": "eventType", "NotEquals": [ "AwsServiceEvent" ] } ] } ] (edited)