Cree consultas de CloudTrail Lake a partir de mensajes en lenguaje natural - AWS CloudTrail

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 consultas de CloudTrail Lake a partir de mensajes en lenguaje natural

Puedes usar el generador de consultas de CloudTrail Lake para generar una consulta a partir de un mensaje en inglés que proporciones. El generador de consultas utiliza inteligencia artificial generativa (IA generativa) para generar una consulta ready-to-use SQL a partir de tu solicitud, que luego puedes ejecutar en el editor de consultas de Lake o ajustarla con mayor precisión. No necesitas tener amplios conocimientos de SQL o de campos de CloudTrail eventos para usar el generador de consultas.

El mensaje puede ser una pregunta o una declaración sobre los datos de eventos del almacén de datos de eventos de CloudTrail Lake. Por ejemplo, puede ingresar las peticiones como "What are my top errors in the past month?" y “Give me a list of users that used SNS.”.

La petición puede tener un mínimo de 3 caracteres y un máximo de 500.

La generación de consultas no conlleva cargos; sin embargo, al ejecutar consultas, incurre en cargos según la cantidad de datos optimizados y comprimidos que se escanean. Para ayudar a controlar los costos, le recomendamos que restrinja las consultas agregando marcas temporales eventTime de inicio y finalización a las consultas.

nota

Para enviar comentarios acerca de una consulta generada, pulse el botón con el pulgar hacia arriba o hacia abajo que aparece debajo de la consulta generada. Al enviar comentarios, CloudTrail guarda el mensaje y la consulta generada.

No incluya ninguna información de identificación personal, confidencial o sensible en sus peticiones.

Esta función utiliza modelos generativos de lenguajes extensos de IA (LLMs); te recomendamos comprobar bien la respuesta del LLM.

Puede acceder al generador de consultas mediante la CloudTrail consola y. AWS CLI

CloudTrail console
Para usar el generador de consultas de la CloudTrail consola
  1. Inicie sesión en Consola de administración de AWS y abra la CloudTrail consola en https://console.aws.amazon.com/cloudtrail/.

  2. En el panel de navegación, en Lago, elija Consulta.

  3. En la página Consulta, seleccione la pestaña Editor.

  4. Elija el almacén de datos de eventos para el que desea crear una consulta.

  5. En el área del Generador de consultas, introduzca una petición en un inglés sencillo. Para ver ejemplos, consulte Ejemplos de peticiones.

  6. Elija Generar consulta. El generador de consultas intentará generar una consulta a partir de su petición. Si se ejecuta correctamente, el generador de consultas proporciona la consulta SQL en el editor. Si la petición no funciona, reformúlela e inténtelo de nuevo.

  7. (Opcional) Puede enviar los comentarios sobre la consulta generada. Para enviar comentarios, pulse el botón con el pulgar hacia arriba o hacia abajo que aparece debajo de la petición. Al enviar comentarios, CloudTrail guarda el mensaje y la consulta generada.

  8. (Opcional) Seleccione Ejecutar para ejecutar la consulta.

    nota

    Cuando ejecuta consultas, incurre en cargos según la cantidad de datos optimizados y comprimidos que se escanean. Para ayudar a controlar los costos, le recomendamos que restrinja las consultas agregando marcas temporales eventTime de inicio y finalización a las consultas.

  9. (Opcional) Si ejecuta la consulta y hay resultados, puede elegir Resumir los resultados para generar un resumen en lenguaje natural en inglés de los resultados de la consulta. Esta opción utiliza inteligencia artificial generativa (IA generativa) para producir el resumen. Para obtener más información acerca de esta opción, consulta Resumen de los resultados de las consultas en lenguaje natural.

    Para ofrecer comentarios sobre el resumen, elija el botón de aprobación hacia arriba o hacia abajo que aparece debajo del resumen generado.

    nota

    La función de resumen de consultas se encuentra en la versión preliminar de CloudTrail Lake y está sujeta a cambios. Esta característica está disponible en las siguientes regiones: Asia-Pacífico (Tokio), Este de EE. UU. (Norte de Virginia) y Oeste de EE. UU. (Oregón).

AWS CLI

Para generar una consulta con el AWS CLI

Ejecute el comando generate-query para generar una consulta a partir de una petición en inglés. En --event-data-stores, brinde el ARN (o el sufijo de ID del ARN) del almacén de datos de eventos que quiera consultar. Solo puede especificar un almacén de datos de eventos. Para --prompt, brinde la petición en inglés.

aws cloudtrail generate-query --event-data-stores arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-ee54-4813-92d5-999aeEXAMPLE \ --prompt "Show me all console login events for the past week?"

Si se realiza de manera correcta, el comando genera una instrucción SQL y ofrece una QueryAlias que utilizará junto con el comando start-query para ejecutar la consulta en el almacén de datos de eventos.

{ "QueryStatement": "SELECT * FROM $EDS_ID WHERE eventname = 'ConsoleLogin' AND eventtime >= timestamp '2024-09-16 00:00:00' AND eventtime <= timestamp '2024-09-23 00:00:00' AND eventSource = 'signin.amazonaws.com'", "QueryAlias": "AWSCloudTrail-UUID" }

Para ejecutar una consulta con AWS CLI

Ejecute el comando start-query con el QueryAlias generado por el comando generate-query del ejemplo anterior. También tiene la opción de ejecutar el comando start-query mediante la QueryStatement.

aws cloudtrail start-query --query-alias AWSCloudTrail-UUID

La respuesta es una cadena QueryId. Para obtener el estado de una consulta, ejecute describe-query utilizando el valor QueryId devuelto por start-query. Si la consulta se realiza correctamente, se puede ejecutar get-query-results para obtener resultados.

{ "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE" }
nota

Es posible que las consultas que se ejecuten durante más de una hora agoten el tiempo de espera. Aun así, puede que obtenga resultados parciales que se hayan procesado antes de que se agotara el tiempo de espera de la consulta.

Si envía los resultados de la consulta a un depósito de S3 mediante el --delivery-s3uri parámetro opcional, la política del depósito debe conceder CloudTrail permiso para enviar los resultados de la consulta al depósito. Para obtener más información sobre cómo editar manualmente la política del bucket, consulte Política de buckets de Amazon S3 para los resultados de consultas de CloudTrail Lake.

Permisos necesarios

Las políticas administradas AWSCloudTrail_FullAccess y AdministratorAccess brindan los permisos necesarios para utilizar esta característica.

También puede incluir la acción cloudtrail:GenerateQuery en una política integrada o administrada por el cliente, nueva o existente.

Compatibilidad de regiones

Esta función es compatible con lo siguienteRegiones de AWS:

  • Región Asia-Pacífico (Mumbai) (ap-south-1)

  • Región Asia-Pacífico (Sídney) (ap-southeast-2)

  • Región Asia-Pacífico (Tokio) (ap-northeast-1)

  • Región Canadá (Central) (ca-central-1)

  • Región Europa (Londres) (eu-west-2)

  • Región Este de EE. UU. (Norte de Virginia) (us-east-1)

  • Región Oeste de EE. UU. (Oregón) (us-west-2)

Limitaciones

A continuación se enumeran las limitaciones del generador de consultas:

  • El generador de consultas solo acepta peticiones en inglés.

  • El generador de consultas solo puede generar consultas para los almacenes de datos de eventos que recopilan CloudTrail eventos (eventos de administración, eventos de datos, eventos de actividad de red).

  • El generador de consultas no puede generar consultas para solicitudes que no estén relacionadas con los datos de eventos de CloudTrail Lake.

Ejemplos de peticiones

En esta sección se proporcionan ejemplos de peticiones y las consultas SQL resultantes generadas a partir de ellas.

Si decide ejecutar las consultas de ejemplo de esta sección, eds-id sustitúyalas por el ID del banco de datos del evento que desea consultar y sustituya las marcas de tiempo por las marcas de tiempo adecuadas para su caso de uso. Las marcas temporales tienen el siguiente formato: YYYY-MM-DD HH:MM:SS.

Petición: What are my top errors in the past month?

Consulta SQL:

SELECT errorMessage, COUNT(*) as eventCount FROM eds-id WHERE errorMessage IS NOT NULL AND eventTime >= timestamp '2024-05-01 00:00:00' AND eventTime <= timestamp '2024-05-31 23:59:59' GROUP BY 1 ORDER BY 2 DESC LIMIT 2;

Petición: Give me a list of users that used Amazon SNS.

Consulta SQL:

SELECT DISTINCT userIdentity.arn AS user FROM eds-id WHERE eventSource = 'sns.amazonaws.com'

Petición: What are my API counts each day for read and write events in the past month?

Consulta SQL:

SELECT date(eventTime) AS event_date, SUM( CASE WHEN readonly = true THEN 1 ELSE 0 END ) AS read_events, SUM( CASE WHEN readonly = false THEN 1 ELSE 0 END ) AS write_events FROM eds-id WHERE eventTime >= timestamp '2024-05-04 00:00:00' AND eventTime <= timestamp '2024-06-04 23:59:59' GROUP BY 1 ORDER BY 1 ASC;

Petición: Show any events with access denied errors for the past three weeks.

Consulta SQL:

SELECT * FROM eds-id WHERE WHERE (errorCode = 'AccessDenied' OR errorMessage = 'Access Denied') AND eventTime >= timestamp '2024-05-16 01:00:00' AND eventTime <= timestamp '2024-06-06 01:00:00'

Petición: Query the number of calls each operator performed on the date 2024-05-01. The operator is a principal tag.

Consulta SQL:

SELECT element_at( eventContext.tagContext.principalTags, 'operator' ) AS operator, COUNT(*) AS eventCount FROM eds-id WHERE eventtime >= '2024-05-01 00:00:00' AND eventtime < '2024-05-01 23:59:59' GROUP BY 1 ORDER BY 2 DESC;

Petición: Give me all event IDs that touched resources within theCloudFormationstack with name myStack on the date 2024-05-01.

Consulta SQL:

SELECT eventID FROM eds-id WHERE any_match( eventContext.tagcontext.resourcetags, rt->element_at(rt.tags, 'aws:cloudformation:stack-name') = 'myStack' ) AND eventtime >= '2024-05-01 00:00:00' AND eventtime < '2024-05-01 23:59:59'

Petición: Count the number of events grouped by resource tag 'solution' values, listing them in descending order of count.

Consulta SQL:

SELECT element_at(rt.tags, 'solution'), count(*) as event_count FROM eds-id, unnest(eventContext.tagContext.resourceTags) as rt WHERE eventtime < '2025-05-14 19:00:00' GROUP BY 1 ORDER BY 2 DESC;

Petición: Find all Amazon S3 data events where resource tag Environment has value prod.

Consulta SQL:

SELECT * FROM eds-id WHERE eventCategory = 'Data' AND eventSource = 's3.amazonaws.com' AND eventtime >= '2025-05-14 00:00:00' AND eventtime < '2025-05-14 20:00:00' AND any_match( eventContext.tagContext.resourceTags, rt->element_at(rt.tags, 'Environment') = 'prod' )