# Amazon CloudFront

### Envoi des logs Amazon CloudFront vers S3

Pour envoyer les logs d'accès depuis Amazon CloudFront vers un bucket Amazon S3, vous pouvez activer la journalisation standard CloudFront. Les étapes importantes documentées ci-dessous se concentrent principalement sur la journalisation standard, qui est la méthode la plus courante et la plus simple pour la livraison vers S3.

### **Prérequis**

Pour diffuser correctement les logs de trafic web vers Netacea, veuillez vous assurer des éléments suivants :

* Vous disposez d'un compte AWS actif avec accès à la console de gestion AWS.
* Un bucket Amazon S3 a été créé et configuré pour accepter les logs de CloudFront.
* Vous avez partagé votre ID de compte AWS avec Netacea.

  > Ceci est nécessaire pour que Netacea puisse appliquer la politique de bucket appropriée pour accepter les logs CloudFront.
* Vous avez reçu les informations nécessaires du bucket S3 (nom du bucket et ARN) de la part de Netacea. Celles-ci sont disponibles [ici](https://netacea.gitbook.io/portal-docs/user-guides-and-videos/portal-setup-and-log-shipping-guide).
* Vous connaissez les champs du[ jeu de données minimum requis](#netacea-minimum-required-dataset) par Netacea pour l'analyse des logs.

### Journalisation d'accès standard (Logs vers S3)

Cette option enregistre chaque requête et livre les logs par lots (généralement en quelques minutes à une heure).

#### Étape 1 : Fournir à Netacea votre ID de compte AWS

Votre distribution CloudFront doit avoir un accès en écriture au bucket. Cela nécessite une politique de bucket qui doit contenir votre ID de compte AWS. Celui-ci devra être partagé avant que nous puissions accepter des données.

**Exemple de politique de bucket :**

```
{
   "Version": "2012-10-17",
   "Statement":[
      {
        "Sid": "AllowCloudFrontLogs",
        "Effect": "Allow",
        "Principal": {
            "Service": "cloudfront.amazonaws.com"
         },
         "Action": "s3:PutObject",
         "Resource": "arn:aws:s3:::cloudfront-access-logs/*",
         "Condition": {
            "StringEquals": {
                "AWS:SourceAccount": "YOUR_AWS_ACCOUNT_ID"
           }
         }
      }
   ]
}
```

#### Étape 2 : Activer la journalisation dans la distribution CloudFront

1. Ouvrez la **Console de gestion AWS** → **CloudFront**.
2. Sélectionnez votre distribution → accédez à l'onglet **Logging**
3. Cliquez sur **Add > Amazon S3 Bucket.**
4. Saisissez les informations du bucket S3 depuis le portail Netacea (`arn:aws:s3:::bucketName`)
5. Accédez aux paramètres supplémentaires.
   1. Sous **Field selection**, sélectionnez les champs à envoyer à Netacea (veuillez consulter le[ jeu de données requis par Netacea](#netacea-required-dataset) ci-dessous).
6. Enregistrez les modifications.

### **Jeu de données requis par Netacea**

Pour réaliser un POV réussi, Netacea demandera que les données suivantes soient fournies pour analyse :

<table><thead><tr><th width="142.33331298828125" valign="top">Champ requis</th><th width="169" valign="top">Nom du champ AWS</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">Horodatage</td><td valign="top">date</td><td valign="top">Heure à laquelle la requête a été reçue</td></tr><tr><td valign="top"></td><td valign="top">time</td><td valign="top">Heure à laquelle la requête a été reçue</td></tr><tr><td valign="top">Adresse IP</td><td valign="top">c-ip</td><td valign="top">Adresse IP à partir de laquelle la requête a été effectuée</td></tr><tr><td valign="top">Agent utilisateur</td><td valign="top">cs-user-agent</td><td valign="top">Chaîne d'agent utilisateur envoyée dans l'en-tête par le client</td></tr><tr><td valign="top">Méthode</td><td valign="top">cs-method</td><td valign="top">Méthode HTTP de la requête</td></tr><tr><td valign="top">Chemin</td><td valign="top">cs-uri-stem</td><td valign="top">Chemin de la ressource demandée</td></tr><tr><td valign="top">Requête</td><td valign="top">cs-uri-query</td><td valign="top">Chaîne de requête de la requête</td></tr><tr><td valign="top">Statut</td><td valign="top">sc-status</td><td valign="top">Code de statut HTTP renvoyé par le serveur</td></tr><tr><td valign="top">Référent</td><td valign="top">cs(Referer)</td><td valign="top">Page web depuis laquelle l'utilisateur a suivi un lien</td></tr><tr><td valign="top">Octets envoyés</td><td valign="top">cs-bytes</td><td valign="top">Octets envoyés dans le cadre de la réponse du serveur</td></tr><tr><td valign="top">Hôte</td><td valign="top">cs(Host)</td><td valign="top">Nom de domaine de la distribution CloudFront</td></tr><tr><td valign="top">Protocole</td><td valign="top">Protocol</td><td valign="top">Protocole de la requête</td></tr><tr><td valign="top">X forwarded for*</td><td valign="top">x-forwarded-for</td><td valign="top">Adresse IP de connexion [tableau] d'une requête client, si proxifiée</td></tr><tr><td valign="top">True-Client-IP*</td><td valign="top">True-Client-IP</td><td valign="top">Source fiable de l'adresse IP client d'origine</td></tr><tr><td valign="top">Temps de requête</td><td valign="top">time-taken</td><td valign="top">Temps total (en secondes) que CloudFront a mis pour traiter la requête</td></tr></tbody></table>

\* Utile lorsque des proxies se trouvent sur le chemin du trafic entre le client et l'origine

### Étapes finales

Une fois la livraison des logs active, **informez votre ingénieur solutions Netacea**. Cela nous permet de :

* Confirmer la réception des données
* Valider le format et la complétude du jeu de données
* Commencer l'analyse une fois qu'un volume suffisant de données a été collecté

Si vous avez besoin d'assistance pendant la configuration, l'équipe SE de Netacea est là pour vous aider — n'hésitez pas à nous contacter.
