# Amazon CloudFront

### Invio dei log di Amazon CloudFront a S3

Per inviare i log di accesso da Amazon CloudFront a un bucket Amazon S3, è possibile abilitare la registrazione standard di CloudFront. Di seguito sono documentati i passaggi principali, con particolare attenzione alla registrazione standard, che rappresenta il metodo più comune e semplice per la consegna basata su S3.

### **Prerequisiti**

Per trasmettere correttamente i log del traffico web a Netacea, assicurarsi che siano soddisfatti i seguenti requisiti:

* Disporre di un account AWS attivo con accesso alla Console di gestione AWS.
* Aver creato e configurato un bucket Amazon S3 per ricevere i log da CloudFront.
* Aver condiviso il proprio AWS Account ID con Netacea.

  > Questo è necessario affinché Netacea possa applicare la policy del bucket corretta per accettare i log di CloudFront.
* Aver ricevuto da Netacea i dettagli necessari del bucket S3 (nome del bucket e ARN). Questi sono disponibili [qui](https://netacea.gitbook.io/portal-docs/user-guides-and-videos/portal-setup-and-log-shipping-guide).
* Essere a conoscenza dei campi del[ dataset minimo richiesto](#netacea-minimum-required-dataset) necessari a Netacea per l'analisi dei log.

### Registrazione degli accessi standard (Log su S3)

Questa opzione registra ogni richiesta e consegna i log in batch (generalmente entro pochi minuti fino a un'ora).

#### Passaggio 1: Fornire a Netacea il proprio AWS Account ID

La distribuzione CloudFront deve disporre dell'accesso in scrittura al bucket. Ciò richiede una policy del bucket che deve contenere il proprio AWS Account ID. Questo dato dovrà essere condiviso prima che possiamo accettare qualsiasi dato.

**Esempio di policy del 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"
           }
         }
      }
   ]
}
```

#### Passaggio 2: Abilitare la registrazione nella distribuzione CloudFront

1. Aprire la **Console di gestione AWS** → **CloudFront**.
2. Selezionare la propria distribuzione → accedere alla **scheda Logging**
3. Fare clic su **Add > Amazon S3 Bucket.**
4. Inserire i dettagli del bucket S3 dal Portale Netacea (`arn:aws:s3:::bucketName`)
5. Accedere alle impostazioni aggiuntive.
   1. In **Field selection** selezionare i campi da inviare a Netacea (consultare il[ Dataset richiesto da Netacea](#netacea-required-dataset) di seguito).
6. Salvare le modifiche.

### **Dataset richiesto da Netacea**

Per completare con successo un POV, Netacea richiederà che i seguenti dati siano forniti per l'analisi:

<table><thead><tr><th width="142.33331298828125" valign="top">Campo richiesto</th><th width="169" valign="top">Nome campo AWS</th><th valign="top">Descrizione</th></tr></thead><tbody><tr><td valign="top">Timestamp</td><td valign="top">date</td><td valign="top">Il momento in cui è stata ricevuta la richiesta</td></tr><tr><td valign="top"></td><td valign="top">time</td><td valign="top">Il momento in cui è stata ricevuta la richiesta</td></tr><tr><td valign="top">Indirizzo IP</td><td valign="top">c-ip</td><td valign="top">Indirizzo IP da cui è stata effettuata la richiesta</td></tr><tr><td valign="top">User Agent</td><td valign="top">cs-user-agent</td><td valign="top">La stringa user agent inviata nell'header dal client</td></tr><tr><td valign="top">Metodo</td><td valign="top">cs-method</td><td valign="top">Il metodo HTTP della richiesta</td></tr><tr><td valign="top">Percorso</td><td valign="top">cs-uri-stem</td><td valign="top">Il percorso della risorsa richiesta</td></tr><tr><td valign="top">Query</td><td valign="top">cs-uri-query</td><td valign="top">La stringa di query della richiesta</td></tr><tr><td valign="top">Stato</td><td valign="top">sc-status</td><td valign="top">Il codice di stato HTTP restituito dal server</td></tr><tr><td valign="top">Referrer</td><td valign="top">cs(Referer)</td><td valign="top">La pagina web da cui l'utente ha seguito un link</td></tr><tr><td valign="top">Byte inviati</td><td valign="top">cs-bytes</td><td valign="top">I byte inviati come parte della risposta del server</td></tr><tr><td valign="top">Host</td><td valign="top">cs(Host)</td><td valign="top">Il nome di dominio della distribuzione CloudFront</td></tr><tr><td valign="top">Protocollo</td><td valign="top">Protocol</td><td valign="top">Il protocollo della richiesta</td></tr><tr><td valign="top">X forwarded for*</td><td valign="top">x-forwarded-for</td><td valign="top">Indirizzo IP di connessione [array] di una richiesta client, se tramite proxy</td></tr><tr><td valign="top">True-Client-IP*</td><td valign="top">True-Client-IP</td><td valign="top">La fonte attendibile dell'IP originale del client</td></tr><tr><td valign="top">Tempo della richiesta</td><td valign="top">time-taken</td><td valign="top">Il tempo totale (in secondi) impiegato da CloudFront per servire la richiesta</td></tr></tbody></table>

\* Utile quando sono presenti proxy nella linea di traffico dal client > origine

### Passaggi finali

Una volta attiva la consegna dei log, **avvisare il proprio Netacea Solutions Engineer**. Questo ci consente di:

* Confermare la ricezione dei dati
* Convalidare il formato e la completezza del dataset
* Avviare l'analisi una volta raccolto un volume sufficiente di dati

Per qualsiasi necessità di supporto durante la configurazione, il team SE di Netacea è a disposizione per aiutarvi — non esitate a contattarci.
