

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 relativi ai dati utilizzando selettori di eventi avanzati
<a name="filtering-data-events"></a>

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

Esempio:
+ È possibile 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 gli eventi relativi ai dati S3, potresti escludere la registrazione per il bucket S3 del tuo percorso.
+ Puoi scegliere di registrare solo gli eventi di sola scrittura o gli eventi di sola lettura aggiungendo un filtro sul campo. `readOnly`

La tabella seguente descrive i campi supportati per il filtraggio degli eventi relativi ai dati. Per un elenco dei campi supportati per ogni tipo di CloudTrail evento, consulta [AdvancedEventSelector](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedEventSelector.html)l'*AWS CloudTrail API Reference.*


| Campo | Richiesto | Operatori validi | Description | 
| --- | --- | --- | --- | 
|  **`eventCategory` **  |  Sì  |  `Equals`  |  Questo campo è impostato per registrare `Data` gli eventi relativi ai dati.  | 
|  **`resources.type`**  |  Sì  |  `Equals`  |  Questo campo viene utilizzato per selezionare il tipo di risorsa per cui si desidera registrare gli eventi relativi ai dati. La tabella [Data events](logging-data-events-with-cloudtrail.md#logging-data-events) mostra i valori possibili.  | 
|  **`readOnly`**  |  No  |  `Equals`  |  Questo è un campo opzionale utilizzato per includere o escludere eventi relativi ai dati in base al `readOnly` valore. Un valore di `true` log legge solo gli eventi. Un valore di `false` log scrive solo eventi. Se non si aggiunge questo campo, CloudTrail registra sia gli eventi di lettura che quelli di scrittura.   | 
|  **`eventName`**  |  No  |  `EndsWith` `Equals` `NotEndsWith` `NotEquals` `NotStartsWith` `StartsWith`  |  Si tratta di un campo opzionale utilizzato per filtrare o filtrare qualsiasi evento relativo ai dati registrato, ad esempio o. CloudTrail `PutBucket` `GetSnapshotBlock` Se utilizzi 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 ognuno dei quali `eventName` desideri filtrare.  | 
|  **`resources.ARN`**  |  No  |  `EndsWith` `Equals` `NotEndsWith` `NotEquals` `NotStartsWith` `StartsWith`  |  Questo è un campo facoltativo utilizzato per escludere o includere eventi di dati per una risorsa specifica fornendo il`resources.ARN`. È possibile utilizzare qualsiasi operatore con`resources.ARN`, ma se si utilizza `Equals` o`NotEquals`, il valore deve corrispondere esattamente all'ARN di una risorsa valida per il valore `resources.type` 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 utilizzi 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 ognuno dei quali `resources.ARN` desideri filtrare.  | 
|  **`eventSource`**  |  No  |  `EndsWith` `Equals` `NotEndsWith` `NotEquals` `NotStartsWith` `StartsWith`  |  Puoi usarla 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](cloudtrail-event-reference-record-contents.md#ct-event-type) da includere o escludere. Ad esempio, è possibile impostare questo campo su per `NotEquals` `AwsServiceEvent` escludere [Servizio AWS eventi](non-api-aws-service-events.md).  | 
|  **`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 di`true`.  | 
|  **`userIdentity.arn`**  |  No  |  `EndsWith` `Equals` `NotEndsWith` `NotEquals` `NotStartsWith` `StartsWith`  |  Includi o escludi eventi per le azioni intraprese da identità IAM specifiche. Per ulteriori informazioni, consulta [Elemento userIdentity di CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).  | 

Per registrare gli eventi relativi ai dati utilizzando la CloudTrail console, scegli l'opzione **Data events** e quindi seleziona il **tipo di risorsa** che ti interessa quando crei o aggiorni un trail o un data store di eventi. La tabella [Data events](logging-data-events-with-cloudtrail.md#logging-data-events) mostra i possibili tipi di risorse che puoi scegliere sulla CloudTrail console.

![\[Selezione del tipo di risorsa tematica SNS sulla console.\]](http://docs.aws.amazon.com/it_it/awscloudtrail/latest/userguide/images/cloudtrail-data-event-type.png)


Per registrare gli eventi relativi ai dati con AWS CLI, configura il `--advanced-event-selector` parametro in modo che imposti `eventCategory` un `resources.type` valore uguale `Data` e uguale al valore del tipo di risorsa per il quale desideri registrare gli eventi relativi ai dati. La tabella [Data events](logging-data-events-with-cloudtrail.md#logging-data-events) elenca i tipi di risorse disponibili.

Ad esempio, se desideri registrare gli eventi relativi ai dati per tutti i pool di identità di Cognito, devi configurare il `--advanced-event-selectors` parametro in modo che abbia il seguente aspetto:

```
--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 relativi ai dati di Cognito nei pool di identità. È possibile perfezionare ulteriormente i selettori di eventi avanzati per filtrare in base ai `resources.ARN` campi `eventName``readOnly`, e per registrare eventi specifici di interesse o escludere eventi che non sono di interesse.

Puoi 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 `PutObject` S3 `DeleteObject` e API, ma escludere la registrazione degli eventi per uno specifico bucket S3, 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, vedere[Come CloudTrail valuta più condizioni per un campo](#filtering-data-events-conditions).

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

**Nota**  
I trail possono 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 usare`StartsWith`, `EndsWith``NotStartsWith`, o `NotEndsWith` far corrispondere esplicitamente l'inizio o la fine del campo dell'evento.

**Topics**
+ [Come CloudTrail valuta più condizioni per un campo](#filtering-data-events-conditions)
+ [AWS CLI esempi per filtrare gli eventi relativi ai dati](#filtering-data-events-examples)

## Come CloudTrail valuta più condizioni per un campo
<a name="filtering-data-events-conditions"></a>

Per i selettori di eventi avanzati, CloudTrail valuta più condizioni per un campo come segue:
+ Gli operatori DESELECT vengono combinati in modalità AND. Se una qualsiasi 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 combinati in OR. Questi sono gli operatori SELECT validi per i selettori di eventi avanzati:
  + `EndsWith`
  + `Equals`
  + `StartsWith`
+ Le combinazioni degli operatori SELECT e DESELECT seguono le regole precedenti ed entrambi i gruppi vengono combinati in AND.

### Esempio che mostra più condizioni per il campo `resources.ARN`
<a name="filtering-data-events-conditions-ex"></a>

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

```
{
    "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 relativi ai dati di Amazon S3 per `AWS::S3::Object` la 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`

1. È soddisfatta almeno una di queste condizioni dell'operatore SELECT: 
   + 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 per l'`Equals`operatore e non corrispondono a nessuno dei valori per gli `NotEquals` operatori `NotStartsWith``NotEndsWith`, e.

1. L'evento di dati per `amzn-s3-demo-bucket/object2` verrà fornito perché corrisponde al valore per l'`StartsWith`operatore e non corrisponde a nessuno dei valori per gli `NotEquals` operatori `NotStartsWith``NotEndsWith`, e.

1. Gli eventi di dati per `amzn-s3-demo-bucket1/object3` verranno consegnati perché corrispondono all'`EndsWith`operatore e non corrispondono a nessuno dei valori per gli `NotEquals` operatori `NotStartsWith``NotEndsWith`, e.

1. Gli eventi relativi ai dati di non `arn:aws:s3:::amzn-s3-demo-bucket/deselectObject4` verranno consegnati perché corrispondono alla condizione di, `NotStartsWith` anche se corrispondono alla condizione dell'`StartsWith`operatore.

1. Gli eventi relativi ai dati di non `arn:aws:s3:::amzn-s3-demo-bucket/object5` verranno consegnati perché corrispondono alla condizione di, `NotEndsWith` anche se corrispondono alla condizione dell'`StartsWith`operatore.

1. Gli eventi relativi ai dati non `arn:aws:s3:::amzn-s3-demo-bucket/object6` verranno consegnati perché corrispondono alla condizione dell'`NotEquals`operatore anche se corrisponde alla condizione dell'`StartsWith`operatore.

## AWS CLI esempi per filtrare gli eventi relativi ai dati
<a name="filtering-data-events-examples"></a>

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](logging-data-events-with-cloudtrail.md#creating-data-event-selectors-advanced) e[Registrazione degli eventi relativi ai dati per gli archivi dati degli eventi con AWS CLI](logging-data-events-with-cloudtrail.md#logging-data-events-CLI-eds-examples).

Per informazioni su come registrare gli eventi relativi ai dati utilizzando la console, vedere[Registrazione degli eventi relativi ai dati con Console di gestione AWS](logging-data-events-with-cloudtrail.md#logging-data-events-console).

**Topics**
+ [Esempio 1: filtraggio sul campo `eventName`](#filtering-data-events-eventname)
+ [Esempio 2: filtraggio sui campi `resources.ARN` and `userIdentity.arn`](#filtering-data-events-useridentityarn)
+ [Esempio 3: filtraggio sui `eventName` campi `resources.type` and per escludere singoli oggetti eliminati da un evento Amazon DeleteObjects S3](#filtering-data-events-deleteobjects)

### Esempio 1: filtraggio sul campo `eventName`
<a name="filtering-data-events-eventname"></a>

Nel primo esempio, i `--advanced-event-selectors` for a trail sono configurati per registrare solo le chiamate `GetObject``PutObject`, e `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"] }
    ]
  }
]'
```

Il prossimo esempio crea un nuovo archivio dati di eventi che registra gli eventi di dati per EBS Direct APIs ma esclude le chiamate API. `ListChangedBlocks` È possibile utilizzare il [https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/update-event-data-store.html](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/update-event-data-store.html)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 sui campi `resources.ARN` and `userIdentity.arn`
<a name="filtering-data-events-useridentityarn"></a>

L'esempio seguente mostra come includere tutti gli eventi relativi ai 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 sui `eventName` campi `resources.type` and per escludere singoli oggetti eliminati da un evento Amazon DeleteObjects S3
<a name="filtering-data-events-deleteobjects"></a>

L'esempio seguente mostra come includere tutti gli eventi relativi ai 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)
```