¿Cómo envío registros de AWS WAF a un bucket de Amazon S3 en una cuenta de registro centralizada?
¿Cómo envío los registros de AWS WAF a un bucket de Amazon Simple Storage Service (Amazon S3) en una cuenta o región de AWS diferente?
Descripción corta
Para enviar registros de AWS WAF a un bucket de Amazon S3 en una cuenta de registro centralizada, haga lo siguiente:
- Cree un bucket de S3 en la cuenta de registro centralizado que tenga un nombre de bucket que comience por aws-waf-logs- en la región de AWS seleccionada.
- Cree y agregue una política de bucket al bucket de S3 que permita la entrega de registros desde las cuentas de origen.
- Utilice el comando put-logging-configuration de AWS CLI para configurar sus listas de control de acceso web (ACL web) para enviar los registros al bucket de S3 en la cuenta de registro centralizada.
Resolución
Crear un bucket de S3 en la cuenta de registro centralizado en la región seleccionada
- Cree un bucket de S3 en la cuenta de registro centralizado para la región de AWS seleccionada.
- Ingrese un nombre de bucket que comience con el prefijo aws-waf-logs-.
Por ejemplo: aws-waf-logs-ejemplo-bucket
Crear y agregar una política de bucket al bucket de S3
Agregue la siguiente política de bucket de S3 a su bucket de S3:
Importante:
- Sustituya los ID de cuenta de aws:SourceAccount por la lista de ID de cuenta de las cuentas de origen que enviarán registros a este bucket.
- Sustituya los ARN de aws:SourceArn por la lista de ARN de los recursos de origen que publicarán registros en este bucket, en el formato arn:aws:logs:*:source-account-id:*.
- Reemplace el nombre del bucket de S3 aws-waf-logs-example-bucket en Resource (Recurso) por el nombre de su bucket de S3.
{ "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-example-bucket/AWSLogs/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "111111111111", "222222222222" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:*:111111111111:*", "arn:aws:logs:*:222222222222:*" ] } } }, { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::aws-waf-logs-example-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": [ "111111111111", "222222222222" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:*:111111111111:*", "arn:aws:logs:*:222222222222:*" ] } } } ] }
Configure sus ACL web para enviar los registros al bucket de S3 deseado
Debe configurar su ACL web para enviar los registros de AWS WAF al bucket de S3 de la cuenta de registro centralizado. Para configurar la ACL web, ejecute el siguiente comando de AWS CLI desde la cuenta propietaria de la ACL web:
Importante:
- Reemplace el valor ResourceArn por el ARN de las ACL web.
- Reemplace el valor de LogDestinationConfigs por el ARN del bucket de S3 en su cuenta de registro centralizada.
- Sustituya region (región) por la región de AWS en la que se encuentra la ACL web.
aws wafv2 put-logging-configuration --logging-configuration ResourceArn=arn:aws:wafv2:eu-west-1: 111111111111:regional/webacl/testing/b4a768c9-4895-4f35-9354-3049ab8acc29,LogDestinationConfigs=arn:aws:s3:::aws-waf-logs-example-bucket --region eu-west-1
Nota: Para las ACL web en la región de CloudFront (global), utilice us-east-1 como región de AWS en el comando anterior.
Repita el comando put-logging-configuration anterior para cada una de las ACL web.
Información relacionada
Amazon Simple Storage Service logging destinations (Destinos de registro de Amazon Simple Storage Service)
Contenido relevante
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace un año