

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.

# Consultas de Security Lake para la versión 2 de la AWS fuente (OCSF 1.1.0)
<a name="subscriber-query-examples2"></a>

La siguiente sección proporciona orientación sobre la consulta de datos de Security Lake e incluye algunos ejemplos de consultas de AWS fuentes compatibles de forma nativa con la versión 2 de la fuente.AWS Estas consultas están diseñadas para recuperar datos de una forma específica.Región de AWS Estos ejemplos utilizan us-east-1, es decir, Este de EE. UU. (Norte de Virginia). Además, las consultas de ejemplo utilizan un parámetro `LIMIT 25` que devuelve hasta 25 registros. Puede omitir este parámetro o ajustarlo según sus preferencias. Para ver más ejemplos, consulte el [ GitHub directorio de consultas OCSF de Amazon Security Lake](https://github.com/awslabs/aws-security-analytics-bootstrap/tree/main/AWSSecurityAnalyticsBootstrap/amazon_security_lake_queries).

Puede consultar los datos que Security Lake almacena en AWS Lake Formation bases de datos y tablas. También puede crear suscriptores de terceros en la consola, la API o la AWS CLI de Security Lake. Los suscriptores de terceros también pueden consultar los datos de Lake Formation de los orígenes que especifique.

El administrador del lago de datos de Lake Formation debe conceder permisos de `SELECT` en las bases de datos y tablas pertinentes a la identidad de IAM que consulta los datos. También se debe crear un suscriptor en Security Lake antes de que pueda consultar los datos. Para obtener más información sobre cómo crear una suscriptor con acceso de consulta, lea [Administrar el acceso a las consultas para los suscriptores de Security Lake](subscriber-query-access.md).

Las siguientes consultas incluyen filtros basados en el tiempo que se utilizan `eventDay` para garantizar que la consulta se encuentra dentro de los ajustes de retención configurados. Para obtener más información, consulte [Querying data with retention settings](subscriber-query-examples.md#security-lake-retention-setting-query-data). 

Por ejemplo, si los datos de más de 60 días han caducado, las consultas deben incluir restricciones de tiempo para impedir el acceso a los datos caducados. Para un período de retención de 60 días, incluye la siguiente cláusula en la consulta:

```
...
WHERE time_dt > DATE_ADD('day', -59, CURRENT_TIMESTAMP)
...
```

Esta cláusula utiliza 59 días (en lugar de 60) para evitar cualquier superposición de datos o tiempo entre Amazon S3 y Apache Iceberg.

## Tabla de orígenes de registro
<a name="log-source-table"></a>

Al consultar los datos de Security Lake, debe incluir el nombre de la tabla de Lake Formation en la que residen los datos.

```
SELECT *
FROM "amazon_security_lake_glue_db_DB_Region"."amazon_security_lake_table_DB_Region_SECURITY_LAKE_TABLE"
WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP
LIMIT 25
```

Los valores comunes de la tabla de orígenes de registro incluyen los siguientes:
+ `cloud_trail_mgmt_2_0`— eventos AWS CloudTrail de gestión
+ `lambda_execution_2_0`— eventos CloudTrail de datos para Lambda
+ `s3_data_2_0`— eventos CloudTrail de datos para S3
+ `route53_2_0`: registros de consultas de Amazon Route 53 Resolver
+ `sh_findings_2_0`—AWS Security Hub CSPM hallazgos
+ `vpc_flow_2_0`: registros de flujo de Amazon Virtual Private Cloud (Amazon VPC)
+ `eks_audit_2_0`— Registros de auditoría de Amazon Elastic Kubernetes Service (Amazon EKS)
+ `waf_2_0`— Registros de la versión 2 AWS WAF

**Ejemplo: todos los resultados del CSPM de Security Hub de la tabla de la región `sh_findings_2_0` us-east-1**

```
SELECT *
    FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_sh_findings_2_0"
    WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP
LIMIT 25
```

## Región de base de datos
<a name="database-region"></a>

Al consultar los datos de Security Lake, debe incluir el nombre de región de base de datos de la que está consultando datos. Para obtener una lista completa de las regiones de bases de datos en las que Security Lake está disponible actualmente, consulte [Puntos de conexión de Amazon Security Lake](https://docs.aws.amazon.com/general/latest/gr/securitylake.html).

**Ejemplo: Listar la actividad de Amazon Virtual Private Cloud desde la IP de origen**

En el siguiente ejemplo, se enumeran todas las actividades de Amazon VPC desde la IP de origen {{192.0.2.1}} que se registraron después {{20230301}} (1 de marzo de 2023), en la tabla {{vpc\_flow\_2\_0}} del. {{us-west-2}} `DB_Region`

```
SELECT * 
    FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_vpc_flow_2_0"
    WHERE time_dt > TIMESTAMP '2023-03-01' 
    AND src_endpoint.ip = '192.0.2.1'
    ORDER BY time_dt desc
LIMIT 25
```

## Fecha de partición
<a name="partition-date"></a>

La partición de los datos le permite restringir el volumen de datos que explora cada consulta, lo que mejora el rendimiento y reduce los costos. Las particiones funcionan de forma ligeramente diferente en Security Lake 2.0 en comparación con Security Lake 1.0. Security Lake ahora implementa la partición mediante `time_dt``region`, y`accountid`. Por su parte, Security Lake 1.0 implementó la partición mediante `eventDay` parámetros`region`, y`accountid`. 

Las consultas `time_dt` generarán automáticamente las particiones de fecha de S3 y se pueden consultar como cualquier campo basado en el tiempo en Athena.

Este es un ejemplo de consulta que utiliza la ` time_dt` partición para consultar los registros después del 1 de marzo de 2023:

```
SELECT *
    FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_vpc_flow_2_0"
WHERE time_dt > TIMESTAMP '2023-03-01'
AND src_endpoint.ip = '192.0.2.1'
ORDER BY time desc
LIMIT 25
```

Los valores válidos de `time_dt` incluyen la siguiente información:

**Eventos ocurridos en el último año**  
`WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '1' YEAR`

**Eventos ocurridos en el último año**  
`WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '1' MONTH`

**Eventos ocurridos en los últimos 30 días**  
`WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '30' DAY`

**Eventos ocurridos en las últimas 12 horas**  
`WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '12' HOUR`

**Eventos ocurridos en los últimos 5 minutos**  
`WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '5' MINUTE`

**Eventos ocurridos entre hace 7 y 14 días**  
`WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '14' DAY AND CURRENT_TIMESTAMP - INTERVAL '7' DAY`

**Eventos ocurridos en una fecha específica o después de ella**  
`WHERE time_dt >= TIMESTAMP '2023-03-01'`

**Ejemplo: lista de toda la CloudTrail actividad desde la IP de origen a `192.0.2.1` partir del 1 de marzo de 2023 en la tabla `cloud_trail_mgmt_1_0`**

```
SELECT *
    FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_cloud_trail_mgmt_1_0
    WHERE eventDay >= '{{20230301}}'
    AND src_endpoint.ip = '192.0.2.1'
    ORDER BY time desc
    LIMIT {{25}}
```

**Ejemplo: lista de toda la CloudTrail actividad de la IP de origen `192.0.2.1` en los últimos 30 días en la tabla `cloud_trail_mgmt_1_0`**

```
SELECT *
    FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_cloud_trail_mgmt_1_0
    WHERE eventDay > cast(date_format(current_timestamp - INTERVAL '{{30}}' day, '%Y%m%d%H') as varchar) 
    AND src_endpoint.ip = '192.0.2.1'
    ORDER BY time desc
    LIMIT {{25 }}
```

## Consultando los observables de Security Lake
<a name="querying-observables-examples"></a>

Observables es una nueva función que ahora está disponible en Security Lake 2.0. El objeto observable es un elemento fundamental que contiene información relacionada que se encuentra en muchos lugares del evento. La consulta de los observables permite a los usuarios obtener información de seguridad de alto nivel a partir de sus conjuntos de datos. 

Al consultar elementos específicos dentro de los observables, puede restringir los conjuntos de datos a datos como nombres de usuario específicos, recursos UIDs IPs, hashes y otra información de tipo IOC

Este es un ejemplo de consulta que utiliza la matriz observables para consultar los registros en las tablas VPC Flow y Route53 que contienen el valor IP '172.01.02.03'

```
WITH a AS 
    (SELECT 
    time_dt,
    observable.name,
    observable.value
    FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_vpc_flow_2_0",
    UNNEST(observables) AS t(observable)
    WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP
    AND observable.value='172.01.02.03'
    AND observable.name='src_endpoint.ip'),
b as 
    (SELECT 
    time_dt,
    observable.name,
    observable.value
    FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_route53_2_0",
    UNNEST(observables) AS t(observable)
    WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP
    AND observable.value='172.01.02.03'
    AND observable.name='src_endpoint.ip')
SELECT * FROM a
LEFT JOIN b ON a.value=b.value and a.name=b.name
LIMIT 25
```

## Ejemplo de consultas de Security Lake para los registros de auditoría de Amazon EKS
<a name="example-queries-eks-sourceversion2"></a>

Los registros de Amazon EKS rastrean la actividad del plano de control y proporcionan registros de auditoría y diagnóstico directamente desde el plano de control de Amazon EKS a CloudWatch los registros de su cuenta. Estos registros hacen que le resulte más fácil asegura y ejecutar los clústeres. Los suscriptores pueden consultar los registros de EKS para obtener los siguientes tipos de información.

Estos son algunos ejemplos de consultas de los registros de auditoría de Amazon EKS para la versión 2 de AWS origen:

**Solicitudes a una URL específica en los últimos 7 días**

```
SELECT 
    time_dt,
    actor.user.name,
    http_request.url.path,
    activity_name
FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_eks_audit_2_0" 
WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP 
AND activity_name = 'get'
and http_request.url.path = '/apis/coordination.k8s.io/v1/'
LIMIT 25
```

**Actualice las solicitudes de «10.0.97.167» durante los últimos 7 días**

```
SELECT 
    activity_name,
    time_dt,
    api.request,
    http_request.url.path,
    src_endpoint.ip,
    resources
FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_eks_audit_2_0" 
WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP 
AND src_endpoint.ip = '10.0.97.167'
AND activity_name = 'Update'
LIMIT 25
```

**Solicitudes y respuestas asociadas al recurso 'kube-controller-manager' durante los últimos 7 días**

```
SELECT 
    activity_name,
    time_dt,
    api.request,
    api.response,
    resource.name
FROM "amazon_security_lake_glue_db_us_east_1"."amazon_security_lake_table_us_east_1_eks_audit_2_0",
UNNEST(resources) AS t(resource)
WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '7' DAY AND CURRENT_TIMESTAMP 
AND resource.name = 'kube-controller-manager'
LIMIT 25
```