

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Cree, actualice y gestione las integraciones de CloudTrail Lake con AWS CLI
<a name="lake-integrations-cli"></a>

En esta sección se describen los comandos que puede usar para crear, actualizar y administrar sus integraciones de CloudTrail Lake mediante. AWS CLI

Cuando utilice el AWS CLI, recuerde que sus comandos se ejecutan en la Región de AWS configuración de su perfil. Si desea ejecutar los comandos en otra región, cambie la región predeterminada de su perfil o utilice el parámetro **--region** con el comando.

## Comandos disponibles para las integraciones de CloudTrail Lake
<a name="lake-integrations-cli-commands"></a>

Los comandos para crear, actualizar y administrar integraciones en CloudTrail Lake incluyen:
+ `create-event-data-store`para crear un almacén de datos de eventos para eventos externos a. AWS
+ `delete-channel` para eliminar un canal usado para una integración.
+ `[delete-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/delete-resource-policy.html)`para eliminar la política de recursos asociada a un canal para una integración de CloudTrail Lake.
+ `[get-channel](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/get-channel.html)`para devolver información sobre un CloudTrail canal.
+ `[get-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/get-resource-policy.html)`para recuperar el texto JSON del documento de política basada en recursos adjunto al CloudTrail canal.
+ `[list-channels](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/list-channels.html)` para enumerar los canales de la cuenta actual y sus nombres de origen.
+ `[put-audit-events](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail-data/put-audit-events.html)`para incorporar los eventos de su aplicación a Lake. CloudTrail Es un parámetro obligatorio que acepta los registros JSON (también denominados carga útil) de los eventos que desee CloudTrail ingerir. `auditEvents` Puede agregar hasta 100 de estos eventos(o hasta 1 MB) por solicitud `PutAuditEvents`.
+ `[put-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/put-resource-policy.html)`para adjuntar una política de permisos basada en recursos a un CloudTrail canal que se utilice para una integración con una fuente de eventos externa a. AWS Para más información sobre las políticas basadas en los recursos, consulte los [ejemplos de políticas de AWS CloudTrail basadas en recursos](security_iam_resource-based-policy-examples.md).
+ `update-channel` para actualizar un canal especificado mediante un ARN o UUID de canal necesario.

Para obtener una lista de los comandos disponibles para los almacenes de datos de eventos de CloudTrail Lake, consulte. [Comandos disponibles para los almacenes de datos de eventos](lake-eds-cli.md#lake-eds-cli-commands)

Para obtener una lista de los comandos disponibles para las consultas de CloudTrail Lake, consulte[Comandos disponibles para las consultas de CloudTrail Lake](lake-queries-cli.md#lake-queries-cli-commands).

Para obtener una lista de los comandos disponibles para los paneles de CloudTrail Lake, consulte[Comandos disponibles para los paneles](lake-dashboard-cli.md#lake-dashboard-cli-commands).

# Cree una integración para registrar eventos externos AWS con el AWS CLI
<a name="lake-cli-create-integration"></a>

En esta sección, se describe cómo se puede utilizar AWS CLI para crear una integración de CloudTrail Lake para registrar eventos externos AWS.

En él AWS CLI, puede crear una integración con cuatro comandos (tres si ya tiene un banco de datos de eventos que cumpla con los criterios). Los almacenes de datos de eventos que utilice como destinos para una integración deben ser para una sola región y una sola cuenta; no pueden ser multirregionales, no pueden registrar eventos para las organizaciones y solo pueden incluir eventos de actividad. AWS Organizations El tipo de evento en la consola debe ser **Events from integrations** (Eventos de integraciones). En la API, el valor `eventCategory` debe ser `ActivityAuditLog`. Para obtener más información acerca de las integraciones, consulte [Cree una integración con una fuente de eventos externa a AWS](query-event-data-store-integration.md).

1. Ejecute [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/index.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/index.html) para crear un almacén de datos de eventos si aún no tiene uno o varios almacenes de datos de eventos que pueda utilizar para la integración.

   El siguiente AWS CLI comando de ejemplo crea un banco de datos de eventos que registra los eventos externos AWS. Para los eventos de actividad, el valor del selector de campo `eventCategory` es `ActivityAuditLog`. El almacén de datos de eventos tiene establecido un periodo de retención de 90 días. De forma predeterminada, el banco de datos de eventos recopila eventos de todas las regiones, pero dado que recopila eventos que no son AWS eventos, configúrelo en una sola región agregando la `--no-multi-region-enabled` opción. La protección contra la terminación está habilitada de forma predeterminada y el almacén de datos de eventos no recopila eventos para cuentas de una organización.

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

   A continuación, se muestra un ejemplo de respuesta.

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

   Necesitará el ID del almacén de datos de eventos (el sufijo del ARN o `EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE` en el ejemplo de respuesta anterior) para continuar con el siguiente paso y crear el canal.

1. Ejecute el [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)comando para crear un canal que permita a una aplicación asociada o de origen enviar eventos a un banco de datos de eventos en el que se encuentra CloudTrail.

   Un canal tiene los siguientes componentes:  
**Origen**  
CloudTrail utiliza esta información para determinar a qué socios envían los datos del evento CloudTrail en su nombre. Se requiere un origen, que puede ser `Custom` para todos los eventos válidos que no son de AWS , o el nombre de un origen de eventos asociado. Se permite un máximo de un canal por origen.  
Para obtener más información sobre los valores `Source` para socios disponibles, consulte [Información adicional acerca de los socios de integración](query-event-data-store-integration.md#cloudtrail-lake-partner-information).  
**Estado de la ingesta**  
El estado del canal muestra cuándo se recibieron los últimos eventos de un origen de canal.  
**Destinos**  
Los destinos son los almacenes de datos de eventos de CloudTrail Lake que reciben eventos del canal. Puede cambiar los almacenes de datos de eventos de destino de un canal.

   Para dejar de recibir eventos de un origen, elimine el canal.

   Necesita el ID de al menos un almacén de datos de eventos de destino para ejecutar este comando. El tipo de destino válido es `EVENT_DATA_STORE`. Puede enviar los eventos ingeridos a más de un almacén de datos de eventos. El siguiente comando de ejemplo crea un canal que envía eventos a dos almacenes de datos de eventos, representados por ellos IDs en el `Location` atributo del `--destinations` parámetro. Los parámetros `--destinations`, `--name` y `--source` son obligatorios. Para ingerir eventos de un CloudTrail socio, especifique el nombre del socio como el valor de`--source`. Para ingerir eventos de sus propias aplicaciones externas AWS, especifique `Custom` el valor 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 \
   ```

   En la respuesta al comando **create-channel**, copie el ARN del canal nuevo. Necesitará el ARN para ejecutar los comandos `put-resource-policy` y `put-audit-events` en los siguientes pasos.

1.  Ejecute el **put-resource-policy**comando para adjuntar una política de recursos al canal. Las políticas de recursos son documentos de política JSON que especifican qué acciones puede realizar una entidad principal especificada en el recurso y bajo qué condiciones. Las cuentas definidas como entidades principales en la política de recursos del canal pueden llamar a la API `PutAuditEvents` para enviar eventos. 
**nota**  
Si no se crea una política de recursos para el canal, solo el propietario del canal puede llamar a la API `PutAuditEvents` del canal.

   La información necesaria para la política está determinada por el tipo de integración.
   + Para una integración directa, es CloudTrail necesario que la política incluya la AWS cuenta IDs del socio y que introduzcas el identificador externo exclusivo proporcionado por el socio. CloudTrail añade automáticamente la AWS cuenta del socio IDs a la política de recursos al crear una integración mediante la CloudTrail consola. Consulte la [documentación del socio](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-integration.html#cloudtrail-lake-partner-information#lake-integration-partner-documentation) para obtener información sobre cómo obtener los números de AWS cuenta necesarios para la política.
   + Para integrar la solución, debe especificar al menos un identificador de AWS cuenta como principal y, si lo desea, puede introducir un identificador externo para evitar que el agente se confunda.

   A continuación, se enumeran los requisitos de la política de recursos:
   + El ARN del recurso definido en la política debe coincidir con el ARN del canal al que está asociada la política.
   +  La política contiene solo una acción: cloudtrail-data: PutAuditEvents 
   +  La política contiene como mínimo una instrucción. La política puede tener como máximo 20 instrucciones. 
   +  Cada instrucción contiene como mínimo una entidad principal. Una instrucción puede tener como máximo 50 entidades principales. 

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

   Para obtener más información sobre las políticas de recursos, consulte [AWS CloudTrail ejemplos de políticas basadas en recursos](security_iam_resource-based-policy-examples.md).

1. Ejecuta la [https://docs.aws.amazon.com/awscloudtraildata/latest/APIReference/API_PutAuditEvents.html](https://docs.aws.amazon.com/awscloudtraildata/latest/APIReference/API_PutAuditEvents.html)API para incorporar tus eventos de actividad. CloudTrail Necesitarás la carga útil de eventos que deseas CloudTrail añadir. Asegúrate de que no haya información confidencial o de identificación personal en la carga útil del evento antes de incorporarla. CloudTrail Tenga en cuenta que la API `PutAuditEvents` utiliza el punto de conexión `cloudtrail-data` de la CLI, no el punto de conexión `cloudtrail`.

   Los siguientes ejemplos muestran cómo utilizar el comando **put-audit-events** de la CLI. Los parámetros **--audit-events** y **--channel-arn** son obligatorios. El parámetro **--external-id** es obligatorio si se define un ID externo en la política de recursos. Necesita el ARN del canal que creó en el paso anterior. El valor de **--audit-events** es una matriz JSON de objetos de eventos. `--audit-events`incluye un identificador obligatorio del evento, la carga útil requerida del evento como valor del evento y una [suma de `EventData` verificación opcional](#lake-cli-integration-checksum.title) para ayudar a validar la integridad del evento tras su incorporación. 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"
   ```

   A continuación, se muestra un comando de ejemplo con dos ejemplos de eventos.

   ```
   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"
   ```

   El siguiente comando de ejemplo agrega el parámetro `--cli-input-json` para especificar un archivo JSON (`custom-events.json`) de la carga útil del evento.

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

   A continuación, se presenta el contenido de muestra del archivo JSON de ejemplo, `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"
         }
      ]
   }
   ```

Para comprobar que la integración funciona y que CloudTrail está ingiriendo los eventos del origen correctamente, ejecute el comando. [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) El resultado de **get-channel** muestra la marca de tiempo más reciente en la que se CloudTrail recibieron los eventos.

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

## (Opcional) Cálculo de un valor de la suma de comprobación
<a name="lake-cli-integration-checksum"></a>

La suma de comprobación que especifique como valor `EventDataChecksum` en una `PutAuditEvents` solicitud le ayuda a comprobar si CloudTrail recibe el evento que coincide con la suma de comprobación; también ayuda a comprobar la integridad de los eventos. El valor de la suma de comprobación es un SHA256 algoritmo de base 64 que se calcula mediante la ejecución del siguiente comando.

```
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
```

El comando devuelve la suma de comprobación. A continuación se muestra un ejemplo.

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

El valor de la suma de comprobación se convierte en el valor de `EventDataChecksum` en la solicitud `PutAuditEvents`. Si la suma de comprobación no coincide con la del evento proporcionado, CloudTrail rechaza el evento con un error. `InvalidChecksum`

# Actualiza un canal con AWS CLI
<a name="lake-cli-update-channel"></a>

En esta sección, se describe cómo se puede utilizar AWS CLI para actualizar un canal para una integración de CloudTrail Lake. Puede ejecutar el comando `update-channel` para actualizar el nombre del canal o para especificar un otro almacén de datos de eventos de destino. No se puede actualizar el origen de un canal.

Al ejecutar el comando, el parámetro `--channel` es obligatorio.

A continuación, se muestra un ejemplo de cómo actualizar el nombre y el destino del 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"}]'
```

# Elimine un canal para eliminar una integración con AWS CLI
<a name="lake-cli-delete-integration"></a>

En esta sección se describe cómo ejecutar el `delete-channel` comando para eliminar el canal de una integración de CloudTrail Lake. El canal se elimina cuando quiere detener la ingesta de eventos de socios u otros eventos de actividad externos a AWS. Se requiere el ARN o el ID (el sufijo ARN) del canal que desea eliminar.

En el ejemplo siguiente, se muestra cómo eliminar el canal.

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