

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Consultas do Security Lake para a versão AWS de origem 2 (OCSF 1.1.0)
<a name="subscriber-query-examples2"></a>

A seção a seguir fornece orientação sobre como consultar dados do Security Lake e inclui alguns exemplos de consulta para AWS fontes com suporte nativo para a versão de origem 2.AWS Essas consultas são projetadas para recuperar dados em um local específico.Região da AWS Esses exemplos usam us-east-1 (Leste dos EUA (Norte da Virgínia)). Além disso, as consultas de exemplo usam um parâmetro `LIMIT 25`, que retorna até 25 registros. Você pode omitir esse parâmetro ou ajustá-lo com base nas suas preferências. Para obter mais exemplos, consulte o diretório de [consultas GitHub OCSF do Amazon Security Lake](https://github.com/awslabs/aws-security-analytics-bootstrap/tree/main/AWSSecurityAnalyticsBootstrap/amazon_security_lake_queries).

Você pode consultar os dados que o Security Lake armazena em AWS Lake Formation bancos de dados e tabelas. Você também pode criar assinantes terceirizados no console, na API do Security Lake ou na AWS CLI. Assinantes terceirizados também podem consultar dados do Lake Formation nas fontes que você especificar.

O administrador do data lake do Lake Formation deve conceder permissões `SELECT` nos bancos de dados e tabelas relevantes à identidade do IAM que consulta os dados. Um assinante também deve ser criado no Security Lake antes de poder consultar dados. Para obter mais informações sobre como criar um assinante com acesso a consultas, consulte [Gerenciando o acesso de consulta para assinantes do Security Lake](subscriber-query-access.md).

As consultas a seguir incluem filtros baseados em tempo `eventDay` para garantir que sua consulta esteja dentro das configurações de retenção definidas. Para obter mais informações, consulte [Querying data with retention settings](subscriber-query-examples.md#security-lake-retention-setting-query-data). 

Por exemplo, se dados com mais de 60 dias expiraram, suas consultas devem incluir restrições de tempo para impedir o acesso a dados expirados. Por um período de retenção de 60 dias, inclua a seguinte cláusula em sua consulta:

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

Essa cláusula usa 59 dias (em vez de 60) para evitar qualquer sobreposição de dados ou tempo entre o Amazon S3 e o Apache Iceberg.

## Tabela de origem do log
<a name="log-source-table"></a>

Ao consultar dados do Security Lake, você deve incluir o nome da tabela do Lake Formation na qual os dados residem.

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

Os valores comuns da tabela de origem do log incluem o seguinte:
+ `cloud_trail_mgmt_2_0`— eventos AWS CloudTrail de gerenciamento
+ `lambda_execution_2_0`— eventos CloudTrail de dados para Lambda
+ `s3_data_2_0`— eventos CloudTrail de dados para S3
+ `route53_2_0` – Logs de consulta do Amazon Route 53 Resolver
+ `sh_findings_2_0`—AWS Security Hub CSPM descobertas
+ `vpc_flow_2_0` – Logs de fluxo do Amazon Virtual Private Cloud (Amazon VPC)
+ `eks_audit_2_0`— Registros de auditoria do Amazon Elastic Kubernetes Service (Amazon EKS)
+ `waf_2_0`—AWS WAF Registros v2

**Exemplo: Todas as descobertas do CSPM do Security Hub na tabela da região `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ão do banco de dados
<a name="database-region"></a>

Ao consultar dados do Security Lake, você deve incluir o nome da região do banco de dados da qual você está consultando os dados. Para obter uma lista completa das regiões do banco de dados em que o Security Lake está disponível atualmente, consulte os [endpoints do Amazon Security Lake](https://docs.aws.amazon.com/general/latest/gr/securitylake.html).

**Exemplo: Listar a atividade da Amazon Virtual Private Cloud a partir do IP de origem**

O exemplo a seguir lista todas as atividades da Amazon VPC do IP de origem {{192.0.2.1}} que foram registradas após {{20230301}} (01 de março de 2023), na tabela {{vpc\_flow\_2\_0}} do. {{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
```

## Data da partição
<a name="partition-date"></a>

Ao particionar os dados, você pode restringir a quantidade que cada consulta verifica, melhorando a performance e reduzindo o custo. As partições funcionam um pouco diferente no Security Lake 2.0 em comparação com o Security Lake 1.0. O Security Lake agora implementa o particionamento por meio de`time_dt`, e. `region` `accountid` Já o Security Lake 1.0 implementou o particionamento por meio `eventDay` `region` de parâmetros e. `accountid` 

A consulta `time_dt` produzirá automaticamente as partições de data do S3 e pode ser consultada como qualquer campo baseado em horário no Athena.

Este é um exemplo de consulta usando a ` time_dt` partição para consultar os registros após o horário de 01 de março 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
```

Os valores comuns de `time_dt` incluem o seguinte:

**Eventos ocorridos no último 1 ano**  
`WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '1' YEAR`

**Eventos ocorridos no último 1 mês**  
`WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '1' MONTH`

**Eventos ocorridos nos últimos 30 dias**  
`WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '30' DAY`

**Eventos ocorridos nas últimas 12 horas**  
`WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '12' HOUR`

**Eventos ocorridos nos últimos 5 minutos**  
`WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '5' MINUTE`

**Eventos ocorridos entre 7 e 14 dias atrás**  
`WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '14' DAY AND CURRENT_TIMESTAMP - INTERVAL '7' DAY`

**Eventos ocorridos na data específica ou após**  
`WHERE time_dt >= TIMESTAMP '2023-03-01'`

**Exemplo: lista de todas as CloudTrail atividades do IP de origem `192.0.2.1` em ou após 1º de março de 2023 na tabela `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}}
```

**Exemplo: lista de todas as CloudTrail atividades do IP de origem `192.0.2.1` nos últimos 30 dias na tabela `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 os observáveis do Security Lake
<a name="querying-observables-examples"></a>

Observables é um novo recurso agora disponível no Security Lake 2.0. O objeto observável é um elemento pivô que contém informações relacionadas encontradas em vários lugares do evento. A consulta de observáveis permite que os usuários obtenham insights de segurança de alto nível de seus conjuntos de dados. 

Ao consultar elementos específicos nos observáveis, você pode restringir os conjuntos de dados a coisas como nomes de usuário específicos, recursos UIDs IPs, hashes e outras informações do tipo de IOC

Este é um exemplo de consulta usando a matriz observables para consultar os registros nas tabelas VPC Flow e Route53 contendo o 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
```

## Exemplos de consultas do Security Lake para registros de auditoria do Amazon EKS
<a name="example-queries-eks-sourceversion2"></a>

Os registros do Amazon EKS rastreiam a atividade do plano de controle e fornecem registros de auditoria e diagnóstico diretamente do plano de controle do Amazon EKS para CloudWatch os registros em sua conta. Esses logs facilitam a proteção e a execução dos clusters. Os assinantes podem consultar os registros do EKS para aprender os seguintes tipos de informações.

Aqui estão alguns exemplos de consultas para registros de auditoria do Amazon EKS para a versão AWS de origem 2:

**Solicitações para um URL específico nos últimos 7 dias**

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

**Solicitações de atualização de '10.0.97.167' nos últimos 7 dias**

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

**Solicitações e respostas associadas ao recurso kube-controller-manager '' nos últimos 7 dias**

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