# Amazon CloudFront

### Przesyłanie logów Amazon CloudFront do S3

Aby wysyłać logi dostępu z Amazon CloudFront do zasobnika Amazon S3, można włączyć standardowe logowanie CloudFront. Poniżej opisano kluczowe udokumentowane kroki, koncentrując się głównie na standardowym logowaniu, które jest najpowszechniejszą i najprostszą metodą dostarczania logów do S3.

### **Wymagania wstępne**

Aby pomyślnie przesyłać logi ruchu webowego do Netacea, należy upewnić się, że:

* Posiadasz aktywne konto AWS z dostępem do konsoli zarządzania AWS Management Console.
* Utworzono i skonfigurowano zasobnik Amazon S3 do przyjmowania logów z CloudFront.
* Udostępniono identyfikator konta AWS (AWS Account ID) firmie Netacea.

  > Jest to wymagane, aby Netacea mogła zastosować odpowiednią politykę zasobnika do przyjmowania logów CloudFront.
* Otrzymano od Netacea niezbędne dane dotyczące zasobnika S3 (nazwę zasobnika i ARN). Można je znaleźć [tutaj](https://netacea.gitbook.io/portal-docs/user-guides-and-videos/portal-setup-and-log-shipping-guide).
* Znane są [minimalne wymagane pola zestawu danych](#netacea-minimum-required-dataset) potrzebne Netacea do analizy logów.

### Standardowe logowanie dostępu (logi do S3)

Ta opcja rejestruje każde żądanie i dostarcza logi partiami (zwykle w ciągu kilku minut do godziny).

#### Krok 1: Przekazanie identyfikatora konta AWS firmie Netacea

Dystrybucja CloudFront musi mieć uprawnienia do zapisu w zasobniku. Wymaga to polityki zasobnika, która musi zawierać identyfikator konta AWS. Należy go udostępnić, zanim będziemy mogli przyjąć jakiekolwiek dane.

**Przykładowa polityka zasobnika:**

```
{
   "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"
           }
         }
      }
   ]
}
```

#### Krok 2: Włączenie logowania w dystrybucji CloudFront

1. Otwórz **AWS Management Console** → **CloudFront**.
2. Wybierz swoją dystrybucję → przejdź do karty **Logging**
3. Kliknij **Add > Amazon S3 Bucket.**
4. Wprowadź dane zasobnika S3 z portalu Netacea (`arn:aws:s3:::bucketName`)
5. Przejdź do ustawień dodatkowych (Additional settings).
   1. W sekcji **Field selection** wybierz pola do wysłania do Netacea (zobacz[ Wymagany zestaw danych Netacea](#netacea-required-dataset) poniżej).
6. Zapisz zmiany.

### **Wymagany zestaw danych Netacea**

Aby pomyślnie przeprowadzić POV, Netacea wymaga dostarczenia następujących danych do analizy:

<table><thead><tr><th width="142.33331298828125" valign="top">Wymagane pole</th><th width="169" valign="top">Nazwa pola AWS</th><th valign="top">Opis</th></tr></thead><tbody><tr><td valign="top">Znacznik czasu</td><td valign="top">date</td><td valign="top">Czas otrzymania żądania</td></tr><tr><td valign="top"></td><td valign="top">time</td><td valign="top">Czas otrzymania żądania</td></tr><tr><td valign="top">Adres IP</td><td valign="top">c-ip</td><td valign="top">Adres IP, z którego wysłano żądanie</td></tr><tr><td valign="top">Agent użytkownika</td><td valign="top">cs-user-agent</td><td valign="top">Łańcuch agenta użytkownika wysłany w nagłówku przez klienta</td></tr><tr><td valign="top">Metoda</td><td valign="top">cs-method</td><td valign="top">Metoda HTTP żądania</td></tr><tr><td valign="top">Ścieżka</td><td valign="top">cs-uri-stem</td><td valign="top">Ścieżka żądanego zasobu</td></tr><tr><td valign="top">Zapytanie</td><td valign="top">cs-uri-query</td><td valign="top">Łańcuch zapytania żądania</td></tr><tr><td valign="top">Status</td><td valign="top">sc-status</td><td valign="top">Kod statusu HTTP zwrócony przez serwer</td></tr><tr><td valign="top">Strona odsyłająca</td><td valign="top">cs(Referer)</td><td valign="top">Strona internetowa, z której użytkownik kliknął link</td></tr><tr><td valign="top">Wysłane bajty</td><td valign="top">cs-bytes</td><td valign="top">Bajty wysłane w ramach odpowiedzi serwera</td></tr><tr><td valign="top">Host</td><td valign="top">cs(Host)</td><td valign="top">Nazwa domeny dystrybucji CloudFront</td></tr><tr><td valign="top">Protokół</td><td valign="top">Protocol</td><td valign="top">Protokół żądania</td></tr><tr><td valign="top">X forwarded for*</td><td valign="top">x-forwarded-for</td><td valign="top">Adres IP łączącego się klienta [tablica], jeśli używane jest proxy</td></tr><tr><td valign="top">True-Client-IP*</td><td valign="top">True-Client-IP</td><td valign="top">Zaufane źródło oryginalnego adresu IP klienta</td></tr><tr><td valign="top">Czas żądania</td><td valign="top">time-taken</td><td valign="top">Całkowity czas (w sekundach), jaki CloudFront potrzebował na obsłużenie żądania</td></tr></tbody></table>

\* Przydatne, gdy proxy znajdują się na ścieżce ruchu od klienta do serwera źródłowego

### Ostatnie kroki

Po aktywowaniu dostarczania logów **powiadom swojego inżyniera rozwiązań Netacea (Solutions Engineer)**. Pozwoli nam to:

* Potwierdzić odbiór danych
* Zweryfikować format i kompletność zestawu danych
* Rozpocząć analizę po zebraniu wystarczającej ilości danych

Jeśli potrzebujesz wsparcia podczas konfiguracji, zespół SE Netacea jest do Twojej dyspozycji — nie wahaj się skontaktować.
