

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Filtrer les événements de données à l'aide de sélecteurs d'événements avancés
<a name="filtering-data-events"></a>

Cette section décrit comment vous pouvez utiliser des sélecteurs d'événements avancés pour créer des sélecteurs précis pour la journalisation des événements de données, ce qui peut vous aider à contrôler les coûts en enregistrant uniquement les événements de données spécifiques qui vous intéressent.

Par exemple :
+ Vous pouvez inclure ou exclure des appels d'API spécifiques en ajoutant un filtre sur le `eventName` champ.
+ Vous pouvez inclure ou exclure la journalisation pour des ressources spécifiques en ajoutant un filtre sur le `resources.ARN` champ. Par exemple, si vous enregistrez des événements de données S3, vous pouvez exclure la journalisation du compartiment S3 de votre parcours.
+ Vous pouvez choisir de ne consigner que les événements en écriture seule ou en lecture seule en ajoutant un filtre sur le champ. `readOnly`

Le tableau suivant décrit les champs pris en charge pour le filtrage des événements de données. Pour obtenir la liste des champs pris en charge pour chaque type d' CloudTrail événement, consultez [AdvancedEventSelector](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedEventSelector.html)la *référence de l'AWS CloudTrail API*.


| Champ | Obligatoire | Opérateurs valides | Description | 
| --- | --- | --- | --- | 
|  **`eventCategory` **  |  Oui  |  `Equals`  |  Ce champ est configuré pour enregistrer `Data` les événements liés aux données.  | 
|  **`resources.type`**  |  Oui  |  `Equals`  |  Ce champ est utilisé pour sélectionner le type de ressource pour lequel vous souhaitez enregistrer des événements de données. Le tableau [des événements de données](logging-data-events-with-cloudtrail.md#logging-data-events) indique les valeurs possibles.  | 
|  **`readOnly`**  |  Non  |  `Equals`  |  Il s'agit d'un champ facultatif utilisé pour inclure ou exclure des événements de données en fonction de la `readOnly` valeur. Une valeur des `true` journaux ne lit que les événements. Une valeur de `false` logs n'écrit que des événements. Si vous n'ajoutez pas ce champ, CloudTrail enregistre les événements de lecture et d'écriture.   | 
|  **`eventName`**  |  Non  |  `EndsWith` `Equals` `NotEndsWith` `NotEquals` `NotStartsWith` `StartsWith`  |  Il s'agit d'un champ facultatif utilisé pour filtrer ou filtrer tout événement de données enregistré CloudTrail, tel que ou. `PutBucket` `GetSnapshotBlock` Si vous utilisez le AWS CLI, vous pouvez spécifier plusieurs valeurs en séparant chaque valeur par une virgule. Si vous utilisez la console, vous pouvez spécifier plusieurs valeurs en créant une condition pour chacune des valeurs que `eventName` vous souhaitez filtrer.  | 
|  **`resources.ARN`**  |  Non  |  `EndsWith` `Equals` `NotEndsWith` `NotEquals` `NotStartsWith` `StartsWith`  |  Il s'agit d'un champ facultatif utilisé pour exclure ou inclure des événements de données pour une ressource spécifique en fournissant le`resources.ARN`. Vous pouvez utiliser n'importe quel opérateur`resources.ARN`, mais si vous utilisez `Equals` ou`NotEquals`, la valeur doit correspondre exactement à l'ARN d'une ressource valide pour celle que `resources.type` vous avez spécifiée. Pour journaliser tous les événements de données pour tous les objets d'un compartiment S3 spécifique, utilisez l'opérateur `StartsWith` et n'incluez que l'ARN du compartiment comme valeur correspondante. Si vous utilisez le AWS CLI, vous pouvez spécifier plusieurs valeurs en séparant chaque valeur par une virgule. Si vous utilisez la console, vous pouvez spécifier plusieurs valeurs en créant une condition pour chacune des valeurs que `resources.ARN` vous souhaitez filtrer.  | 
|  **`eventSource`**  |  Non  |  `EndsWith` `Equals` `NotEndsWith` `NotEquals` `NotStartsWith` `StartsWith`  |  Vous pouvez l'utiliser pour inclure ou exclure des sources d'événements spécifiques. `eventSource`Il s'agit généralement d'une forme abrégée du nom du service sans espaces et sans espaces`.amazonaws.com`. Par exemple, vous pouvez configurer `eventSource` `Equals` pour `ec2.amazonaws.com` enregistrer uniquement les événements de données Amazon EC2.  | 
|  **`eventType`**  |  Non  |  `EndsWith` `Equals` `NotEndsWith` `NotEquals` `NotStartsWith` `StartsWith`  |  [EventType](cloudtrail-event-reference-record-contents.md#ct-event-type) à inclure ou à exclure. Par exemple, vous pouvez définir ce champ sur `NotEquals` `AwsServiceEvent` pour exclure [Service AWS des événements](non-api-aws-service-events.md).  | 
|  **`sessionCredentialFromConsole`**  |  Non  |  `Equals` `NotEquals`  |  Incluez ou excluez les événements issus d'une AWS Management Console session. Ce champ peut être défini sur `Equals` ou `NotEquals` avec une valeur de`true`.  | 
|  **`userIdentity.arn`**  |  Non  |  `EndsWith` `Equals` `NotEndsWith` `NotEquals` `NotStartsWith` `StartsWith`  |  Incluez ou excluez des événements pour les actions entreprises par des identités IAM spécifiques. Pour de plus amples informations, veuillez consulter [Élément CloudTrail userIdentity](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).  | 

Pour enregistrer les événements de données à l'aide de la CloudTrail console, vous choisissez l'option **Événements de données**, puis sélectionnez le **type de ressource** qui vous intéresse lorsque vous créez ou mettez à jour un magasin de données de suivi ou d'événement. Le tableau [des événements de données](logging-data-events-with-cloudtrail.md#logging-data-events) indique les types de ressources possibles que vous pouvez choisir sur la CloudTrail console.

![\[Sélection du type de ressource de rubrique SNS sur la console.\]](http://docs.aws.amazon.com/fr_fr/awscloudtrail/latest/userguide/images/cloudtrail-data-event-type.png)


Pour enregistrer des événements de données avec le AWS CLI, configurez le `--advanced-event-selector` paramètre pour définir la valeur `eventCategory` égale `Data` et la `resources.type` valeur égale à la valeur du type de ressource pour lequel vous souhaitez enregistrer les événements de données. Le tableau [des événements de données](logging-data-events-with-cloudtrail.md#logging-data-events) répertorie les types de ressources disponibles.

Par exemple, si vous souhaitez enregistrer les événements de données pour tous les pools Cognito Identity, vous devez configurer le `--advanced-event-selectors` paramètre comme suit :

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

L'exemple précédent enregistre tous les événements de données Cognito sur les groupes d'identités. Vous pouvez affiner davantage les sélecteurs d'événements avancés pour filtrer les `eventName``readOnly`, et les `resources.ARN` champs pour enregistrer des événements spécifiques présentant un intérêt ou exclure des événements qui ne présentent aucun intérêt.

Vous pouvez configurer des sélecteurs d'événements avancés pour filtrer les événements de données en fonction de plusieurs champs. Par exemple, vous pouvez configurer des sélecteurs d'événements avancés pour consigner tous les appels Amazon S3 `PutObject` et `DeleteObject` API, mais exclure la journalisation des événements pour un compartiment S3 spécifique, comme illustré dans l'exemple suivant. Remplacez *amzn-s3-demo-bucket* par le nom de votre compartiment.

```
--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/"] }
    ]
  }
]'
```

Vous pouvez également inclure plusieurs conditions pour un champ. Pour plus d'informations sur la manière dont plusieurs conditions sont évaluées, voir[Comment CloudTrail évaluer plusieurs conditions pour un champ](#filtering-data-events-conditions).

Vous pouvez utiliser des sélecteurs d'événements avancés pour consigner à la fois les événements de gestion et de données. Pour enregistrer des événements de données pour plusieurs types de ressources, ajoutez une instruction de sélection de champs pour chaque type de ressource pour lequel vous souhaitez enregistrer des événements de données.

**Note**  
Les sentiers peuvent utiliser des sélecteurs d'événements de base ou des sélecteurs d'événements avancés, mais pas les deux. Si vous appliquez des sélecteurs d’événements avancés à un journal de suivi, tous les sélecteurs d’événements de base existants sont remplacés.  
Les sélecteurs ne supportent pas l'utilisation de caractères génériques tels que. `*` Pour associer plusieurs valeurs à une seule condition, vous pouvez utiliser`StartsWith`, `EndsWith``NotStartsWith`, ou `NotEndsWith` faire correspondre explicitement le début ou la fin du champ d'événement.

**Topics**
+ [Comment CloudTrail évaluer plusieurs conditions pour un champ](#filtering-data-events-conditions)
+ [AWS CLI exemples de filtrage des événements liés aux données](#filtering-data-events-examples)

## Comment CloudTrail évaluer plusieurs conditions pour un champ
<a name="filtering-data-events-conditions"></a>

Pour les sélecteurs d'événements avancés, CloudTrail évalue plusieurs conditions pour un champ comme suit :
+ Les opérateurs DESELECT sont connectés ensemble. Si l'une des conditions de l'opérateur DESELECT est remplie, l'événement n'est pas organisé. Voici les opérateurs DESELECT valides pour les sélecteurs d'événements avancés :
  + `NotEndsWith`
  + `NotEquals`
  + `NotStartsWith`
+ Les opérateurs SELECT sont actionnés par OR ensemble. Voici les opérateurs SELECT valides pour les sélecteurs d'événements avancés :
  + `EndsWith`
  + `Equals`
  + `StartsWith`
+ Les combinaisons des opérateurs SELECT et DESELECT suivent les règles ci-dessus et les deux groupes sont combinés.

### Exemple illustrant plusieurs conditions pour le `resources.ARN` champ
<a name="filtering-data-events-conditions-ex"></a>

L'exemple d'instruction de sélection d'événements suivant collecte des événements de données pour le type de `AWS::S3::Object` ressource et applique plusieurs conditions sur le `resources.ARN` terrain.

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

Dans l'exemple précédent, les événements de données Amazon S3 relatifs à la `AWS::S3::Object` ressource seront fournis si : 

1. Aucune de ces conditions de l'opérateur DESELECT n'est remplie :
   + le `resources.ARN` champ`NotStartsWith`, la valeur `arn:aws:s3:::amzn-s3-demo-bucket/deselect`
   + le `resources.ARN` champ`NotEndsWith`, la valeur `object5`
   + le `resources.ARN` champ`NotEquals`, la valeur `arn:aws:s3:::amzn-s3-demo-bucket/object6`

1. Au moins l'une de ces conditions de l'opérateur SELECT est remplie : 
   + le `resources.ARN` champ`Equals`, la valeur `arn:aws:s3:::amzn-s3-demo-bucket/object1`
   + le `resources.ARN` champ`StartsWith`, la valeur `arn:aws:s3:::amzn-s3-demo-bucket/`
   + le `resources.ARN` champ`EndsWith`, la valeur `object3`

Sur la base de la logique d'évaluation :

1. Les événements de données pour `amzn-s3-demo-bucket/object1` seront fournis car ils correspondent à la valeur de `Equals` l'opérateur et ne correspondent à aucune des valeurs des `NotEquals` opérateurs `NotStartsWith``NotEndsWith`, et.

1. L'événement de données pour `amzn-s3-demo-bucket/object2` sera délivré car il correspond à la valeur de `StartsWith` l'opérateur et ne correspond à aucune des valeurs des `NotEquals` opérateurs `NotStartsWith``NotEndsWith`, et.

1. Les événements de données pour `amzn-s3-demo-bucket1/object3` seront fournis car ils correspondent à l'`EndsWith`opérateur et ne correspondent à aucune des valeurs des `NotEquals` opérateurs `NotStartsWith``NotEndsWith`, et.

1. Les événements de données pour ne `arn:aws:s3:::amzn-s3-demo-bucket/deselectObject4` seront pas fournis car ils correspondent à la condition du `NotStartsWith` même si elles correspondent à la condition de l'`StartsWith`opérateur.

1. Les événements de données pour ne `arn:aws:s3:::amzn-s3-demo-bucket/object5` seront pas fournis car ils correspondent à la condition du `NotEndsWith` même si elles correspondent à la condition de l'`StartsWith`opérateur.

1. Les événements de données pour le ne `arn:aws:s3:::amzn-s3-demo-bucket/object6` seront pas transmis car ils correspondent à la condition de l'`NotEquals`opérateur, même s'ils correspondent à la condition de l'`StartsWith`opérateur.

## AWS CLI exemples de filtrage des événements liés aux données
<a name="filtering-data-events-examples"></a>

Cette section fournit des AWS CLI exemples montrant comment filtrer les événements de données sur différents champs. Pour des AWS CLI exemples supplémentaires, voir [Enregistrez les événements de données pour les sentiers à l'aide de sélecteurs d'événements avancés](logging-data-events-with-cloudtrail.md#creating-data-event-selectors-advanced) et[Enregistrement des événements de données pour les magasins de données d'événements avec le AWS CLI](logging-data-events-with-cloudtrail.md#logging-data-events-CLI-eds-examples).

Pour plus d'informations sur la façon de consigner les événements liés aux données à l'aide de la console, consultez[Enregistrement des événements liés aux données à l'aide du AWS Management Console](logging-data-events-with-cloudtrail.md#logging-data-events-console).

**Topics**
+ [Exemple 1 : Filtrage sur le `eventName` terrain](#filtering-data-events-eventname)
+ [Exemple 2 : Filtrage sur les `userIdentity.arn` champs `resources.ARN` et](#filtering-data-events-useridentityarn)
+ [Exemple 3 : Filtrage sur les `eventName` champs `resources.type` et pour exclure les objets individuels supprimés par un DeleteObjects événement Amazon S3](#filtering-data-events-deleteobjects)

### Exemple 1 : Filtrage sur le `eventName` terrain
<a name="filtering-data-events-eventname"></a>

Dans le premier exemple, les `--advanced-event-selectors` for a trail sont configurés pour enregistrer uniquement les appels `GetObject``PutObject`, et `DeleteObject` API pour les objets Amazon S3 dans des compartiments à usage général.

```
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'exemple suivant crée un nouveau magasin de données d'événements qui enregistre les événements de données pour EBS Direct APIs mais exclut les appels `ListChangedBlocks` d'API. Vous pouvez utiliser la [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)commande pour mettre à jour un magasin de données d'événements existant.

```
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"] }
         ]
    }
]'
```

### Exemple 2 : Filtrage sur les `userIdentity.arn` champs `resources.ARN` et
<a name="filtering-data-events-useridentityarn"></a>

L'exemple suivant montre comment inclure tous les événements de données pour tous les objets Amazon S3 dans un compartiment S3 à usage général spécifique, mais exclure les événements générés par le `bucket-scanner-role``userIdentity`. La valeur des événements S3 pour le champ `resources.type` est `AWS::S3::Object`. Les valeurs ARN des objets S3 et des compartiments S3 étant légèrement différentes, vous devez ajouter l'`StartsWith`opérateur pour`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"]}
        ]
    }
]'
```

### Exemple 3 : Filtrage sur les `eventName` champs `resources.type` et pour exclure les objets individuels supprimés par un DeleteObjects événement Amazon S3
<a name="filtering-data-events-deleteobjects"></a>

L'exemple suivant montre comment inclure tous les événements de données pour tous les objets Amazon S3 dans un compartiment Amazon S3 à usage général spécifique, mais exclure les objets individuels supprimés par l'`DeleteObject`opération. La valeur des événements S3 pour le champ `resources.type` est `AWS::S3::Object`. La valeur du nom de l'événement est`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)
```