

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Requêtes Security Lake pour la version AWS source 2 (OCSF 1.1.0)
<a name="subscriber-query-examples2"></a>

La section suivante fournit des conseils sur l'interrogation de données à partir de Security Lake et inclut des exemples de requêtes pour les AWS sources prises en charge de manière native pour la version source 2.AWS Ces requêtes sont conçues pour récupérer des données dans un domaine spécifique Région AWS. Ces exemples utilisent us-east-1 (USA East (Virginie du Nord)). En outre, les exemples de requêtes utilisent un `LIMIT 25` paramètre qui renvoie jusqu'à 25 enregistrements. Vous pouvez omettre ce paramètre ou le modifier en fonction de vos préférences. Pour plus d'exemples, consultez le [ GitHub répertoire Amazon Security Lake OCSF Queries](https://github.com/awslabs/aws-security-analytics-bootstrap/tree/main/AWSSecurityAnalyticsBootstrap/amazon_security_lake_queries).

Vous pouvez interroger les données stockées par Security Lake dans des AWS Lake Formation bases de données et des tables. Vous pouvez également créer des abonnés tiers dans la console Security Lake, l'API ou AWS CLI. Les abonnés tiers peuvent également interroger les données de Lake Formation à partir des sources que vous spécifiez.

L'administrateur du lac de données de Lake Formation doit accorder `SELECT` des autorisations sur les bases de données et les tables pertinentes à l'identité IAM qui interroge les données. Un abonné doit également être créé dans Security Lake pour que celui-ci puisse interroger des données. Pour plus d'informations sur la création d'un abonné avec accès aux requêtes, consultez[Gestion de l'accès aux requêtes pour les abonnés de Security Lake](subscriber-query-access.md).

Les requêtes suivantes incluent des filtres temporels utilisés `eventDay` pour garantir que votre requête respecte les paramètres de rétention configurés. Pour de plus amples informations, veuillez consulter [Querying data with retention settings](subscriber-query-examples.md#security-lake-retention-setting-query-data). 

Par exemple, si des données datant de plus de 60 jours ont expiré, vos requêtes doivent inclure des contraintes de temps afin d'empêcher l'accès aux données expirées. Pour une période de conservation de 60 jours, incluez la clause suivante dans votre requête :

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

Cette clause utilise 59 jours (au lieu de 60) pour éviter tout chevauchement de données ou de temps entre Amazon S3 et Apache Iceberg.

## Table des sources du journal
<a name="log-source-table"></a>

Lorsque vous interrogez les données de Security Lake, vous devez inclure le nom de la table Lake Formation dans laquelle se trouvent les données.

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

Les valeurs courantes de la table des sources du journal sont les suivantes :
+ `cloud_trail_mgmt_2_0`— événements AWS CloudTrail de gestion
+ `lambda_execution_2_0`— événements CloudTrail de données pour Lambda
+ `s3_data_2_0`— événements CloudTrail de données pour S3
+ `route53_2_0`— Journaux de requêtes du résolveur Amazon Route 53
+ `sh_findings_2_0`—AWS Security Hub CSPM résultats
+ `vpc_flow_2_0`— Journaux de flux Amazon Virtual Private Cloud (Amazon VPC)
+ `eks_audit_2_0`— Journaux d'audit Amazon Elastic Kubernetes Service (Amazon EKS)
+ `waf_2_0`— Journaux AWS WAF v2

**Exemple : tous les résultats du Security Hub CSPM présentés dans le tableau de la région `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
```

## Région de base de données
<a name="database-region"></a>

Lorsque vous interrogez les données de Security Lake, vous devez inclure le nom de la région de base de données à partir de laquelle vous interrogez les données. Pour obtenir la liste complète des régions de base de données dans lesquelles Security Lake est actuellement disponible, consultez [Amazon Security Lake endpoints](https://docs.aws.amazon.com/general/latest/gr/securitylake.html).

**Exemple : répertorier l'activité Amazon Virtual Private Cloud à partir de l'adresse IP source**

L'exemple suivant répertorie toutes les activités Amazon VPC à partir de l'adresse IP source {{192.0.2.1}} qui ont été enregistrées après {{20230301}} (1er mars 2023), dans le tableau {{vpc\_flow\_2\_0}} du. {{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
```

## Date de partition
<a name="partition-date"></a>

En partitionnant vos données, vous pouvez limiter la quantité de données numérisées par chaque requête, améliorant ainsi les performances et réduisant les coûts. Les partitions fonctionnent légèrement différemment dans Security Lake 2.0 par rapport à Security Lake 1.0. Security Lake implémente désormais le partitionnement via `time_dt``region`, et`accountid`. Alors que Security Lake 1.0 a implémenté le partitionnement via `eventDay``region`, et `accountid` les paramètres. 

L'interrogation `time_dt` produira automatiquement les partitions de date de S3 et peut être interrogée comme n'importe quel champ basé sur l'heure dans Athena.

Voici un exemple de requête utilisant la ` time_dt` partition pour interroger les journaux après le 1er mars 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
```

Les valeurs communes pour `time_dt` sont les suivantes :

**Événements survenus au cours de la dernière année**  
`WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '1' YEAR`

**Événements survenus au cours du dernier mois**  
`WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '1' MONTH`

**Événements survenus au cours des 30 derniers jours**  
`WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '30' DAY`

**Événements survenus au cours des 12 dernières heures**  
`WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '12' HOUR`

**Événements survenus au cours des 5 dernières minutes**  
`WHERE time_dt > CURRENT_TIMESTAMP - INTERVAL '5' MINUTE`

**Événements survenus il y a 7 à 14 jours**  
`WHERE time_dt BETWEEN CURRENT_TIMESTAMP - INTERVAL '14' DAY AND CURRENT_TIMESTAMP - INTERVAL '7' DAY`

**Événements survenant à une date précise ou après cette date**  
`WHERE time_dt >= TIMESTAMP '2023-03-01'`

**Exemple : liste de toutes les CloudTrail activités depuis l'adresse IP source `192.0.2.1` le 1er mars 2023 ou après cette date dans le tableau `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}}
```

**Exemple : liste de toutes les CloudTrail activités depuis l'adresse IP source `192.0.2.1` au cours des 30 derniers jours dans le tableau `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 }}
```

## Interrogation des observables de Security Lake
<a name="querying-observables-examples"></a>

Observables est une nouvelle fonctionnalité désormais disponible dans Security Lake 2.0. L'objet observable est un élément pivot qui contient des informations connexes trouvées à de nombreux endroits de l'événement. L'interrogation des observables permet aux utilisateurs d'obtenir des informations de sécurité de haut niveau à partir de leurs ensembles de données. 

En interrogeant des éléments spécifiques dans les observables, vous pouvez limiter les ensembles de données à des éléments tels que des noms d'utilisateur spécifiques, des ressources UIDs IPs, des hachages et d'autres informations de type CIO

Il s'agit d'un exemple de requête utilisant le tableau observables pour interroger les journaux des tables VPC Flow et Route53 contenant la valeur 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
```

## Exemples de requêtes Security Lake pour les journaux d'audit Amazon EKS
<a name="example-queries-eks-sourceversion2"></a>

Les journaux Amazon EKS suivent l'activité du plan de contrôle et fournissent des journaux d'audit et de diagnostic directement depuis le plan de contrôle Amazon EKS vers CloudWatch les journaux de votre compte. Ces journaux vous permettent de sécuriser et d'exécuter facilement vos clusters. Les abonnés peuvent consulter les journaux EKS pour connaître les types d'informations suivants.

Voici quelques exemples de requêtes pour les journaux d'audit Amazon EKS pour la version AWS source 2 :

**Demandes adressées à une URL spécifique au cours des 7 derniers jours**

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

**Demandes de mise à jour de '10.0.97.167' au cours des 7 derniers jours**

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

**Demandes et réponses associées à la ressource « kube-controller-manager » au cours des 7 derniers jours**

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