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
Puede usarlos AWS CLI para crear, actualizar y administrar sus integraciones de CloudTrail Lake. 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
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 utilizado para una integración. -
delete-resource-policy
eliminar la política de recursos asociada a un canal para una integración de CloudTrail Lake. -
get-channel
para devolver información sobre un CloudTrail canal. -
get-resource-policy
para recuperar el texto JSON del documento de política basada en recursos adjunto al CloudTrail canal. -
list-channels
para enumerar los canales de la cuenta corriente y sus nombres de origen. -
put-audit-events
para introducir los eventos de su aplicación en CloudTrail Lake. Es un parámetro obligatorio que acepta los registros JSON (también denominados carga útil) de los eventos que desee CloudTrail ingerir.auditEvents
Puedes añadir hasta 100 de estos eventos (o hasta 1 MB) por solicitud.PutAuditEvents
-
put-resource-policy
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. AWSPara obtener más información sobre las políticas basadas en recursos, consulta AWS CloudTrail los ejemplos de políticas basadas en recursos. -
update-channel
para actualizar un canal especificado por un ARN o UUID de canal requerido.
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
Para obtener una lista de los comandos disponibles para las consultas de CloudTrail Lake, consulteComandos disponibles para las consultas de CloudTrail Lake.
Cree una integración para registrar eventos externos AWS con el AWS CLI
En el AWS CLI, se crea una integración que registra los eventos externos mediante AWS cuatro comandos (tres si ya tiene un almacén 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.
-
Ejecute create-event-data-store
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
esActivityAuditLog
. 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. -
Ejecute el create-channel
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. - 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 sus ID en el atributoLocation
del parámetro--destinations
. 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, especifiqueCustom
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
yput-audit-events
en los siguientes pasos. -
Ejecute el put-resource-policycomando 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 de Direction, es CloudTrail necesario que la política contenga los ID de AWS cuenta del socio y que introduzcas el identificador externo exclusivo proporcionado por el socio. CloudTrail añade automáticamente los ID de AWS cuenta del socio a la política de recursos al crear una integración mediante la CloudTrail consola. Consulte la documentación del socio 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.
-
-
Ejecuta la
PutAuditEvents
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 APIPutAuditEvents
utiliza el punto de conexióncloudtrail-data
de la CLI, no el punto de conexióncloudtrail
.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 para ayudar a validar la integridad del evento tras su incorporación. CloudTrailaws 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. get-channel
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
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 y a comprobar la integridad de los eventos. El valor de la suma de comprobación es un algoritmo base64-SHA256 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 el AWS CLI
Para actualizar el nombre de un canal o los almacenes de datos de eventos de destino, ejecute el comando update-channel. El parámetro --channel
es obligatorio. No se puede actualizar el origen de un canal. A continuación, se muestra un ejemplo.
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"}]'
Eliminar un canal para eliminar una integración con el AWS CLI
Para dejar de ingerir eventos de la pareja o de otras actividades externas AWS, elimina el canal ejecutando el delete-channel comando. Se requiere el ARN o el ID (el sufijo ARN) del canal que desea eliminar. A continuación, se muestra un ejemplo.
aws cloudtrail delete-channel \ --channel EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE