

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.

# Créez, mettez à jour et gérez les intégrations de CloudTrail Lake avec AWS CLI
<a name="lake-integrations-cli"></a>

Cette section décrit les commandes que vous pouvez utiliser pour créer, mettre à jour et gérer vos intégrations CloudTrail Lake à l'aide du AWS CLI.

Lorsque vous utilisez le AWS CLI, n'oubliez pas que vos commandes s'exécutent dans la Région AWS configuration adaptée à votre profil. Si vous souhaitez exécuter les commandes dans une autre région, modifiez la région par défaut pour votre profil, ou utilisez le paramètre **--region** avec la commande.

## Commandes disponibles pour les intégrations de CloudTrail Lake
<a name="lake-integrations-cli-commands"></a>

Les commandes permettant de créer, de mettre à jour et de gérer les intégrations dans CloudTrail Lake incluent :
+ `create-event-data-store`pour créer un magasin de données d'événements pour les événements extérieurs à AWS.
+ `delete-channel`pour supprimer un canal utilisé pour une intégration.
+ `[delete-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/delete-resource-policy.html)`pour supprimer la politique de ressources attachée à un canal pour une intégration CloudTrail Lake.
+ `[get-channel](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/get-channel.html)`pour renvoyer des informations sur une CloudTrail chaîne.
+ `[get-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/get-resource-policy.html)`pour récupérer le texte JSON du document de politique basé sur les ressources joint au CloudTrail canal.
+ `[list-channels](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/list-channels.html)`pour répertorier les chaînes du compte courant, ainsi que leurs noms de source.
+ `[put-audit-events](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail-data/put-audit-events.html)`pour ingérer les événements de votre application dans CloudTrail Lake. Paramètre obligatoire`auditEvents`, qui accepte les enregistrements JSON (également appelés charge utile) des événements que vous souhaitez CloudTrail ingérer. Vous pouvez ajouter jusqu'à 100 de ces événements (ou jusqu'à 1 Mo) par `PutAuditEvents` demande.
+ `[put-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/put-resource-policy.html)`pour associer une politique d'autorisation basée sur les ressources à un CloudTrail canal utilisé pour une intégration avec une source d'événements extérieure à. AWS Pour plus d'informations sur les politiques basées sur les ressources, consultez les exemples de politiques basées sur les [AWS CloudTrail ressources](security_iam_resource-based-policy-examples.md).
+ `update-channel`pour mettre à jour un canal spécifié par un ARN ou un UUID de canal requis.

Pour obtenir la liste des commandes disponibles pour les magasins de données d'événements CloudTrail Lake, consultez[Commandes disponibles pour les magasins de données d'événements](lake-eds-cli.md#lake-eds-cli-commands).

Pour obtenir la liste des commandes disponibles pour les requêtes CloudTrail Lake, consultez[Commandes disponibles pour les requêtes CloudTrail Lake](lake-queries-cli.md#lake-queries-cli-commands).

Pour obtenir la liste des commandes disponibles pour les tableaux de bord CloudTrail Lake, consultez[Commandes disponibles pour les tableaux de bord](lake-dashboard-cli.md#lake-dashboard-cli-commands).

# Créez une intégration pour enregistrer les événements provenant de l'extérieur à l' AWS aide du AWS CLI
<a name="lake-cli-create-integration"></a>

Cette section décrit comment vous pouvez utiliser le AWS CLI pour créer une intégration CloudTrail Lake afin de consigner des événements provenant de l'extérieur de AWS.

Dans le AWS CLI, vous créez une intégration en quatre commandes (trois si vous disposez déjà d'un magasin de données d'événements répondant aux critères). Les magasins de données d'événements que vous utilisez comme destinations pour une intégration doivent être destinés à une seule région et à un seul compte ; ils ne peuvent pas être multirégionaux, ils ne peuvent pas enregistrer les événements des organisations dans AWS Organizations lesquelles ils se trouvent et ils ne peuvent inclure que des événements d'activité. Le type d'événement dans la console doit être **Events from integrations** (Événements issus des intégrations). Dans l'API, la valeur `eventCategory` doit être `ActivityAuditLog`. Pour plus d'informations sur les intégrations, veuillez consulter la section [Créez une intégration avec une source d'événements en dehors de AWS](query-event-data-store-integration.md).

1. Si vous ne disposez d'aucun stockage de données d'événement que vous pouvez utiliser pour l'intégration, exécutez [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/index.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/index.html) pour en créer un.

   L'exemple de AWS CLI commande suivant crée un magasin de données d'événements qui enregistre les événements extérieurs AWS. Pour les événements d'activité, la valeur du sélecteur de champ `eventCategory` est `ActivityAuditLog`. Le stockage de données d'événement a une période de conservation de 90 jours. Par défaut, le magasin de données d'événements collecte les événements de toutes les régions, mais comme il ne collecte pas d'AWS événements, définissez-le sur une seule région en ajoutant l'`--no-multi-region-enabled`option. La protection contre la résiliation est activée par défaut et le stockage de données d'événement ne collecte pas d'événements pour les comptes d'une organisation.

   ```
   aws cloudtrail create-event-data-store \
   --name my-event-data-store \
   --no-multi-region-enabled \
   --retention-period 90 \
   --advanced-event-selectors '[
       {
         "Name": "Select all external events",
         "FieldSelectors": [
             { "Field": "eventCategory", "Equals": ["ActivityAuditLog"] }
           ]
       }
     ]'
   ```

   Voici un exemple de réponse.

   ```
   {
       "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE",
       "Name": "my-event-data-store",
       "AdvancedEventSelectors": [
           {
              "Name": "Select all external events",
              "FieldSelectors": [
                 {
                     "Field": "eventCategory",
                     "Equals": [
                         "ActivityAuditLog"
                       ]
                   }
               ]
           }
       ],
       "MultiRegionEnabled": true,
       "OrganizationEnabled": false,
       "BillingMode": "EXTENDABLE_RETENTION_PRICING",
       "RetentionPeriod": 90,
       "TerminationProtectionEnabled": true,
       "CreatedTimestamp": "2023-10-27T10:55:55.384000-04:00",
       "UpdatedTimestamp": "2023-10-27T10:57:05.549000-04:00"
   }
   ```

   Vous aurez besoin de l'ID du stockage de données d'événement (le suffixe de l'ARN, ou `EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE` dans l'exemple de réponse précédent) pour passer à l'étape suivante et créer votre canal.

1. Exécutez la [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/create-channel.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/create-channel.html)commande pour créer un canal permettant à un partenaire ou à une application source d'envoyer des événements vers un magasin de données d'événements dans CloudTrail.

   Un canal dispose des composants suivants :  
**Source**  
CloudTrail utilise ces informations pour identifier les partenaires auxquels les données relatives aux événements sont envoyées CloudTrail en votre nom. Une source est requise et peut être `Custom` pour tous les événements externes àAWS valides, ou le nom d'une source d'événements partenaires. Un seul canal est autorisé par source.  
Pour plus d'informations sur les valeurs `Source` des partenaires disponibles, veuillez consulter la section [Informations supplémentaires sur les partenaires d'intégration](query-event-data-store-integration.md#cloudtrail-lake-partner-information).  
**Statut d'ingestion**  
Le statut du canal indique le moment auquel les derniers événements ont été reçus d'une source de canal.  
**Destinations**  
Les destinations sont les magasins de données d'événements du CloudTrail lac qui reçoivent les événements du canal. Vous pouvez modifier les stockages de données d'événement de destination pour un canal.

   Pour ne plus recevoir d'événements provenant d'une source, supprimez le canal.

   Afin d'exécuter cette commande, vous avez besoin d'au moins un ID de stockage de données d'événement de destination. Le type de destination valide est `EVENT_DATA_STORE`. Vous pouvez envoyer des événements ingérés vers plusieurs stockages de données d'événement. L'exemple de commande suivant crée un canal qui envoie des événements à deux magasins de données d'événements, représentés par leur valeur IDs dans l'`Location`attribut du `--destinations` paramètre. Les paramètres `--destinations`, `--name` et `--source` sont obligatoires. Pour ingérer les événements d'un CloudTrail partenaire, spécifiez le nom du partenaire sous forme de valeur de`--source`. Pour ingérer des événements provenant de vos propres applications externes AWS, spécifiez `Custom` comme valeur de`--source`.

   ```
   aws cloudtrail create-channel \
       --region us-east-1 \
       --destinations '[{"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE"}, {"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEg922-5n2l-3vz1- apqw8EXAMPLE"}]'
       --name my-partner-channel \
       --source $partnerSourceName \
   ```

   Dans la réponse à votre commande **create-channel**, copiez l'ARN du nouveau canal. Vous avez besoin de l'ARN pour exécuter les commandes `put-resource-policy` et `put-audit-events` au cours des étapes suivantes.

1.  Exécutez la **put-resource-policy**commande pour associer une politique de ressources au canal. Les politiques de ressources sont des documents de politique JSON précisant les actions qu’un principal spécifié peut effectuer sur la ressource ainsi que les conditions dans lesquelles ces actions peuvent être effectuées. Les comptes définis comme principaux dans la politique de ressources du canal peuvent appeler l'API `PutAuditEvents` pour transmettre des événements. 
**Note**  
Si vous ne créez pas de politique de ressources pour le canal, seul son propriétaire peut appeler l’API `PutAuditEvents` sur celui-ci.

   Les informations requises pour la politique sont déterminées par le type d'intégration.
   + Pour une intégration de direction, la politique CloudTrail doit contenir le AWS compte IDs du partenaire et vous devez saisir l'identifiant externe unique fourni par le partenaire. CloudTrail ajoute automatiquement le AWS compte du partenaire IDs à la politique de ressources lorsque vous créez une intégration à l'aide de la CloudTrail console. Reportez-vous à la [documentation du partenaire](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-integration.html#cloudtrail-lake-partner-information#lake-integration-partner-documentation) pour savoir comment obtenir les numéros de AWS compte requis pour la police.
   + Pour une intégration de solution, vous devez spécifier au moins un identifiant de AWS compte comme identifiant principal, et vous pouvez éventuellement saisir un identifiant externe pour éviter toute confusion entre les adjoints.

   Voici les conditions requises pour la politique de ressources :
   + L'ARN de ressource défini dans la politique doit correspondre à l'ARN du canal auquel la politique est attachée.
   +  La politique ne contient qu'une seule action : cloudtrail-data : PutAuditEvents 
   +  La politique contient au moins une instruction. La politique peut comporter un maximum de 20 instructions. 
   +  Chaque instruction comprend au moins un principal. Une instruction peut comporter un maximum de 50 principaux. 

   ```
   aws cloudtrail put-resource-policy \
       --resource-arn "channelARN" \
       --policy "{
       "Version": "2012-10-17",		 	 	 
       "Statement":
       [
           {
               "Sid": "ChannelPolicy",
               "Effect": "Allow",
               "Principal":
               {
                   "AWS":
                   [
                       "arn:aws:iam::111122223333:root",
                       "arn:aws:iam::444455556666:root",
                       "arn:aws:iam::123456789012:root"
                   ]
               },
               "Action": "cloudtrail-data:PutAuditEvents",
               "Resource": "arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b",
               "Condition":
               {
                   "StringEquals":
                   {
                       "cloudtrail:ExternalId": "UniqueExternalIDFromPartner"
                   }
               }
           }
       ]
   }"
   ```

   Pour plus d’informations sur les stratégies de ressources, consultez [AWS CloudTrail exemples de politiques basées sur les ressources](security_iam_resource-based-policy-examples.md).

1. Exécutez l'[https://docs.aws.amazon.com/awscloudtraildata/latest/APIReference/API_PutAuditEvents.html](https://docs.aws.amazon.com/awscloudtraildata/latest/APIReference/API_PutAuditEvents.html)API pour y intégrer CloudTrail les événements de votre activité. Vous aurez besoin de la charge utile des événements que vous souhaitez CloudTrail ajouter. Assurez-vous qu'aucune information sensible ou d'identification personnelle ne se trouve dans la charge utile de l'événement avant de l'ingérer. CloudTrail Notez que l'API `PutAuditEvents` utilise le point de terminaison CLI `cloudtrail-data`, et non le point de terminaison `cloudtrail`.

   Les exemples suivants montrent comment utiliser la commande de la CLI **put-audit-events**. Les paramètres **--audit-events** et **--channel-arn** sont obligatoires. Le paramètre **--external-id** est requis si un ID externe est défini dans la politique de ressources. Vous avez besoin de l'ARN du canal que vous avez créé à l'étape précédente. La valeur de **--audit-events** est un tableau JSON d'objets d'événements. `--audit-events`inclut un identifiant requis pour l'événement, la charge utile requise de l'événement comme valeur de`EventData`, et une [somme de contrôle facultative](#lake-cli-integration-checksum.title) pour aider à valider l'intégrité de l'événement après son ingestion. CloudTrail

   ```
   aws cloudtrail-data put-audit-events \
   --channel-arn $ChannelArn \
   --external-id $UniqueExternalIDFromPartner \
   --audit-events \
   id="event_ID",eventData='"{event_payload}"' \
   id="event_ID",eventData='"{event_payload}"',eventDataChecksum="optional_checksum"
   ```

   Voici un exemple de commande avec deux exemples d'événement.

   ```
   aws cloudtrail-data put-audit-events \
   --channel-arn arn:aws:cloudtrail:us-east-1:123456789012:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE \
   --external-id UniqueExternalIDFromPartner \
   --audit-events \
   id="EXAMPLE3-0f1f-4a85-9664-d50a3EXAMPLE",eventData='"{\"eventVersion\":\0.01\",\"eventSource\":\"custom1.domain.com\", ...
   \}"' \
   id="EXAMPLE7-a999-486d-b241-b33a1EXAMPLE",eventData='"{\"eventVersion\":\0.02\",\"eventSource\":\"custom2.domain.com\", ...
   \}"',eventDataChecksum="EXAMPLE6e7dd61f3ead...93a691d8EXAMPLE"
   ```

   L'exemple de commande suivant ajoute le paramètre `--cli-input-json` pour spécifier un fichier JSON (`custom-events.json`) de charge utile d'événement.

   ```
   aws cloudtrail-data put-audit-events --channel-arn $channelArn --external-id $UniqueExternalIDFromPartner --cli-input-json file://custom-events.json --region us-east-1
   ```

   Voici les exemples de contenu de l’exemple de fichier JSON, `custom-events.json`.

   ```
   {
       "auditEvents": [
         {
           "eventData": "{\"version\":\"eventData.version\",\"UID\":\"UID\",
           \"userIdentity\":{\"type\":\"CustomUserIdentity\",\"principalId\":\"principalId\",
           \"details\":{\"key\":\"value\"}},\"eventTime\":\"2021-10-27T12:13:14Z\",\"eventName\":\"eventName\",
           \"userAgent\":\"userAgent\",\"eventSource\":\"eventSource\",
           \"requestParameters\":{\"key\":\"value\"},\"responseElements\":{\"key\":\"value\"},
           \"additionalEventData\":{\"key\":\"value\"},
           \"sourceIPAddress\":\"12.34.56.78\",\"recipientAccountId\":\"152089810396\"}",
           "id": "1"
         }
      ]
   }
   ```

Vous pouvez vérifier que l'intégration fonctionne et CloudTrail qu'elle intègre correctement les événements provenant de la source en exécutant la [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/get-channel.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/get-channel.html)commande. La sortie de **get-channel** indique l'horodatage le plus récent ayant CloudTrail reçu des événements.

```
aws cloudtrail get-channel --channel arn:aws:cloudtrail:us-east-1:01234567890:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE
```

## (Facultatif) Calcul d'une valeur de somme de contrôle
<a name="lake-cli-integration-checksum"></a>

La somme de contrôle que vous spécifiez comme valeur de `EventDataChecksum` dans une `PutAuditEvents` demande vous permet de vérifier qui CloudTrail reçoit l'événement correspondant à la somme de contrôle ; elle permet de vérifier l'intégrité des événements. La valeur checksum est un SHA256 algorithme base64 que vous calculez en exécutant la commande suivante.

```
printf %s "{"eventData": "{\"version\":\"eventData.version\",\"UID\":\"UID\",
        \"userIdentity\":{\"type\":\"CustomUserIdentity\",\"principalId\":\"principalId\",
        \"details\":{\"key\":\"value\"}},\"eventTime\":\"2021-10-27T12:13:14Z\",\"eventName\":\"eventName\",
        \"userAgent\":\"userAgent\",\"eventSource\":\"eventSource\",
        \"requestParameters\":{\"key\":\"value\"},\"responseElements\":{\"key\":\"value\"},
        \"additionalEventData\":{\"key\":\"value\"},
        \"sourceIPAddress\":\"source_IP_address\",
        \"recipientAccountId\":\"recipient_account_ID\"}",
        "id": "1"}" \
 | openssl dgst -binary -sha256 | base64
```

La commande renvoie la somme de contrôle. Voici un exemple.

```
EXAMPLEDHjkI8iehvCUCWTIAbNYkOgO/t0YNw+7rrQE=
```

La valeur de la somme de contrôle devient la valeur de `EventDataChecksum` dans votre demande `PutAuditEvents`. Si la somme de contrôle ne correspond pas à celle de l'événement fourni, CloudTrail rejette l'événement avec une `InvalidChecksum` erreur.

# Mettez à jour une chaîne avec AWS CLI
<a name="lake-cli-update-channel"></a>

Cette section décrit comment vous pouvez utiliser le AWS CLI pour mettre à jour un canal pour une intégration CloudTrail Lake. Vous pouvez exécuter la `update-channel` commande pour mettre à jour le nom du canal ou pour spécifier un autre magasin de données d'événements de destination. Vous ne pouvez pas mettre à jour la source d'un canal.

Lorsque vous exécutez la commande, le `--channel` paramètre est obligatoire.

L'exemple suivant montre comment mettre à jour le nom et la destination du canal.

```
aws cloudtrail update-channel \
--channel aws:cloudtrail:us-east-1:123456789012:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE \
--name "new-channel-name" \
--destinations '[{"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE"}, {"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEg922-5n2l-3vz1- apqw8EXAMPLE"}]'
```

# Supprimer une chaîne pour supprimer une intégration avec AWS CLI
<a name="lake-cli-delete-integration"></a>

Cette section décrit comment exécuter la `delete-channel` commande pour supprimer le canal pour une intégration CloudTrail Lake. Vous supprimeriez une chaîne si vous vouliez arrêter d'ingérer des événements liés à un partenaire ou à d'autres activités en dehors de AWS. L'ARN ou l'ID de canal (le suffixe ARN) du canal que vous souhaitez supprimer est obligatoire.

L'exemple suivant montre comment supprimer le canal.

```
aws cloudtrail delete-channel \
--channel EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE
```