Configurer les journaux d’accès du bucket

La journalisation crée des fichiers décrivant les demandes adressées au bucket et les stocke dans un bucket de destination. Configurez-la dans Access logging ; le service produit et livre ensuite les journaux.

Préparer la destination et les permissions

L’onglet est proposé pour un seul bucket à usage général lorsque Read bucket access logging ou Set bucket access logging est activé dans les capacités du compte. Si les deux sont désactivés, Access logging est masqué. Ouvrez File > Accounts…, sélectionnez le compte, cliquez sur Edit…, puis ouvrez Capabilities. Dans Bucket access logging, configurez Read bucket access logging, Set bucket access logging, Set access log object key format et Set access log target grants uniquement si le service les prend en charge.

Une lecture réussie et les capacités Read bucket access logging et Set bucket access logging sont nécessaires pour appliquer ou désactiver la journalisation. Sans configuration active, Enable access logging est décoché, destination et préfixe sont vides, aucune entrée d’autorisation ACL n’est définie et le format proposé est Historical simple prefix (no format element).

Les identifiants doivent aussi disposer des permissions de lecture et de modification de la configuration, par exemple s3:GetBucketLogging et s3:PutBucketLogging sur Amazon S3. Le bucket de destination doit autoriser S3 à livrer les journaux ; les droits supplémentaires sur les objets journaux ne donnent pas cette autorisation de livraison.

Sur Amazon S3, choisissez un bucket de destination à usage général dans le même compte et la même région que la source, sans Object Lock, rétention par défaut ni Requester Pays, avec SSE-S3. Pour autoriser la livraison par une politique de bucket, accordez s3:PutObject à logging.s3.amazonaws.com sous le préfixe cible ; S3Client n’ajoute pas cette permission. Évitez le bucket source ou une destination dont la journalisation est activée pour prévenir les boucles. Prérequis de la journalisation Amazon S3.

La livraison est asynchrone et ne garantit pas un journal exhaustif de toutes les demandes. Documentation Amazon S3 sur les journaux d’accès.

Choisir la destination avec Browse… ne vérifie pas tous ces prérequis. S3Client peut lire son réglage Object Ownership lorsque cette lecture est disponible ; vérifiez séparément région, compte propriétaire, chiffrement et protections. Voir ACL et propriété des objets, le chiffrement et Object Lock.

Avec des ACL actives, la livraison peut aussi être autorisée par WRITE et READ_ACP accordés au groupe S3 Log Delivery sur le bucket destination. Ces droits restent distincts des entrées d’autorisation ACL sur les objets journaux. Permissions de livraison Amazon S3.

Les noms de buckets, préfixes et identifiants de bénéficiaires doivent contenir du texte XML valide. S3Client limite le document XML de configuration à 64 KiB ; le message The bucket logging XML document would exceed the 64 KiB limit. demande de réduire la configuration avant de l’appliquer.

Dans Account > Capabilities > Bucket access logging, la liste de compatibilité propose Strict S3 XML ou Preserve known logging additions. Le second choix autorise la modification d’une configuration de journalisation standard contenant les champs connus ObjectRollTime et RecordsBatchSize : S3Client conserve leurs valeurs lorsque vous modifiez la destination, le préfixe ou les permissions. Désactiver la journalisation les supprime. L’interface ne permet pas de créer ou modifier ces champs supplémentaires. Une extension inconnue laisse la configuration en lecture seule.

Le service peut renvoyer un format simple explicite même si Set access log object key format est désactivé. Cette forme équivalente au défaut ne bloque pas l’édition : S3Client enregistre alors le format simple sans élément de format explicite. Les formats partitionnés exigent toujours cette capacité.

Activer ou modifier la journalisation

  1. Dans le panneau S3, sélectionnez le bucket source.
  2. Ouvrez Properties > Access logging. L’activation de cet onglet déclenche la lecture.
  3. Cochez Enable access logging.
  4. Saisissez Destination bucket ou cliquez sur son bouton Browse… pour sélectionner un bucket.
  5. Saisissez Key prefix, éventuellement vide. Le bouton Browse… associé permet de choisir un préfixe dans la destination sélectionnée avec le navigateur.
  6. Choisissez Object key format.
  7. Configurez les droits supplémentaires si nécessaire.
  8. Cliquez sur Apply to bucket et vérifiez le résultat dans l’onglet.
  9. Utilisez Reload pour contrôler la configuration distante si nécessaire.

Apply to bucket enregistre immédiatement la journalisation. Le bouton OK des propriétés ne l’enregistre pas. Fermer les propriétés avec des modifications de journalisation non appliquées demande confirmation de leur abandon.

Format des clés

ValeurEffet
Historical simple prefix (no format element)Utilise le format simple historique, sans envoyer de choix de format explicite au service.
Simple prefixDemande explicitement le format simple au service.
Partitioned by event timeOrganise les clés par compte, région, bucket source et date de l’événement.
Partitioned by delivery timeUtilise cette organisation avec la date de livraison.

Simple prefix, Partitioned by event time et Partitioned by delivery time nécessitent Set access log object key format dans les capacités du compte. Le préfixe est utilisé tel que saisi : terminez-le par / pour regrouper les journaux dans un dossier logique. Le format change les clés des objets, pas les champs contenus dans les journaux.

Droits supplémentaires sur les journaux

Dans Additional target grants, cliquez sur Add, choisissez un Canonical user ou un S3 group, puis sélectionnez Permission : READ, WRITE ou FULL_CONTROL. Sélectionnez une ligne et cliquez sur Remove pour la retirer. Le propriétaire du bucket de destination dispose automatiquement du contrôle total sur les journaux.

Dans Choose an ACL grantee, sélectionnez un bénéficiaire disponible ou renseignez Type et Identifier : un identifiant canonique S3 pour Canonical user, une URI de groupe pour S3 group. L’identifiant canonique n’est pas le numéro de compte AWS. Remote display name est facultatif pour un utilisateur canonique. Après OK, Target grant permission propose READ par défaut. Une entrée d’autorisation ACL identique déjà présente n’est pas ajoutée une seconde fois.

Ces droits (TargetGrants) sont enregistrés avec PutBucketLogging. Ils nécessitent Set access log target grants et restent proposés lorsque Enable ACL operations for this account est décoché : ils ne lisent ni ne modifient l’ACL d’un objet existant. Cette capacité ne donne aucune permission distante et ne garantit pas que le service acceptera la configuration.

Si la destination sélectionnée utilise Bucket owner enforced, vous ne pouvez pas enregistrer de TargetGrants : autorisez la livraison par une politique de bucket selon les règles Amazon S3. Désactiver les opérations ACL dans S3Client ne supprime pas cette restriction du serveur. Les anciens bénéficiaires identifiés par e-mail restent visibles, mais leur présence bloque la modification de toute la configuration.

Désactiver la journalisation

Disable access logging retire la configuration entière, y compris les éléments que S3Client ne peut pas afficher. Cette action ne supprime pas les objets journaux déjà livrés.

  1. Dans Properties > Access logging, vérifiez le bucket source.
  2. Cliquez sur Disable access logging.
  3. Confirmez la suppression de la configuration.
  4. Attendez le résultat puis utilisez Reload pour vérifier l’état.

Décocher Enable access logging ne suffit pas à désactiver la journalisation distante. Utilisez Disable access logging pour appliquer la désactivation.

Gérer les conflits et les résultats incertains

S3Client relit la configuration avant l’écriture. Dans Bucket access logging changed, Reload remote configuration prend en compte la configuration distante tout en conservant vos saisies ; Replace remote configuration enregistre vos saisies à sa place ; Cancel les conserve sans écrire. Le bouton Reload de l’onglet a un autre effet : il remplace vos saisies par les valeurs distantes.

Une configuration distante que S3Client ne peut pas éditer reste en lecture seule. Si la vérification préalable découvre cette situation, vos réglages d’activation ne sont pas enregistrés. Vous pouvez encore utiliser Disable access logging pour retirer toute la configuration, y compris les éléments non affichés. Si elle a changé depuis sa lecture, confirmez Disable changed access logging configuration avant sa suppression.

Si le résultat annonce que la configuration a été acceptée mais que sa valeur courante n’est pas confirmée, cliquez sur Reload ; ne renvoyez pas immédiatement la modification. Une erreur de lecture ou un changement du compte demande aussi une nouvelle lecture ou une réouverture des propriétés.

Un succès de configuration confirme les réglages, pas la livraison d’un journal. Vérifiez plus tard les objets sous le préfixe de destination, en tenant compte du délai du service.

No acceptance was confirmed. ou The operation ended without confirmation. Your unsaved changes are retained. demande aussi une relecture avant toute nouvelle tentative. Le brouillon reste conservé et les actions de modification sont bloquées jusqu’à une lecture réussie. Une absence de confirmation ne garantit pas que le service n’a rien modifié.

La vérification préalable ne verrouille pas la configuration contre une autre écriture. Une modification déjà acceptée avec Apply to bucket ou Disable access logging n’est pas annulée par Cancel dans les propriétés.