Creación de consultas de CloudTrail Lake a partir de peticiones de lenguaje natural
Puede usar el generador de consultas de CloudTrail Lake para generar una consulta a partir de una petición en inglés que proporcione. El generador de consultas usa inteligencia artificial generativa (IA generativa) para generar una consulta SQL lista para usar a partir de su petición, que luego puede ejecutar en el editor de consultas de Lake o afinar. No es necesario tener amplios conocimientos de los campos de eventos de SQL o CloudTrail para utilizar el generador de consultas.
La petición puede ser una pregunta o una instrucció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. Cuando envía comentarios, CloudTrail guarda su petición y la consulta generada.
No incluya ninguna información de identificación personal, confidencial o sensible en sus peticiones.
Esta característica usa modelos de lenguaje grandes (LLM) con IA generativa; se recomienda comprobar la respuesta del LLM.
Puede acceder al generador de consultas a través de la consola de CloudTrail y AWS CLI.
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 característica puede utilizarse en las siguientes Regiones 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 eventos de CloudTrail (eventos de administración, de datos y de actividad de la red).
-
El generador de consultas no puede generar consultas de peticiones que no pertenezcan a 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, sustituya eds-id por el ID del almacén de datos de eventos que quiera consultar y sustituya las marcas temporales por las que correspondan a 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 FROMeds-idWHERE 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 FROMeds-idWHERE 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 FROMeds-idWHERE 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 * FROMeds-idWHERE 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 FROMeds-idWHERE 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 the CloudFormation stack with name myStack on the date 2024-05-01.
Consulta SQL:
SELECT eventID FROMeds-idWHERE 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 FROMeds-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 * FROMeds-idWHERE 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' )