Envoi des journaux de ACL trafic Web vers un bucket Amazon Simple Storage Service - AWS WAF, AWS Firewall Manager, et AWS Shield Advanced

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.

Envoi des journaux de ACL trafic Web vers un bucket Amazon Simple Storage Service

Cette rubrique fournit des informations sur l'envoi de vos journaux de ACL trafic Web vers un compartiment Amazon S3.

Note

La connexion vous est facturée en plus des frais d'utilisation AWS WAF Pour plus d'informations, consultez Tarification de l'enregistrement des informations sur ACL le trafic Web.

Pour envoyer vos journaux de ACL trafic Web à Amazon S3, vous configurez un compartiment Amazon S3 à partir du même compte que celui que vous utilisez pour gérer le WebACL, et vous nommez le compartiment en commençant paraws-waf-logs-. Lorsque vous activez la connexion AWS WAF, vous indiquez le nom du compartiment. Pour plus d'informations sur la création d'un bucket de journalisation, consultez Create a Bucket dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Vous pouvez accéder à vos journaux Amazon S3 et les analyser à l'aide du service de requêtes interactif Amazon Athena. Athena facilite l'analyse des données directement dans Amazon S3 à l'aide de la norme. SQL Avec quelques actions dans le AWS Management Console, vous pouvez pointer Athena vers vos données stockées dans Amazon S3 et commencer rapidement à utiliser la norme SQL pour exécuter des requêtes ad hoc et obtenir des résultats. Pour plus d'informations, voir Interrogation AWS WAF se connecte dans le guide de l'utilisateur d'Amazon Athena. Pour des exemples de requêtes Amazon Athena supplémentaires, consultez waf-log-sample-athenaaws-samples/ -queries sur le site Web. GitHub

Note

AWS WAF prend en charge le chiffrement avec des compartiments Amazon S3 pour le type de clé Amazon S3 key (SSE-S3) et pour AWS Key Management Service (SSE-KMS) AWS KMS keys. AWS WAF ne prend pas en charge le chiffrement pour AWS Key Management Service clés gérées par AWS.

Votre site Web ACLs publie ses fichiers journaux dans le compartiment Amazon S3 à intervalles de 5 minutes. Chaque fichier journal contient des enregistrements du trafic enregistré au cours des 5 minutes précédentes.

La taille maximale d'un fichier journal est de 75 Mo. Si le fichier journal atteint la taille limite de fichier dans un délai de 5 minutes, le journal arrête d'y ajouter des enregistrements, le publie dans le compartiment Amazon S3, puis crée un nouveau fichier journal.

Les fichiers journaux sont compressés. Si vous ouvrez les fichiers à l'aide de la console Amazon S3, Amazon S3 décompresse les enregistrements du journal et les affiche. Si vous téléchargez les fichiers journaux, vous devez les décompresser pour afficher les enregistrements.

Un seul fichier journal contient des entrées entrelacées avec plusieurs enregistrements. Pour voir tous les fichiers journaux d'un site WebACL, recherchez les entrées agrégées par ACL nom du site Web, région et identifiant de votre compte.

Exigences en matière de dénomination et syntaxe

Les noms de vos compartiments pour AWS WAF la journalisation doit commencer par aws-waf-logs- et peut se terminer par le suffixe de votre choix. Par exemple, aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX.

Emplacement du godet

Les emplacements des compartiments utilisent la syntaxe suivante :

s3://aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX/
Seau ARN

Le format du bucket Amazon Resource Name (ARN) est le suivant :

arn:aws:s3:::aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX
Emplacements des compartiments avec préfixes

Si vous utilisez des préfixes dans le nom de vos clés d'objet pour organiser les données que vous stockez dans vos compartiments, vous pouvez fournir vos préfixes dans les noms de vos compartiments de journalisation.

Note

Cette option n'est pas disponible via la console. Utilisez la commande AWS WAF APIsCLI, ou AWS CloudFormation.

Pour plus d'informations sur l'utilisation des préfixes dans Amazon S3, consultez la section Organisation des objets à l'aide de préfixes dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Les emplacements des compartiments dotés de préfixes utilisent la syntaxe suivante :

s3://aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX/DOC-EXAMPLE-KEY-NAME-PREFIX/
Dossiers de compartiments et noms de fichiers

À l'intérieur de vos compartiments, et en suivant les préfixes que vous fournissez, votre AWS WAF les journaux sont écrits dans une structure de dossiers déterminée par l'identifiant de votre compte, la région, le ACL nom du site Web, ainsi que la date et l'heure.

AWSLogs/account-id/WAFLogs/Region/web-acl-name/YYYY/MM/dd/HH/mm

À l'intérieur des dossiers, les noms des fichiers journaux suivent un format similaire :

account-id_waflogs_Region_web-acl-name_timestamp_hash.log.gz

Les spécifications temporelles utilisées dans la structure des dossiers et dans le nom du fichier journal sont conformes à la spécification du format d'horodatage. YYYYMMddTHHmmZ

Voici un exemple de fichier journal dans un compartiment Amazon S3 pour un compartiment nomméDOC-EXAMPLE-BUCKET. Le Compte AWS est11111111111. Le Web ACL existe TEST-WEBACL et la Région l'estus-east-1.

s3://DOC-EXAMPLE-BUCKET/AWSLogs/11111111111/WAFLogs/us-east-1/TEST-WEBACL/2021/10/28/19/50/11111111111_waflogs_us-east-1_TEST-WEBACL_20211028T1950Z_e0ca43b5.log.gz
Note

Les noms de vos compartiments pour AWS WAF la journalisation doit commencer par aws-waf-logs- et peut se terminer par le suffixe de votre choix.

Autorisations requises pour publier des journaux sur Amazon S3

La configuration de ACL la journalisation du trafic Web pour un compartiment Amazon S3 nécessite les paramètres d'autorisation suivants. Ces autorisations sont définies pour vous lorsque vous utilisez l'un des AWS WAF politiques gérées d'accès complet, AWSWAFConsoleFullAccess ouAWSWAFFullAccess. Si vous souhaitez gérer un accès plus précis à votre journalisation et AWS WAF ressources, vous pouvez définir ces autorisations vous-même. Pour plus d'informations sur la gestion des autorisations, voir Gestion des accès pour AWS ressources du guide de IAM l'utilisateur. Pour plus d'informations sur le AWS WAF politiques gérées, voirAWS politiques gérées pour AWS WAF.

Les autorisations suivantes vous permettent de modifier la configuration de ACL journalisation Web et de configurer la livraison des journaux vers votre compartiment Amazon S3. Ces autorisations doivent être associées à l'utilisateur que vous utilisez pour gérer AWS WAF.

Note

Lorsque vous définissez les autorisations répertoriées ci-dessous, des erreurs peuvent s'afficher dans votre AWS CloudTrail journaux indiquant que l'accès a été refusé, mais que les autorisations sont correctes pour AWS WAF journalisation.

{ "Version":"2012-10-17", "Statement":[ { "Action":[ "wafv2:PutLoggingConfiguration", "wafv2:DeleteLoggingConfiguration" ], "Resource":[ "*" ], "Effect":"Allow", "Sid":"LoggingConfigurationAPI" }, { "Sid":"WebACLLogDelivery", "Action":[ "logs:CreateLogDelivery", "logs:DeleteLogDelivery" ], "Resource": "*", "Effect":"Allow" }, { "Sid":"WebACLLoggingS3", "Action":[ "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": [ "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket" ], "Effect":"Allow" } ] }

Quand les actions sont autorisées sur tous AWS ressources, cela est indiqué dans la politique avec un "Resource" paramètre de"*". Cela signifie que les actions sont autorisées sur tous AWS ressources prises en charge par chaque action. Par exemple, l'action n'wafv2:PutLoggingConfigurationest prise en charge que pour la wafv2 journalisation des ressources de configuration.

Par défaut, les compartiments Amazon S3 et les objets qu'ils contiennent sont privés. Seul le propriétaire du compartiment peut accéder au compartiment et aux objets qui y sont stockés. Le propriétaire du bucket peut toutefois accorder l'accès à d'autres ressources et utilisateurs en rédigeant une politique d'accès.

Si l'utilisateur qui crée le journal est propriétaire du compartiment, le service attache automatiquement la politique suivante au compartiment pour autoriser le journal à y publier des journaux :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket/AWSLogs/account-id/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": ["account-id"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:region:account-id:*"] } } }, { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": ["account-id"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:region:account-id:*"] } } } ] }
Note

Les noms de vos compartiments pour AWS WAF la journalisation doit commencer par aws-waf-logs- et peut se terminer par le suffixe de votre choix.

Si l'utilisateur qui crée le journal n'est pas propriétaire du compartiment ou ne dispose pas des PutBucketPolicy autorisations GetBucketPolicy et pour le compartiment, la création du journal échoue. Dans ce cas, le propriétaire du compartiment doit ajouter manuellement la politique précédente au compartiment et spécifier celle du créateur du journal Compte AWS IDENTIFIANT. Pour de plus amples informations, veuillez consulter Comment ajouter une politique de compartiment S3 dans le Guide de l'utilisateur Amazon Simple Storage Service. Si le bucket reçoit les journaux de plusieurs comptes, ajoutez une entrée d'Resourceélément à la déclaration de AWSLogDeliveryWrite politique pour chaque compte.

Par exemple, la politique de compartiment suivante permet Compte AWS 111122223333pour publier les journaux dans un compartiment nommé aws-waf-logs-amzn-s3-demo-bucket :

{ "Version": "2012-10-17", "Id": "AWSLogDeliveryWrite20150319", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket/AWSLogs/111122223333/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": ["111122223333"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:111122223333:*"] } } }, { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": ["111122223333"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:111122223333:*"] } } } ] }

Autorisations d'utilisation AWS Key Management Service avec une KMS clé

Si votre destination de journalisation utilise le chiffrement côté serveur avec des clés stockées dans AWS Key Management Service (SSE-KMS) et vous utilisez une clé gérée par le client (KMSclé), vous devez donner AWS WAF autorisation d'utiliser votre KMS clé. Pour ce faire, vous ajoutez une politique clé à la KMS clé correspondant à la destination que vous avez choisie. Cela permet AWS WAF journalisation pour écrire vos fichiers journaux vers votre destination.

Ajoutez la politique clé suivante à votre KMS clé pour autoriser AWS WAF pour vous connecter à votre compartiment Amazon S3.

{ "Sid": "Allow AWS WAF to use the key", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": "kms:GenerateDataKey*", "Resource": "*" }

Autorisations requises pour accéder aux fichiers journaux Amazon S3

Amazon S3 utilise des listes de contrôle d'accès (ACLs) pour gérer l'accès aux fichiers journaux créés par un AWS WAF journal. Par défaut, le propriétaire du compartiment dispose d'autorisations FULL_CONTROL sur chaque fichier journal. Si le propriétaire de la diffusion des journaux n'est pas le propriétaire du compartiment, il ne dispose d'aucune autorisation. Le compte de diffusion des journaux possède les autorisations READ et WRITE. Pour plus d'informations, consultez la section Présentation de la liste de contrôle d'accès (ACL) dans le guide de l'utilisateur d'Amazon Simple Storage Service.