Come si inviano i registri di AWS WAF a un bucket Amazon S3 in un account di registrazione centralizzato?

Ultimo aggiornamento: 28/06/2022

Come si inviano i registri di AWS WAF a un bucket Amazon Simple Storage Service (Amazon S3) in un altro account o regione AWS?

Breve descrizione

Per inviare i registri di AWS WAF a un bucket Amazon S3 in un account di registrazione centralizzato, procedi come segue:

  1. Crea un bucket S3 nell'account di registrazione centralizzato con un nome di bucket che inizia con aws-waf-logs- nella regione AWS selezionata.
  2. Crea e aggiungi una policy del bucket al bucket S3 che consenta la consegna dei registri dagli account di origine.
  3. Usa il comando dell'interfaccia a riga di comando (CLI) di AWS put-logging-configuration per configurare le tue liste di controllo degli accessi Web (ACL Web) per inviare i registri al bucket S3 nell'account di registrazione centralizzato.

Risoluzione

Creare un bucket S3 nell'account di registrazione centralizzato nella regione selezionata

  1. Crea un bucket S3 nell'account di registrazione centralizzato per la regione AWS selezionata.
  2. Inserisci un nome di bucket che inizia con il prefisso aws-waf-logs-.
    Ad esempio: aws-waf-logs-example-bucket

Creare e aggiungere una policy del bucket al bucket S3

Aggiungi la seguente policy del bucket S3 al tuo bucket S3:

Importante:

  • sostituisci gli ID account in aws:SourceAccount con l'elenco degli ID account dei tuoi account di origine che invieranno i registri a questo bucket.
  • Sostituisci gli ARN in aws:SourceArn con l'elenco degli ARN delle risorse di origine che pubblicheranno i registri in questo bucket, nel formato arn:aws:logs:*:source-account-id:*.
  • Sostituisci il nome del bucket S3 aws-waf-logs-example-bucket in Resource con il nome del tuo bucket 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:*"
          ]
        }
      }
    }
  ]
}

Configura le ACL Web per inviare i registri al bucket S3 desiderato

È necessario configurare l'ACL Web per l'invio dei registri di AWS WAF al bucket S3 dell'account di registrazione centralizzato. Per configurare l'ACL Web, esegui il seguente comando della CLI di AWS dall'account proprietario dell'ACL Web:

Importante:

  • Sostituisci il valore ResourceArn con l'ARN delle ACL Web.
  • Sostituisci il valore LogDestinationConfigs con l'ARN del bucket S3 nel tuo account di registrazione centralizzato.
  • Sostituisci il valore region con la Regione AWS in cui si trova la tua 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: per le ACL Web nella regione (globale) di CloudFront, nel comando precedente usa us-east-1 come regione AWS.

Ripeti il comando put-logging-configuration precedente per ciascuna delle tue ACL Web.


Destinazioni di registrazione di Amazon Simple Storage Service

Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?