

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.

# Suivez les demandes de bucket de stockage d'objets grâce aux journaux d'accès
<a name="amazon-lightsail-bucket-access-logs"></a>

La journalisation des accès fournit des enregistrements détaillés des demandes adressées à un compartiment dans le service de stockage d'objets Amazon Lightsail. Ces informations peuvent inclure le type de demande, les ressources spécifiées dans la demande, ainsi que l'heure et la date de traitement de la demande. Les journaux d'accès sont utiles pour de nombreuses applications. Par exemple, les informations des journaux d'accès peuvent être utiles dans les audits de sécurité et d'accès. Elles peuvent également vous aider à mieux connaître votre clientèle.

**Table des matières**
+ [Que dois-je faire pour activer la distribution des journaux ?](#access-log-delivery)
+ [Format de clé d'objet journal](#log-object-key-format)
+ [Comment sont distribués les journaux ?](#how-are-logs-delivered)
+ [Distribution des journaux des accès dans les meilleurs délais](#best-effort-access-log-delivery)
+ [Les changements d'état de la journalisation des compartiments prennent effet au fil du temps](#bucket-logging-status-changes)

## Que dois-je faire pour activer la distribution des journaux ?
<a name="access-log-delivery"></a>

Tenez compte des points suivants avant d'activer la distribution des journaux. Pour plus de détails, voir [Activer la journalisation des accès au compartiment](amazon-lightsail-enabling-bucket-access-logs.md).

1. **Identifiez le compartiment cible des journaux.** C'est dans ce compartiment que vous souhaitez que Lightsail enregistre les journaux d'accès sous forme d'objets. Les compartiments source et cible doivent se trouver dans la même région AWS et appartenir au même compte.

   Vous pouvez faire distribuer les journaux vers n'importe quel compartiment que vous possédez et qui se trouve dans la même région que le compartiment source, y compris le compartiment source lui-même. Mais pour simplifier la gestion des journaux, nous vous recommandons d'enregistrer les journaux d'accès dans un autre compartiment.

   Lorsque votre compartiment source et votre compartiment cible correspondent au même compartiment, des journaux supplémentaires sont créés pour les journaux qui sont écrits dans le compartiment. Ce n'est pas forcément l'idéal, car cela peut entraîner une légère augmentation de votre consommation de stockage. En outre, les journaux supplémentaires concernant les journaux peuvent rendre plus difficile la recherche du journal que vous recherchez. Si vous choisissez d'enregistrer les journaux d'accès dans le compartiment source, nous vous recommandons de spécifier un préfixe pour les clés des objets de journal, afin que les noms des objets commencent par une chaîne commune et que les objets journaux soient plus faciles à identifier. Les préfixes de clés sont également utiles pour distinguer les compartiments sources lorsque plusieurs compartiments se connectent au même compartiment cible.

1. **(Facultatif) Identifiez un préfixe pour les clés d'objet journal.** Le préfixe simplifie la localisation des objets de journal. Par exemple, si vous spécifiez la valeur du préfixe`logs/`, chaque objet de journal créé par Lightsail commence par `logs/` le préfixe dans sa clé. La barre oblique de fin `/` est nécessaire pour indiquer la fin du préfixe. Voici un exemple de clé d'objet journal avec le préfixe `logs/` :

   ```
   logs/2021-11-31-21-32-16-E568B2907131C0C0
   ```

## Format de la clé d'objet journal
<a name="log-object-key-format"></a>

Lightsail utilise le format de clé d'objet suivant pour les objets de journal qu'il télécharge dans le compartiment cible :

```
TargetPrefix/YYYY-mm-DD-HH-MM-SS-UniqueString
```

Dans la clé, `YYYY`, `mm`, `DD`, `HH`, `MM` et `SS` correspondent (respectivement) à l'année, au mois, au jour, aux heures, aux minutes et aux secondes auxquels le fichier journal a été distribué. Ces dates et heures sont exprimées en heure UTC (temps universel coordonné).

Un fichier journal distribué à un moment précis peut contenir des enregistrements écrits à tout moment avant ce moment. Il n’existe aucun moyen de savoir si tous les enregistrements d’un intervalle de temps donné ont été distribués.

Le composant `UniqueString` de la clé empêche le remplacement des fichiers. Il n’a aucune signification, et doit être ignoré par les logiciels de traitement des journaux.

## Comment sont distribués les journaux ?
<a name="how-are-logs-delivered"></a>

Lightsail collecte régulièrement les enregistrements des journaux d'accès, consolide les enregistrements dans des fichiers journaux, puis télécharge les fichiers journaux dans votre compartiment cible sous forme d'objets journaux. Si vous activez la journalisation sur plusieurs compartiments sources qui distribuent vers le même compartiment cible, le compartiment cible aura des journaux d'accès pour tous ces compartiments sources. Cependant, chaque objet journal contient des enregistrements de journal d'accès pour un compartiment source spécifique.

## Distribution des journaux des accès dans les meilleurs délais
<a name="best-effort-access-log-delivery"></a>

Les enregistrements des journaux d'accès sont distribués dans la mesure du possible. La plupart des demandes pour un compartiment correctement configuré pour l'enregistrement se traduisent par un enregistrement de journal distribué. La plupart des enregistrements de journal sont distribués dans les heures qui suivent leur enregistrement, mais ils peuvent être distribués plus fréquemment.

L'exhaustivité et le timing de la journalisation des accès ne sont pas garanties. L'enregistrement d'une demande particulière peut être distribuée é longtemps après le traitement de la demande, ou ne pas être distribué du tout. Le but des journaux d'accès est de vous donner une idée de la nature du trafic par rapport à votre compartiment. La perte d'enregistrement de journal est rare, mais le journal des accès n'est pas censé tenir une comptabilité complète de toutes les demandes.

## Les changements de statut de la journalisation des compartiments prennent effet au fil du temps
<a name="bucket-logging-status-changes"></a>

Les modifications du statut de l'état de journalisation d'un compartiment prennent du temps avant d'affecter réellement la distribution des fichiers journaux. Par exemple, si vous activez la journalisation pour un compartiment, certaines demandes faites dans l'heure qui suit peuvent être enregistrées, alors que d'autres ne le sont pas. Si vous changez le compartiment cible de la journalisation en remplaçant le compartiment A par le compartiment B, certains journaux de l'heure suivante peuvent continuer à distribués vers le compartiment A, tandis que d'autres peuvent être distribués vers le nouveau compartiment cible B. Dans tous les cas, les nouveaux paramètres finissent par prendre effet sans aucune autre action de votre part.

**Topics**
+ [Que dois-je faire pour activer la distribution des journaux ?](#access-log-delivery)
+ [Format de la clé d'objet journal](#log-object-key-format)
+ [Comment sont distribués les journaux ?](#how-are-logs-delivered)
+ [Distribution des journaux des accès dans les meilleurs délais](#best-effort-access-log-delivery)
+ [Les changements de statut de la journalisation des compartiments prennent effet au fil du temps](#bucket-logging-status-changes)
+ [Format des journaux d'accès](amazon-lightsail-bucket-access-log-format.md)
+ [Gérer les journaux d'accès](amazon-lightsail-enabling-bucket-access-logs.md)
+ [Utilisation des journaux d'accès](amazon-lightsail-using-bucket-access-logs.md)

# Analysez l'accès au stockage d'objets à l'aide des journaux de bucket Lightsail
<a name="amazon-lightsail-bucket-access-log-format"></a>

La journalisation des accès fournit des enregistrements détaillés des demandes adressées à un compartiment dans le service de stockage d'objets Amazon Lightsail. Vous pouvez utiliser les journaux d'accès pour des audits de sécurité et d'accès, ou pour vous renseigner sur votre base de clients. Cette section décrit le format et d'autres détails des fichiers journaux d'accès. Pour plus d'informations sur les principes de base de la journalisation, veuillez consulter [Bucket access logs](amazon-lightsail-bucket-access-logs.md).

Les fichiers journaux d'accès consistent en une séquence d'enregistrements de journaux délimités par un retour à la ligne. Chaque enregistrement de journal représente une demande et est constituée de champs séparés par un espace.

Voici un exemple de journal composé de cinq enregistrements.

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 3E57427F3EXAMPLE REST.GET.VERSIONING - "GET /amzn-s3-demo-bucket?versioning HTTP/1.1" 200 - 113 - 7 - "-" "S3Console/0.4" - s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
```

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 891CE47D2EXAMPLE REST.GET.LOGGING_STATUS - "GET /amzn-s3-demo-bucket?logging HTTP/1.1" 200 - 242 - 11 - "-" "S3Console/0.4" - 9vKBE6vMhrNiWHZmb2L0mXOcqPGzQOI5XLnCtZNPxev+Hf+7tpT6sxDwDty4LHBUOZJG96N1234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
```

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be A1206F460EXAMPLE REST.GET.BUCKETPOLICY - "GET /amzn-s3-demo-bucket?policy HTTP/1.1" 404 NoSuchBucketPolicy 297 - 38 - "-" "S3Console/0.4" - BNaBsXZQQDbssi6xMBdBU2sLt+Yf5kZDmeBUP35sFoKa3sLLeMC78iwEIWxs99CRUrbS4n11234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
```

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:01:00 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 7B4A0FABBEXAMPLE REST.GET.VERSIONING - "GET /amzn-s3-demo-bucket?versioning HTTP/1.1" 200 - 113 - 33 - "-" "S3Console/0.4" - Ke1bUcazaN1jWuUlPJaxF64cQVpUEhoZKEG/hmy/gijN/I1DeWqDfFvnpybfEseEME/u7ME1234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
```

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:01:57 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be DD6CC733AEXAMPLE REST.PUT.OBJECT s3-dg.pdf "PUT /amzn-s3-demo-bucket/s3-dg.pdf HTTP/1.1" 200 - - 4406583 41754 28 "-" "S3Console/0.4" - 10S62Zv81kBW7BB6SX4XJ48o6kpcl6LPwEoizZQQxJd5qDSCTLX0TgS37kYUBKQW3+bPdrg1234= SigV4 ECDHE-RSA-AES128-SHA AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
```

**Note**  
Tous les champs peuvent être configurés sur `–` (tiret) pour indiquer que les données étaient inconnues ou indisponibles, ou que le champ ne s'appliquait pas à la demande.

**Table des matières**
+ [Champs d'enregistrement de journal](#log-record-fields)
+ [Journalisation supplémentaire des opérations de copie](#additional-logging-for-copy-operations)
+ [Informations personnalisées des journaux d'accès](#custom-access-log-information)
+ [Remarques de programmation relatives au format étendu des journaux d'accès](#programing-considerations)

## Champs d’enregistrement des journaux
<a name="log-record-fields"></a>

La liste suivante décrit les champs d'enregistrement de journal.

**Amazon Resource Name (ARN) du point d'accès**

Amazon Resource Name (ARN) du point d'accès de la demande. Si l'ARN du point d'accès est mal formé ou n'est pas utilisé, le champ contient un « - ». Pour plus d'informations sur les points d'accès, consultez [Utilisation des points d'accès](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html). Pour plus d'informations ARNs, consultez la rubrique [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) dans le manuel *AWS General Reference*.

Exemple d’entrée

```
arn:aws:s3:us-east-1:123456789012:accesspoint/example-AP
```

**Propriétaire du compartiment**

ID d'utilisateur canonique du propriétaire du compartiment source. L'ID d'utilisateur canonique est une autre forme de l'ID de compte AWS. Pour plus d'informations sur l'ID d'utilisateur canonique, veuillez consulter la [Identificateurs de compte AWS](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) dans les *références générales AWS*. Pour plus d'informations sur la recherche de l'ID d'utilisateur canonique de votre compte, reportez-vous à [Recherche de l'ID d'utilisateur canonique de votre compte AWS](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId).

Exemple d’entrée

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
```

**Compartiment**

Le nom du compartiment en fonction duquel la demande a été traitée. Si le système reçoit une demande mal formée et ne peut pas déterminer le compartiment, la demande n'apparaît dans aucun journal d'accès.

Exemple d’entrée

```
amzn-s3-demo-bucket
```

**Time (Période)**

Heure à laquelle la demande a été reçue. Ces dates et heures sont exprimées en heure UTC (temps universel coordonné). Le format, en utilisant terminologie *strftime()*, est le suivant : *[%d/%b/%Y:%H:%M:%S %z]*

Exemple d'entrée

```
[06/Feb/2019:00:00:38 +0000]
```

**Adresse IP distante**

Adresse Internet apparente du demandeur. Les proxys et pare-feu intermédiaires doivent cacher l'adresse réelle de la machine qui fait la demande.

Exemple d'entrée

```
192.0.2.3
```

**Demandeur**

ID d'utilisateur canonique du demandeur, ou `-` pour les demandes non authentifiées. Si le demandeur est un utilisateur IAM, ce champ renvoie le nom d'utilisateur IAM du demandeur, ainsi que le compte racine AWS auquel appartient l'utilisateur IAM. Cet identifiant est le même que celui qui est utilisé pour contrôler l'accès.

Exemple d'entrée

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
```

**ID de la demande**

Chaîne générée par Lightsail pour identifier de manière unique chaque demande.

Exemple d’entrée

```
3E57427F33A59F07
```

**Opération**

L’opération listée ici est déclarée comme `SOAP.operation`, `REST.HTTP_method.resource_type`, `WEBSITE.HTTP_method.resource_type` ou `BATCH.DELETE.OBJECT`.

Exemple d'entrée

```
REST.PUT.OBJECT
```

**Clé**

La partie « clé » de la demande, codée en URL, ou « - » si l'opération ne prend pas le paramètre de clé.

Exemple d'entrée

```
/photos/2019/08/puppy.jpg
```

**URI de la demande**

Partie URI de la demande du message de la demande HTTP.

Exemple d'entrée

```
"GET /amzn-s3-demo-bucket/photos/2019/08/puppy.jpg?x-foo=bar HTTP/1.1"
```

**Statut HTTP**

Code numérique du statut HTTP de la réponse.

Exemple d'entrée

```
200
```

**Code d'erreur**

[Code d'erreur](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingRESTError.html#ErrorCode) Amazon S3 ou « - » si aucune erreur ne se produit.

Exemple d’entrée

```
NoSuchBucket
```

**Octets envoyés**

Nombre d'octets de réponse envoyés, hors surcharge de protocole HTTP ou « - » si zéro.

Exemple d'entrée

```
2662992
```

**Taille de l'objet**

Taille totale de l’objet en question.

Exemple d'entrée

```
3462992
```

**Durée totale**

Nombre de millisecondes pendant lesquelles la demande était en cours du point de vue du compartiment. Cette valeur est mesurée entre la réception de la demande et l'envoi du dernier octet de la réponse. Les mesures effectuées depuis la perspective du client peuvent être plus longues en raison de la latence du réseau.

Exemple d'entrée

```
70
```

**Délai de traitement**

Le nombre de millisecondes que Lightsail a consacré au traitement de votre demande. Cette valeur est mesurée entre la réception du dernier octets de votre demande et l'envoi du premier octet de la réponse.

Exemple d'entrée

```
10
```

**Référent**

Valeur de l'en-tête du référent HTTP, le cas échéant. Les agents utilisateur HTTP (par exemple, les navigateurs) définissent généralement cet en-tête comme l'URL de la page de liaison ou d'intégration lors d'une demande.

Exemple d'entrée

```
"http://www.amazon.com/webservices"
```

**Agent utilisateur**

Valeur de l'en-tête de l'agent utilisateur HTTP.

Exemple d'entrée

```
"curl/7.15.1"
```

**ID de version**

L'ID de version dans la demande ou `-` si l'opération ne prend pas de paramètre `versionId`.

Exemple d’entrée

```
3HL4kqtJvjVBH40Nrjfkd
```

**ID de l'hôte**

L'ID de demande étendu x-amz-id -2 ou Lightsail.

Exemple d’entrée

```
s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
```

**Version de signature**

Version de signature, `SigV2` ou `SigV4`, qui a été utilisée pour authentifier la demande ou `-` pour les demandes non authentifiées.

Exemple d'entrée

```
SigV2
```

**Suite de chiffrement**

Chiffrement Secure Sockets Layer (SSL) qui a été négocié pour la demande HTTPS ou `-` pour HTTP.

Exemple d'entrée

```
ECDHE-RSA-AES128-GCM-SHA256
```

**Type d'authentification**

Type d'authentification de demande utilisé, `AuthHeader` pour les en-têtes d'authentification, `QueryString` pour la chaîne de requête (URL pré-signée) ou `-` pour les demandes non authentifiées.

Exemple d'entrée

```
AuthHeader
```

**En-tête d'hôte**

Le point de terminaison utilisé pour se connecter à Lightsail.

Exemple d’entrée

```
s3.us-west-2.amazonaws.com
```

**Version de TLS**

Version de protocole TLS (Transport Layer Security) négociée par le client. La valeur est l'une des valeurs suivantes : `TLSv1`, `TLSv1.1`, `TLSv1.2` ou `-` si le protocole TLS n'a pas été utilisé.

Exemple d'entrée

```
TLSv1.2
```

## Journalisation supplémentaire les opérations de copie
<a name="additional-logging-for-copy-operations"></a>

Une copie implique une demande `GET` et une demande `PUT`. C’est pourquoi, nous consignons deux enregistrements lors d’une opération de copie. La section précédente décrit les champs liés à la partie `PUT` de l’opération. La liste suivante décrit les champs dans l’enregistrement qui ont trait à la partie `GET` de l’opération de copie.

**Propriétaire du compartiment**

ID d'utilisateur canonique du compartiment qui stocke l'objet à copier. L'ID d'utilisateur canonique est une autre forme de l'ID de compte AWS. Pour plus d'informations sur l'ID d'utilisateur canonique, veuillez consulter la [Identificateurs de compte AWS](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) dans les *références générales AWS*. Pour plus d'informations sur la recherche de l'ID d'utilisateur canonique de votre compte, reportez-vous à [Recherche de l'ID d'utilisateur canonique de votre compte AWS](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId).

Exemple d’entrée

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
```

**Compartiment**

Nom du compartiment qui stocke l'objet à copier.

Exemple d'entrée

```
amzn-s3-demo-bucket
```

**Time (Période)**

Heure de réception de la demande. Ces dates et heures sont exprimées en heure UTC (temps universel coordonné). Le format, en utilisant terminologie `strftime()`, est le suivant : `[%d/%B/%Y:%H:%M:%S %z]`

Exemple d'entrée

```
[06/Feb/2019:00:00:38 +0000]
```

**Adresse IP distante**

Adresse Internet apparente du demandeur. Les proxys et pare-feu intermédiaires doivent cacher l'adresse réelle de la machine qui fait la demande.

Exemple d'entrée

```
192.0.2.3
```

**Demandeur**

ID d'utilisateur canonique du demandeur, ou `-` pour les demandes non authentifiées. Si le demandeur est un utilisateur IAM, ce champ renvoie le nom utilisateur IAM du demandeur, ainsi que le compte racine AWS auquel appartient l'utilisateur IAM. Cet identifiant est le même que celui utilisé pour contrôler l'accès.

Exemple d'entrée

```
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
```

**ID de la demande**

Chaîne générée par Lightsail pour identifier de manière unique chaque demande.

Exemple d’entrée

```
3E57427F33A59F07
```

**Opération**

L’opération listée ici est déclarée comme `SOAP.operation`, `REST.HTTP_method.resource_type`, `WEBSITE.HTTP_method.resource_type` ou `BATCH.DELETE.OBJECT`.

Exemple d'entrée

```
REST.COPY.OBJECT_GET
```

**Clé**

La partie « clé » de l'objet à copier ou « - » si l'opération ne prend pas le paramètre de clé.

Exemple d'entrée

```
/photos/2019/08/puppy.jpg
```

**URI de la demande**

Partie URI de la demande du message de la demande HTTP.

Exemple d'entrée

```
"GET /amzn-s3-demo-bucket/photos/2019/08/puppy.jpg?x-foo=bar"
```

**Statut HTTP**

Code numérique du statut HTTP de la partie `GET` de l’opération de copie.

Exemple d'entrée

```
200
```

**Code d'erreur**

Code d'erreur Amazon S3 de la partie `GET` de l'opération de copie ou `-` si aucune erreur ne se produit.

Exemple d’entrée

```
NoSuchBucket
```

**Octets envoyés**

Nombre d'octets de réponse envoyés, hors surcharge de protocole HTTP ou « - » si zéro.

Exemple d'entrée

```
2662992
```

**Taille de l'objet**

Taille totale de l’objet en question.

Exemple d'entrée

```
3462992
```

**Durée totale**

Nombre de millisecondes pendant lesquelles la demande était en cours du point de vue du compartiment. Cette valeur est mesurée entre la réception de la demande et l'envoi du dernier octet de la réponse. Les mesures effectuées depuis la perspective du client peuvent être plus longues en raison de la latence du réseau.

Exemple d'entrée

```
70
```

**Délai de traitement**

Le nombre de millisecondes que Lightsail a consacré au traitement de votre demande. Cette valeur est mesurée entre la réception du dernier octets de votre demande et l'envoi du premier octet de la réponse.

Exemple d'entrée

```
10
```

**Référent**

Valeur de l'en-tête du référent HTTP, le cas échéant. Les agents utilisateur HTTP (par exemple, les navigateurs) définissent généralement cet en-tête comme l'URL de la page de liaison ou d'intégration lors d'une demande.

Exemple d'entrée

```
"http://www.amazon.com/webservices"
```

**Agent utilisateur**

Valeur de l'en-tête de l'agent utilisateur HTTP.

Exemple d'entrée

```
"curl/7.15.1"
```

**ID de version**

ID de version de l'objet à copier ou `-` si l'en-tête `x-amz-copy-source` n'a pas spécifié de paramètre `versionId` dans la source de copie.

Exemple d’entrée

```
3HL4kqtJvjVBH40Nrjfkd
```

**ID de l'hôte**

L'ID de demande étendu x-amz-id -2 ou Lightsail.

Exemple d’entrée

```
s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
```

**Version de signature**

Version de signature, `SigV2` ou `SigV4`, qui a été utilisée pour authentifier la demande ou `-` pour les demandes non authentifiées.

Exemple d'entrée

```
SigV2
```

**Suite de chiffrement**

Chiffrement Secure Sockets Layer (SSL) qui a été négocié pour la demande HTTPS ou `-` pour HTTP.

Exemple d'entrée

```
ECDHE-RSA-AES128-GCM-SHA256
```

**Type d'authentification**

Type d'authentification de requête utilisé, `AuthHeader` pour les en-têtes d'authentification, `QueryString` pour la chaîne de requête (URL présignée) ou `-` pour les demandes non authentifiées.

Exemple d'entrée

```
AuthHeader
```

**En-tête d'hôte**

Le point de terminaison utilisé pour se connecter à Lightsail.

Exemple d’entrée

```
s3.us-west-2.amazonaws.com
```

**Version de TLS**

Version de protocole TLS (Transport Layer Security) négociée par le client. La valeur est l'une des valeurs suivantes : `TLSv1`, `TLSv1.1`, `TLSv1.2` ou `-` si le protocole TLS n'a pas été utilisé.

Exemple d'entrée

```
TLSv1.2
```

## Informations personnalisées des journaux d’accès
<a name="custom-access-log-information"></a>

Vous pouvez inclure des informations personnalisées à stocker dans le journal d’accès pour une demande. Pour ce faire, ajoutez un paramètre de chaîne de requête personnalisé à l’URL utilisée. Lightsail ignore les paramètres de chaîne de requête commençant par « x- », mais inclut ces paramètres dans l'enregistrement du journal d'accès pour la demande, dans le champ de l'enregistrement du `Request-URI` journal.

Par exemple, une demande `GET` pour `"s3.amazonaws.com/amzn-s3-demo-bucket/photos/2019/08/puppy.jpg?x-user=johndoe"` fonctionne de la même manière que la demande pour `"s3.amazonaws.com/amzn-s3-demo-bucket/photos/2019/08/puppy.jpg"`, sauf que la chaîne `"x-user=johndoe"` est incluse dans le champ `Request-URI` de l’enregistrement de journal associé. Cette fonctionnalité est uniquement disponible dans l’interface REST.

## Remarques de programmation relatives au format extensible de journal d'accès
<a name="programing-considerations"></a>

Parfois, nous pouvons étendre le format d'enregistrement du journal d'accès en ajoutant de nouveaux champs à la fin de chaque ligne. Par conséquent, vous devez écrire le code qui analyse les journaux d'accès pour traiter les champs de fin qu'il pourrait ne pas comprendre.

# Activer la journalisation de l'accès au bucket dans Lightsail
<a name="amazon-lightsail-enabling-bucket-access-logs"></a>

La journalisation des accès fournit des enregistrements détaillés des demandes adressées à un compartiment dans le service de stockage d'objets Amazon Lightsail. Les journaux d'accès sont utiles pour de nombreuses applications. Par exemple, les informations des journaux d'accès peuvent être utiles dans les audits de sécurité et d'accès. Elles peuvent également vous aider à mieux connaître votre clientèle.

Par défaut, Lightsail ne collecte pas les journaux d'accès à vos compartiments. Lorsque vous activez la journalisation, Lightsail fournit les journaux d'accès d'un compartiment source à un compartiment cible de votre choix. Les compartiments source et cible doivent tous deux se trouver dans le même compte Région AWS et appartenir au même compte.

Un enregistrement de journal d’accès contient des détails relatifs aux demandes soumises à un compartiment. Ces informations peuvent comprendre le type de demande, les ressources spécifiées dans la demande, ainsi que l’heure et la date du traitement de la demande. Dans ce guide, nous vous expliquons comment activer ou désactiver la journalisation des accès pour vos buckets à l'aide de l'API Lightsail, AWS Command Line Interface du AWS CLI() ou d'AWS. SDKs

Pour plus d'informations sur les principes de base de la journalisation, veuillez consulter [Bucket access logs](amazon-lightsail-bucket-access-logs.md).

**Table des matières**
+ [Coûts de journalisation des accès](#costs-for-access-logging)
+ [Activation de la journalisation des accès à l'aide de l' AWS CLI](#enabling-access-logging)
+ [Désactivation de la journalisation des accès à l'aide de l' AWS CLI](#disabling-access-logging)

## Coûts de la journalisation des accès
<a name="costs-for-access-logging"></a>

L'activation de la journalisation des accès sur un compartiment n'entraîne aucuns frais supplémentaires. Toutefois, les fichiers journaux que le système envoie à un compartiment utilisent de l'espace de stockage. Notez que vous pouvez supprimer les fichiers journaux à tout moment. Nous n'évaluons pas les frais de transfert de données pour l'envoi des fichiers journaux lorsque le transfert de données du compartiment de journaux est dans les limites de l'allocation mensuelle configurée.

La journalisation des accès de votre compartiment cible ne doit pas être activée. Les journaux peuvent être envoyés à n'importe quel compartiment que vous possédez qui est situé dans la même région que le compartiment source, y compris le compartiment source lui-même. Cependant, nous vous recommandons d'enregistrer les journaux d'accès dans un compartiment différent, afin qu'ils soient plus faciles à gérer.

## Activez la journalisation des accès à l'aide du AWS CLI
<a name="enabling-access-logging"></a>

Pour activer la journalisation des accès à vos compartiments, nous vous recommandons de créer un compartiment de journalisation dédié dans chacun Région AWS de vos compartiments. Ensuite, faites en sorte que le journal d'accès soit envoyé au compartiment de journalisation dédié.

Utilisez la procédure suivante pour activer la journalisation des accès à l'aide de l' AWS CLI.

**Note**  
Vous devez l'installer AWS CLI et le configurer pour Lightsail avant de poursuivre cette procédure. Pour plus d'informations, voir [Configurer le AWS CLI pour qu'il fonctionne avec Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md).

1. Ouvrez une invite de commande ou une fenêtre de terminal sur votre ordinateur local.

1. Saisissez la commande suivante pour activer la journalisation des accès.

   ```
   aws lightsail update-bucket --bucket-name SourceBucketName --access-log-config "{\"enabled\": true, \"destination\": \"TargetBucketName\", \"prefix\": \"ObjectKeyNamePrefix/\"}"
   ```

   Dans la commande, remplacez l'exemple de texte suivant par le vôtre :
   + *SourceBucketName*- Le nom du compartiment source pour lequel les journaux d'accès seront créés.
   + *TargetBucketName*— Le nom du compartiment cible dans lequel les journaux d'accès seront enregistrés.
   + *ObjectKeyNamePrefix/*- Le préfixe de nom de clé d'objet facultatif pour les journaux d'accès. Le préfixe doit se terminer par une barre oblique (`/`).

   **Exemple**

   ```
   aws lightsail update-bucket --bucket-name amzn-s3-demo-bucket1 --access-log-config "{\"enabled\": true, \"destination\": \"amzn-s3-demo-bucket2\", \"prefix\": \"logs/amzn-s3-demo-bucket1/\"}"
   ```

   Dans cet exemple, *amzn-s3-demo-bucket1* il s'agit du compartiment source pour lequel les journaux d'accès seront créés, *amzn-s3-demo-bucket2* du compartiment de destination dans lequel les journaux d'accès seront enregistrés et *logs/amzn-s3-demo-bucket1/* du préfixe du nom de clé d'objet pour les journaux d'accès.

   Le résultat de la commande doit ressembler à l'exemple suivant. Le compartiment source est mis à jour, et les journaux d'accès doivent commencer à être générés et stockés dans le compartiment de destination.  
![\[Journalisation des accès activée pour un compartiment\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/amazon-lightsail-enable-access-logging-for-a-bucket.png)

## Désactivation de la journalisation des accès à l'aide du AWS CLI
<a name="disabling-access-logging"></a>

Utilisez la procédure suivante pour désactiver la journalisation des accès à l'aide de l' AWS CLI.

**Note**  
Vous devez l'installer AWS CLI et le configurer pour Lightsail avant de poursuivre cette procédure. Pour plus d'informations, voir [Configurer le AWS CLI pour qu'il fonctionne avec Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md).

1. Ouvrez une invite de commande ou une fenêtre de terminal sur votre ordinateur local.

1. Saisissez la commande suivante pour désactiver la journalisation des accès.

   ```
   aws lightsail update-bucket --bucket-name SourceBucketName --access-log-config "{\"enabled\": false}"
   ```

   Dans la commande, remplacez *SourceBucketName* par le nom du compartiment source pour lequel vous souhaitez désactiver la journalisation des accès.

   **Exemple**

   ```
   aws lightsail update-bucket --bucket-name amzn-s3-demo-bucket --access-log-config "{\"enabled\": false}"
   ```

   Le résultat de la commande doit ressembler à l'exemple suivant.  
![\[Journalisation des accès désactivée pour un compartiment\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/amazon-lightsail-disable-access-logging-for-a-bucket.png)

# Analysez les journaux d'accès aux compartiments avec Amazon Athena dans Lightsail
<a name="amazon-lightsail-using-bucket-access-logs"></a>

Ce guide explique comment identifier les demandes à un compartiment à l'aide de journaux d'accès. Pour plus d'informations, veuillez consulter [Journalisation des accès pour les compartiments](amazon-lightsail-bucket-access-logs.md).

**Table des matières**
+ [Interrogation des journaux d'accès pour les demandes à l'aide d'Amazon Athena](#querying-access-logs-for-requests)
+ [Utilisation des journaux d'accès Amazon S3 pour identifier les demandes d'accès aux objets](#identifying-object-access-requests)

## Interrogation des journaux d'accès pour les demandes à l'aide d'Amazon Athena
<a name="querying-access-logs-for-requests"></a>

Vous pouvez utiliser Amazon Athena pour interroger et identifier les demandes adressées à un compartiment dans les journaux d'accès.

Lightsail stocke les journaux d'accès sous forme d'objets dans un bucket Lightsail. Il est souvent plus facile d'utiliser un outil capable d'analyser les journaux. Athena prend en charge l'analyse des objets et peut être utilisé pour interroger les journaux d'accès.

**Exemple**

L'exemple suivant montre comment vous pouvez interroger les journaux d'accès au serveur pour le compartiment dans Amazon Athena.

**Note**  
Pour spécifier un emplacement de compartiment dans une requête Athena, vous devez formater le nom du compartiment cible et le préfixe cible où vos journaux sont envoyés en tant qu'URI S3, comme suit : `s3://amzn-s3-demo-bucket1-logs/prefix/`

1. Ouvrez la console à l'adresse [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/).

1. Dans l'**Éditeur de requête**, exécutez une commande similaire à ce qui suit.

   ```
   create database bucket_access_logs_db
   ```
**Note**  
Il est recommandé de créer la base de données au même endroit Région AWS que votre compartiment S3.

1. Dans l'**Éditeur de requête**, exécutez une commande similaire à ce qui suit pour créer un schéma de table dans la base de données que vous avez créée à l'étape 2. Les valeurs de type de données `STRING` et `BIGINT` sont les propriétés des journaux d'accès. Vous pouvez interroger ces propriétés dans Athena. Pour `LOCATION`, saisissez le compartiment et le préfixe du chemin notés précédemment.

   ```
   CREATE EXTERNAL TABLE `s3_access_logs_db.amzn-s3-demo-bucket_logs`(
     `bucketowner` STRING, 
     `bucket_name` STRING, 
     `requestdatetime` STRING, 
     `remoteip` STRING, 
     `requester` STRING, 
     `requestid` STRING, 
     `operation` STRING, 
     `key` STRING, 
     `request_uri` STRING, 
     `httpstatus` STRING, 
     `errorcode` STRING, 
     `bytessent` BIGINT, 
     `objectsize` BIGINT, 
     `totaltime` STRING, 
     `turnaroundtime` STRING, 
     `referrer` STRING, 
     `useragent` STRING, 
     `versionid` STRING, 
     `hostid` STRING, 
     `sigv` STRING, 
     `ciphersuite` STRING, 
     `authtype` STRING, 
     `endpoint` STRING, 
     `tlsversion` STRING)
   ROW FORMAT SERDE 
     'org.apache.hadoop.hive.serde2.RegexSerDe' 
   WITH SERDEPROPERTIES ( 
     'input.regex'='([^ ]*) ([^ ]*) \\[(.*?)\\] ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) (\"[^\"]*\"|-) (-|[0-9]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) (\"[^\"]*\"|-) ([^ ]*)(?: ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*))?.*$') 
   STORED AS INPUTFORMAT 
     'org.apache.hadoop.mapred.TextInputFormat' 
   OUTPUTFORMAT 
     'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
   LOCATION
     's3://amzn-s3-demo-bucket1-logs/prefix/'
   ```

1. Dans le volet de navigation, sous **Database (Base de données)**, choisissez votre base de données.

1. Sous **Tables**, choisissez **Aperçu de la table** en regard du nom de votre table.

   Dans le volet **Results (Résultats)**, vous devriez voir apparaître les données des journaux d’accès au serveur, par exemple `bucketowner`, `bucket`, `requestdatetime`, etc. Ceci signifie que vous avez correctement créé la table Athena. Vous pouvez désormais interroger les journaux d'accès du serveur pour le compartiment.

**Exemple – Afficher l'utilisateur qui a supprimé un objet et l'instant (horodatage, adresse IP et utilisateur IAM)**

```
SELECT RequestDateTime, RemoteIP, Requester, Key 
FROM s3_access_logs_db.amzn-s3-demo-bucket_logs 
WHERE key = 'images/picture.jpg' AND operation like '%DELETE%';
```

**Exemple – Afficher toutes les opérations effectuées par un utilisateur IAM**

```
SELECT * 
FROM s3_access_logs_db.amzn-s3-demo-bucket_logs 
WHERE requester='arn:aws:iam::123456789123:user/user_name';
```

**Exemple – Afficher toutes les opérations effectuées sur un objet au cours d'une période spécifique**

```
SELECT *
FROM s3_access_logs_db.amzn-s3-demo-bucket_logs
WHERE Key='prefix/images/picture.jpg' 
    AND parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z')
    BETWEEN parse_datetime('2017-02-18:07:00:00','yyyy-MM-dd:HH:mm:ss')
    AND parse_datetime('2017-02-18:08:00:00','yyyy-MM-dd:HH:mm:ss');
```

**Exemple – Afficher la quantité de données transférées par une adresse IP donnée au cours d'une période**

```
SELECT SUM(bytessent) AS uploadTotal,
      SUM(objectsize) AS downloadTotal,
      SUM(bytessent + objectsize) AS Total
FROM s3_access_logs_db.amzn-s3-demo-bucket_logs
WHERE RemoteIP='1.2.3.4'
AND parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z')
BETWEEN parse_datetime('2017-06-01','yyyy-MM-dd')
AND parse_datetime('2017-07-01','yyyy-MM-dd');
```

## Utilisation des journaux d'accès Amazon S3 pour identifier les demandes d'accès aux objets
<a name="identifying-object-access-requests"></a>

Vous pouvez utiliser des requêtes sur les journaux d'accès pour identifier les demandes d'accès aux objets pour les opérations telles que *GET*, *PUT* et *DELETE* et découvrir de plus amples informations sur ces requêtes.

L'exemple de requête Amazon Athena suivant montre comment obtenir toutes les demandes d'objet `PUT` d'un compartiment à partir du journal d'accès du serveur.

**Exemple – Afficher tous les demandeurs qui envoient des demandes d'objets PUT au cours d'une période donnée**

```
SELECT Bucket, Requester, RemoteIP, Key, HTTPStatus, ErrorCode, RequestDateTime
FROM s3_access_logs_db
WHERE Operation='REST.PUT.OBJECT' AND
parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z') 
BETWEEN parse_datetime('2019-07-01:00:42:42','yyyy-MM-dd:HH:mm:ss')
AND 
parse_datetime('2019-07-02:00:42:42','yyyy-MM-dd:HH:mm:ss')
```

L'exemple de requête Amazon Athena suivant montre comment obtenir toutes les demandes d'objets GET pour Amazon S3 à partir du journal d'accès au serveur.

**Exemple – Afficher tous les demandeurs qui envoient des demandes d'objets GET au cours d'une période donnée**

```
SELECT Bucket, Requester, RemoteIP, Key, HTTPStatus, ErrorCode, RequestDateTime
FROM s3_access_logs_db
WHERE Operation='REST.GET.OBJECT' AND
parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z') 
BETWEEN parse_datetime('2019-07-01:00:42:42','yyyy-MM-dd:HH:mm:ss')
AND 
parse_datetime('2019-07-02:00:42:42','yyyy-MM-dd:HH:mm:ss')
```

L'exemple de requête Amazon Athena suivant montre comment obtenir toutes les demandes anonymes vers vos compartiments S3 à partir du journal d'accès du serveur.

**Exemple – Afficher tous les demandeurs anonymes qui adressent des demandes à un compartiment au cours d'une période donnée**

```
SELECT Bucket, Requester, RemoteIP, Key, HTTPStatus, ErrorCode, RequestDateTime
FROM s3_access_logs_db.amzn-s3-demo-bucket_logs
WHERE Requester IS NULL AND
parse_datetime(RequestDateTime,'dd/MMM/yyyy:HH:mm:ss Z') 
BETWEEN parse_datetime('2019-07-01:00:42:42','yyyy-MM-dd:HH:mm:ss')
AND 
parse_datetime('2019-07-02:00:42:42','yyyy-MM-dd:HH:mm:ss')
```

**Note**  
Vous pouvez modifier la plage de dates en fonction de vos besoins.
Ces exemples de requêtes peuvent aussi s’avérer utiles pour surveiller la sécurité. Vous pouvez consulter les résultats des `PutObject` `GetObject` appels provenant d'une adresse IP inattendue ou non autorisée addresses/requesters et pour identifier les demandes anonymes adressées à vos compartiments.
Cette requête ne récupère d’informations qu’à partir du moment où l’enregistrement a été activé.