

**Wir stellen vor: ein neues Konsolenerlebnis für AWS WAF**

Sie können das aktualisierte Erlebnis jetzt verwenden, um überall in der Konsole auf AWS WAF Funktionen zuzugreifen. Weitere Informationen finden Sie unter [Arbeiten mit der Konsole](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Protokollierung AWS WAF des Datenverkehrs mit dem Protection Pack (Web-ACL)
<a name="logging"></a>

In diesem Abschnitt werden die Protokollierungsoptionen für Ihre AWS WAF Protection Packs (Web ACLs) erläutert. 

Sie können die Protokollierung aktivieren, um detaillierte Informationen über den Traffic zu erhalten, der von Ihrer Web-ACL analysiert wird. Zu den protokollierten Informationen gehören die Uhrzeit, zu der eine Webanfrage von Ihrer AWS Ressource AWS WAF empfangen wurde, detaillierte Informationen zu der Anfrage und Details zu den Regeln, denen die Anfrage entsprach. Sie können Protection Pack-Protokolle (Web-ACL) an eine Amazon CloudWatch Logs-Protokollgruppe, einen Amazon Simple Storage Service (Amazon S3) -Bucket oder einen Amazon Data Firehose-Lieferstream senden.

Zusätzlich zu den Protokollen, die Sie für Ihre Schutzpakete (Web ACLs) aktivieren können, werden AWS auch Serviceprotokolle des Website- oder Anwendungsverkehrs verwendet, der von verarbeitet wird AWS WAF , um Support für AWS Kunden und Dienste bereitzustellen und deren Sicherheit zu gewährleisten.

**Anmerkung**  
Die Protokollierungskonfiguration des Protection Packs (Web-ACL) wirkt sich nur auf die AWS WAF Protokolle aus. Insbesondere die Konfiguration der geschwärzten Felder für die Protokollierung hat keine Auswirkungen auf das Sampling von Anfragen oder die Datenerfassung in Security Lake. Sie können Felder von der Erfassung oder Stichprobenerhebung ausschließen, indem Sie den Datenschutz im Protection Pack (Web ACL) konfigurieren. Abgesehen vom Datenschutz wird die Datenerfassung in Security Lake vollständig über den Security Lake-Dienst konfiguriert. 

**Topics**
+ [Preise für die Protokollierung von Verkehrsinformationen aus dem Protection Pack (Web ACL)](logging-pricing.md)
+ [AWS WAF Ziele protokollieren](logging-destinations.md)
+ [Konfiguration der Protokollierung für ein Protection Pack (Web-ACL)](logging-management-configure.md)
+ [Suchen nach Ihren Protection Pack-Einträgen (Web-ACL)](logging-management.md)
+ [Protokollfelder für den Traffic des Protection Packs (Web-ACL)](logging-fields.md)
+ [Protokollbeispiele für Traffic mit Schutzpaketen (Web-ACL)](logging-examples.md)

**Andere Optionen zur Datenerfassung und -analyse**  
Zusätzlich zur Protokollierung können Sie die folgenden Optionen für die Datenerfassung und -analyse aktivieren: 
+ **Amazon Security Lake** — Sie können Security Lake so konfigurieren, dass Schutzpaket-Daten (Web-ACL) gesammelt werden. Security Lake sammelt Protokoll- und Ereignisdaten aus verschiedenen Quellen zur Normalisierung, Analyse und Verwaltung. Informationen zu dieser Option finden Sie unter [Was ist Amazon Security Lake?](https://docs.aws.amazon.com/security-lake/latest/userguide/what-is-security-lake.html) und [Sammeln von Daten von AWS Diensten](https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html) im *Amazon Security Lake-Benutzerhandbuch*. 

  AWS WAF berechnet Ihnen keine Gebühren für die Nutzung dieser Option. Preisinformationen finden Sie unter [Security Lake-Preise](https://aws.amazon.com/security-lake/pricing/) und [Wie die Security Lake-Preise festgelegt werden](https://docs.aws.amazon.com/security-lake/latest/userguide/estimating-costs.html) im *Amazon Security Lake-Benutzerhandbuch*. 
+ **Sampling von Anfragen** — Sie können Ihr Protection Pack (Web-ACL) so konfigurieren, dass es Stichproben der Webanfragen nimmt, die es auswertet, um sich ein Bild von der Art des Datenverkehrs zu machen, den Ihre Anwendung empfängt. Weitere Informationen zu dieser Option finden Sie unter [Anzeigen einer Stichprobe von Webanforderungen](web-acl-testing-view-sample.md). 

# Preise für die Protokollierung von Verkehrsinformationen aus dem Protection Pack (Web ACL)
<a name="logging-pricing"></a>

In diesem Abschnitt werden die Preisüberlegungen für die Verwendung von Traffic Logs aus dem Protection Pack (Web ACL) erläutert.

Die Protokollierung der Verkehrsinformationen des Protection Pack (Web ACL) wird Ihnen entsprechend den mit den einzelnen Protokollzieltypen verbundenen Kosten in Rechnung gestellt. Diese Gebühren gelten zusätzlich zu den Gebühren für die Verwendung von AWS WAF. Die Kosten hängen von Faktoren wie dem gewählten Zielort und der Menge der aufgezeichneten Daten ab. 

Nachfolgend finden Sie Links zu den Preisinformationen für die einzelnen Zieltypen der Protokollierung:
+ **CloudWatch Logs** — Die Gebühren beziehen sich auf den Versand von Logs. Weitere Informationen finden Sie unter [Amazon CloudWatch Logs-Preise](https://aws.amazon.com/cloudwatch/pricing/). Wählen Sie unter **Bezahltes Kontingent** den Tab **Logs** und dann unter **Vended Logs** die Informationen für **Delivery to CloudWatch Logs**.
+ **Amazon S3-Buckets** — Die Amazon S3 S3-Gebühren sind die kombinierten Gebühren für die Lieferung von CloudWatch Logs an die Amazon S3 S3-Buckets und für die Nutzung von Amazon S3. 
  + Weitere Informationen zu Amazon S3 finden Sie unter [Amazon S3 Pricing](https://aws.amazon.com/s3/pricing/) (Preise für Amazon S3). 
  + Informationen zur Lieferung von CloudWatch Logs an Amazon S3 finden Sie unter [Amazon CloudWatch Logs-Preise](https://aws.amazon.com/cloudwatch/pricing/). Wählen Sie unter **Paid Tier** (Kostenpflichtiges Kontingent) die Registerkarte **Logs** (Protokolle). Unter **Vended Logs** (Vended-Protokolle) finden Sie die Informationen zu **Delivery to S3** (Lieferung an S3).
+ **Firehose** — Sehen Sie sich die [Amazon Data Firehose-Preise](https://aws.amazon.com/kinesis/data-firehose/pricing/) an.

[Informationen zur AWS WAF Preisgestaltung finden Sie unter AWS WAF Preise.](https://aws.amazon.com/waf/pricing/) 

# AWS WAF Ziele protokollieren
<a name="logging-destinations"></a>

In diesem Abschnitt werden die Protokollierungsoptionen beschrieben, aus denen Sie für Ihre AWS WAF Protokolle wählen können. Jeder Abschnitt enthält Anleitungen zur Konfiguration der Protokollierung, einschließlich Informationen zu jeglichem Verhalten, das für den Zieltyp spezifisch ist. Nachdem Sie das Protokollierungsziel konfiguriert haben, können Sie dessen Spezifikationen in die Protokollierungskonfiguration Ihres Protection Packs (Web-ACL) eingeben, um mit der Protokollierung zu beginnen.

**Topics**
+ [CloudWatch Logs](logging-cw-logs.md)
+ [Amazon S3](logging-s3.md)
+ [Firehose](logging-kinesis.md)

# Traffic Logs von Protection Pack (Web ACL) an eine Amazon CloudWatch Logs-Protokollgruppe senden
<a name="logging-cw-logs"></a>

Dieses Thema enthält Informationen zum Senden der Verkehrsprotokolle Ihres Protection Packs (Web-ACL) an eine CloudWatch Logs-Protokollgruppe. 

**Anmerkung**  
Die Kosten für die Protokollierung werden zusätzlich zu den Kosten für die Nutzung von AWS WAF berechnet. Weitere Informationen finden Sie unter [Preise für die Protokollierung von Verkehrsinformationen aus dem Protection Pack (Web ACL)](logging-pricing.md).

Um Protokolle an Amazon CloudWatch Logs zu senden, erstellen Sie eine CloudWatch Logs-Protokollgruppe. Wenn Sie die Anmeldung aktivieren AWS WAF, geben Sie den ARN der Protokollgruppe an. Nachdem Sie die Protokollierung für Ihr Protection Pack (Web-ACL) aktiviert haben, AWS WAF werden die Protokolle in Protokolldatenströmen an die Protokollgruppe CloudWatch Logs übermittelt. 

Wenn Sie CloudWatch Logs verwenden, können Sie sich die Logs für Ihr Protection Pack (Web-ACL) in der AWS WAF Konsole ansehen. Wählen Sie auf Ihrer Seite mit dem Protection Pack (Web-ACL) den Tab **Logging Insights** aus. Diese Option ist eine Ergänzung zu den Protokollierungsergebnissen, die für CloudWatch Logs über die CloudWatch Konsole bereitgestellt werden. 

Konfigurieren Sie die Protokollgruppe für die Protokolle des AWS WAF Protection Packs (Web-ACL) in derselben Region wie das Protection Pack (Web-ACL) und verwenden Sie dasselbe Konto, das Sie für die Verwaltung des Protection Packs (Web-ACL) verwenden. Informationen zur Konfiguration einer CloudWatch Logs-Log-Gruppe finden Sie unter [Arbeiten mit Protokollgruppen und Log-Streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html).

## Kontingente für CloudWatch Log-Log-Gruppen
<a name="logging-cw-logs-quotas"></a>

CloudWatch Logs hat standardmäßig ein maximales Kontingent für den Durchsatz, das auf alle Protokollgruppen innerhalb einer Region aufgeteilt wird und dessen Erhöhung Sie beantragen können. Wenn Ihre Protokollierungsanforderungen für die aktuelle Durchsatzeinstellung zu hoch sind, werden Ihnen Drosselungskennzahlen `PutLogEvents` für Ihr Konto angezeigt. Informationen zum Limit in der Konsole für Service Quotas und zur Beantragung einer Erhöhung finden Sie unter [CloudWatch PutLogEvents Protokollkontingent](https://console.aws.amazon.com/servicequotas/home/services/logs/quotas/L-7E1FAE88).

## Benennung von Protokollgruppen
<a name="logging-cw-logs-naming"></a>

Die Namen Ihrer Protokollgruppen müssen mit `aws-waf-logs-` beginnen und können mit einem beliebigen Suffix enden, z. B. `aws-waf-logs-testLogGroup2`.

Das resultierende ARN-Format lautet folgendermaßen: 

```
arn:aws:logs:Region:account-id:log-group:aws-waf-logs-log-group-suffix
```

Die Protokollstreams haben das folgende Benennungsformat: 

```
Region_web-acl-name_log-stream-number
```

Im Folgenden wird ein Beispiel für einen Protokollstream für das Protection Pack (Web-ACL) `TestWebACL` in Region gezeigt`us-east-1`. 

```
us-east-1_TestWebACL_0
```

## Zum Veröffentlichen von Protokollen in Logs sind Berechtigungen erforderlich CloudWatch
<a name="logging-cw-logs-permissions"></a>

Für die Konfiguration der Datenverkehrsprotokollierung mit dem Protection Pack (Web-ACL) für eine CloudWatch Logs-Protokollgruppe sind die in diesem Abschnitt beschriebenen Berechtigungseinstellungen erforderlich. Die Berechtigungen werden für Sie festgelegt, wenn Sie eine der verwalteten Richtlinien AWS WAF mit vollem Zugriff verwenden, `AWSWAFConsoleFullAccess` oder`AWSWAFFullAccess`. Wenn Sie den Zugriff auf Ihre Protokollierung und AWS WAF Ressourcen detaillierter verwalten möchten, können Sie die Berechtigungen selbst festlegen. Informationen zur Verwaltung von Berechtigungen finden Sie unter [Zugriffsverwaltung für AWS Ressourcen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) im *IAM-Benutzerhandbuch*. Weitere Informationen zu durch AWS WAF verwalteten Richtlinien finden Sie unter [AWS verwaltete Richtlinien für AWS WAF](security-iam-awsmanpol.md). 

Mit diesen Berechtigungen können Sie die Protokollierungskonfiguration des Protection Packs (Web-ACL) ändern, die Protokollzustellung für CloudWatch Protokolle konfigurieren und Informationen über Ihre Protokollgruppe abrufen. Diese Berechtigungen müssen an den Benutzer angehängt werden, den Sie zur Verwaltung von AWS WAF verwenden. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "wafv2:PutLoggingConfiguration",
                "wafv2:DeleteLoggingConfiguration"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow",
            "Sid": "LoggingConfigurationAPI"
        },
        {
            "Sid": "WebACLLoggingCWL",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:PutResourcePolicy",
                "logs:DescribeResourcePolicies",
                "logs:DescribeLogGroups"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

Wenn Aktionen für alle AWS Ressourcen zulässig sind, wird dies in der Richtlinie mit der `"Resource"` Einstellung von angegeben`"*"`. Das bedeutet, dass die Aktionen für alle AWS Ressourcen zulässig sind*, die jede Aktion unterstützt*. Die Aktion `wafv2:PutLoggingConfiguration` wird beispielsweise nur für `wafv2`-Protokollkonfigurationsressourcen unterstützt. 

# Senden von Traffic Logs aus dem Protection Pack (Web ACL) an einen Amazon Simple Storage Service-Bucket
<a name="logging-s3"></a>

Dieses Thema enthält Informationen zum Senden Ihrer Traffic Logs aus dem Protection Pack (Web ACL) an einen Amazon S3 S3-Bucket. 

**Anmerkung**  
Die Kosten für die Protokollierung werden zusätzlich zu den Kosten für die Nutzung von AWS WAF berechnet. Weitere Informationen finden Sie unter [Preise für die Protokollierung von Verkehrsinformationen aus dem Protection Pack (Web ACL)](logging-pricing.md).

Um Ihre Datenverkehrsprotokolle (Web-ACL) an Amazon S3 zu senden, richten Sie einen Amazon S3 S3-Bucket von demselben Konto aus ein, mit dem Sie das Protection Pack (Web-ACL) verwalten, und geben dem Bucket einen Namen, der mit beginnt`aws-waf-logs-`. Wenn Sie die Anmeldung aktivieren AWS WAF, geben Sie den Bucket-Namen an. Informationen zum Erstellen eines Logging-Buckets finden [Sie unter Create a Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html) im *Amazon Simple Storage Service-Benutzerhandbuch*.

Mit dem interaktiven Abfrageservice von Amazon Athena können Sie auf Ihre Amazon S3-Protokolle zugreifen und diese analysieren. Athena macht es einfach, Daten mit Standard-SQL direkt in Amazon S3 zu analysieren. Mit einigen Aktionen in der können Sie Athena auf Daten verweisen AWS-Managementkonsole, die in Amazon S3 gespeichert sind, und schnell beginnen, Standard-SQL zu verwenden, um Ad-hoc-Abfragen auszuführen und Ergebnisse zu erhalten. Weitere Informationen finden Sie unter [Abfragen von AWS WAF Protokollen](https://docs.aws.amazon.com/athena/latest/ug/waf-logs.html) im *Amazon Athena Athena-Benutzerhandbuch*. Weitere Amazon Athena Athena-Beispielabfragen finden Sie auf der Website unter [aws-samples/ waf-log-sample-athena](https://github.com/aws-samples/waf-log-sample-athena-queries) -queries. GitHub 

**Anmerkung**  
AWS WAF unterstützt die Verschlüsselung mit Amazon S3 S3-Buckets für den Schlüsseltyp Amazon S3 S3-Schlüssel (SSE-S3) und für AWS Key Management Service (SSE-KMS). AWS KMS keys AWS WAF unterstützt keine Verschlüsselung für AWS Key Management Service Schlüssel, die von verwaltet werden. AWS

Protokolldateien aus Ihrem Protection Pack (Web-ACL) werden in Intervallen von 5 Minuten im Amazon S3 S3-Bucket veröffentlicht. Jede Protokolldatei enthält Aufzeichnungen über den Datenverkehr der letzten 5 Minuten.

Die maximale Dateigröße für eine Protokolldatei beträgt 75 MB. Wenn die Protokolldatei die Dateigrößenbeschränkung innerhalb des 5-Minuten-Zeitraums erreicht, fügt das Protokoll keine weiteren Protokollsätze hinzu, sondern veröffentlicht sie im Amazon-S3-Bucket und erstellt dann eine neue Protokolldatei.

Die Protokolldateien werden komprimiert. Wenn Sie die Dateien über die Amazon-S3-Konsole öffnen, dekomprimiert Amazon S3 die Protokollsätze und zeigt sie an. Wenn Sie die Protokolldateien herunterladen, müssen Sie sie dekomprimieren, um die Datensätze anzuzeigen.

Eine einzelne Protokolldatei enthält verschachtelte Einträge mit mehreren Datensätzen. Um alle Protokolldateien für ein Schutzpaket (Web-ACL) zu sehen, suchen Sie nach Einträgen, die nach dem Namen des Schutzpakets (Web-ACL), der Region und Ihrer Konto-ID zusammengefasst sind.

## Benennungsanforderungen und Syntax
<a name="logging-s3-naming"></a>

Bucket-Namen für die AWS WAF Protokollierung müssen mit einem beliebigen Suffix beginnen `aws-waf-logs-` und können mit einem beliebigen Suffix enden. Beispiel, `aws-waf-logs-LOGGING-BUCKET-SUFFIX`. 

**Standort des Buckets**  
Die Speicherorte der Buckets verwenden die folgende Syntax: 

```
s3://aws-waf-logs-LOGGING-BUCKET-SUFFIX/
```

**Bucket-ARN**  
Das Format des Buckets „Amazon-Ressourcenname (ARN)“ lautet wie folgt: 

```
arn:aws:s3:::aws-waf-logs-LOGGING-BUCKET-SUFFIX
```

**Bucket-Standorte mit Präfixen**  
Wenn Sie Präfixe in Ihrem Objektschlüsselnamen verwenden, um die Daten zu organisieren, die Sie in Ihren Buckets speichern, können Sie Ihre Präfixe in Ihren Logging-Bucket-Namen angeben.

**Anmerkung**  
Diese Option ist nicht über die Konsole verfügbar. Verwenden Sie AWS WAF APIs die CLI oder AWS CloudFormation.

Informationen zur Verwendung von Präfixen in Amazon S3 finden Sie unter [Objekte mithilfe von Präfixen organisieren](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html) im *Amazon Simple Storage Service-Benutzerhandbuch*. 

Die Bucket-Standorte mit Präfixen verwenden die folgende Syntax: 

```
s3://aws-waf-logs-LOGGING-BUCKET-SUFFIX/KEY-NAME-PREFIX/
```

**Bucket-Ordner und Dateinamen**  
In Ihren Buckets und nach allen von Ihnen angegebenen Präfixen werden Ihre AWS WAF Logs in eine Ordnerstruktur geschrieben, die durch Ihre Konto-ID, die Region, den Namen des Protection Packs (Web-ACL) sowie Datum und Uhrzeit bestimmt wird. 

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

Innerhalb der Ordner folgen die Namen der Protokolldateien einem ähnlichen Format: 

```
account-id_waflogs_Region_web-acl-name_timestamp_hash.log.gz
```

Die in der Ordnerstruktur und im Namen der Protokolldatei verwendeten Zeitangaben entsprechen der Spezifikation des Zeitstempelformats `YYYYMMddTHHmmZ`.

Das folgende Beispiel zeigt eine Protokolldatei in einem Amazon-S3-Bucket für einen Bucket mit dem Namen `aws-waf-logs-LOGGING-BUCKET-SUFFIX`. Das AWS-Konto ist. `11111111111` Das Schutzpaket (Web-ACL) ist `TEST-WEBACL` und die Region ist`us-east-1`.

```
s3://aws-waf-logs-LOGGING-BUCKET-SUFFIX/AWSLogs/11111111111/WAFLogs/us-east-1/TEST-WEBACL/2021/10/28/19/50/11111111111_waflogs_us-east-1_TEST-WEBACL_20211028T1950Z_e0ca43b5.log.gz
```

**Anmerkung**  
Ihre Bucket-Namen für die AWS WAF Protokollierung müssen mit einem beliebigen Suffix beginnen `aws-waf-logs-` und können mit einem beliebigen Suffix enden. 

## Zum Veröffentlichen von Protokollen auf Amazon S3 sind Berechtigungen erforderlich
<a name="logging-s3-permissions"></a>

Für die Konfiguration der Datenverkehrsprotokollierung mit dem Protection Pack (Web ACL) für einen Amazon S3 S3-Bucket sind die folgenden Berechtigungseinstellungen erforderlich. Diese Berechtigungen werden für Sie festgelegt, wenn Sie eine der verwalteten AWS WAF -Richtlinien mit vollem Zugriff, `AWSWAFConsoleFullAccess` oder `AWSWAFFullAccess` verwenden. Wenn Sie den Zugriff auf Ihre Protokollierung und AWS WAF Ressourcen weiter verwalten möchten, können Sie diese Berechtigungen selbst festlegen. Informationen zur Verwaltung von Berechtigungen finden Sie unter [Zugriffsverwaltung für AWS Ressourcen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) im *IAM-Benutzerhandbuch*. Informationen zu den AWS WAF verwalteten Richtlinien finden Sie unter[AWS verwaltete Richtlinien für AWS WAF](security-iam-awsmanpol.md). 

Mit den folgenden Berechtigungen können Sie die Protokollierungskonfiguration des Protection Packs (Web ACL) ändern und die Protokollzustellung an Ihren Amazon S3 S3-Bucket konfigurieren. Diese Berechtigungen müssen an den Benutzer angehängt werden, den Sie zur Verwaltung von AWS WAF verwenden. 

**Anmerkung**  
Wenn Sie die unten aufgeführten Berechtigungen festlegen, werden in Ihren AWS CloudTrail Protokollen möglicherweise Fehler angezeigt, die darauf hinweisen, dass der Zugriff verweigert wurde, die Berechtigungen für die AWS WAF Protokollierung jedoch korrekt sind. 

------
#### [ JSON ]

****  

```
{
   "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-destination-bucket-suffix"
         ],
         "Effect":"Allow"
      }
   ]
}
```

------

Wenn Aktionen für alle AWS Ressourcen zulässig sind, wird dies in der Richtlinie mit der `"Resource"` Einstellung von angegeben`"*"`. Das bedeutet, dass die Aktionen für alle AWS Ressourcen zulässig sind*, die jede Aktion unterstützt*. Die Aktion `wafv2:PutLoggingConfiguration` wird beispielsweise nur für `wafv2`-Protokollkonfigurationsressourcen unterstützt. 

Standardmäßig sind Amazon-S3-Buckets und die darin enthaltenen Objekte privat. Nur der Bucket-Besitzer kann auf den Bucket und die darin gespeicherten Objekte zugreifen. Der Bucket-Besitzer kann jedoch anderen Ressourcen und Benutzern Zugriffsberechtigungen gewähren, indem er eine Zugriffsrichtlinie schreibt.

Wenn der Benutzer, der das Protokoll erstellt, den Bucket besitzt, fügt der Service automatisch die folgende Richtlinie an den Bucket an, um dem Protokoll die Berechtigung zum Veröffentlichen von Protokollen darin zu erteilen. 

------
#### [ JSON ]

****  

```
{
  "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-destination-bucket-suffix/AWSLogs/123456789012/*",
      "Condition": {
        "StringEquals": {
          "s3:x-amz-acl": "bucket-owner-full-control",
          "aws:SourceAccount": ["123456789012"]
        },
        "ArnLike": {
        "aws:SourceArn": ["arn:aws:logs:us-east-2:123456789012:*"]
        }
      }
    },
    {
      "Sid": "AWSLogDeliveryAclCheck",
      "Effect": "Allow",
      "Principal": {
        "Service": "delivery.logs.amazonaws.com"
      },
      "Action": "s3:GetBucketAcl",
      "Resource": "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-destination-bucket-suffix",
      "Condition": {
        "StringEquals": {
        "aws:SourceAccount": ["123456789012"]
        },
        "ArnLike": {
        "aws:SourceArn": ["arn:aws:logs:us-east-2:123456789012:*"]
        }
      }
    }
  ]
}
```

------

**Anmerkung**  
Ihre Bucket-Namen für die AWS WAF Protokollierung müssen mit einem beliebigen Suffix beginnen `aws-waf-logs-` und können mit einem beliebigen Suffix enden. 

Wenn der Benutzer, der das Protokoll erstellt, nicht Eigentümer des Buckets ist, hat er keine `GetBucketPolicy`- und `PutBucketPolicy`-Berechtigungen für den Bucket und das Protokoll kann nicht erstellt werden. In diesem Fall muss der Bucket-Eigentümer dem Bucket die vorherige Richtlinie manuell hinzufügen und die AWS-Konto -ID des Erstellers des Protokolls angeben. Weitere Informationen erhalten Sie unter [Wie füge ich einen S3 Bucket hinzu?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html) im *Benutzerhandbuch zu Amazon Simple Storage Service*. Wenn der Bucket Protokolle von mehreren Konten erhält, fügen Sie der `AWSLogDeliveryWrite`-Richtlinienanweisung für jedes Konto einen `Resource`-Elementeintrag hinzu. 

Die folgende Bucket-Richtlinie ermöglicht beispielsweise die Veröffentlichung von Logs AWS-Konto `111122223333` in einem Bucket mit dem Namen`aws-waf-logs-LOGGING-BUCKET-SUFFIX`:

------
#### [ JSON ]

****  

```
{
    "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-destination-bucket-suffix/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-destination-bucket-suffix",
            "Condition": {
                "StringEquals": {
                "aws:SourceAccount": ["111122223333"]
                },
                "ArnLike": {
                "aws:SourceArn": ["arn:aws:logs:us-east-1:111122223333:*"]
                }
            }
        }
    ]
}
```

------

**Anmerkung**  
Manchmal werden in AWS CloudTrail unter Umständen Fehler vom Typ `AccessDenied` angezeigt, wenn `delivery.logs.amazonaws.com` nicht die Berechtigung `s3:ListBucket` erteilt wurde. Um diese Fehler in Ihren CloudTrail Protokollen zu vermeiden, müssen Sie die `s3:ListBucket` Erlaubnis erteilen `delivery.logs.amazonaws.com` und die angegebenen `Condition` Parameter mit den in der vorherigen Bucket-Richtlinie festgelegten `s3:GetBucketAcl ` Berechtigungen angeben. Um dies zu vereinfachen, können Sie das Objekt direkt aktualisieren`Statement`, anstatt ein neues `AWSLogDeliveryAclCheck` zu erstellen`“Action”: [“s3:GetBucketAcl”, “s3:ListBucket”]`.

## Berechtigungen für die Verwendung AWS Key Management Service mit einem KMS-Schlüssel
<a name="logging-s3-permissions-encrypt-kms"></a>

Wenn Ihr Protokollierungsziel serverseitige Verschlüsselung mit Schlüsseln verwendet, die in AWS Key Management Service (SSE-KMS) gespeichert sind, und Sie einen vom Kunden verwalteten Schlüssel (KMS-Schlüssel) verwenden, müssen Sie die AWS WAF Erlaubnis zur Verwendung Ihres KMS-Schlüssels erteilen. Dazu fügen Sie dem KMS-Schlüssel für das von Ihnen gewählte Ziel eine Schlüsselrichtlinie hinzu. Auf diese Weise kann die AWS WAF Protokollierung Ihre Protokolldateien an Ihr Ziel schreiben. 

Fügen Sie Ihrem KMS-Schlüssel die folgende Schlüsselrichtlinie hinzu, damit Sie AWS WAF sich bei Ihrem Amazon S3-Bucket anmelden können.

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

## Für den Zugriff auf Amazon S3 S3-Protokolldateien sind Berechtigungen erforderlich
<a name="logging-s3-log-file-access"></a>

Amazon S3 verwendet Zugriffskontrolllisten (ACLs), um den Zugriff auf die von einem Protokoll erstellten AWS WAF Protokolldateien zu verwalten. Standardmäßig hat der Bucket-Eigentümer `FULL_CONTROL`-Berechtigungen für jede Protokolldatei. Der Protokollbereitstellungseigentümer hat keine Berechtigungen, wenn er nicht gleichzeitig der Bucket-Eigentümer ist. Das Konto für die Protokollbereitstellung hat `READ`- und `WRITE`-Berechtigungen. Weitere Informationen finden Sie unter [Zugriffskontrollliste (ACL) – Übersicht](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) im *Benutzerhandbuch zu Amazon Simple Storage Service*.

# Senden von Traffic Logs aus dem Protection Pack (Web ACL) an einen Amazon Data Firehose-Lieferstream
<a name="logging-kinesis"></a>

Dieser Abschnitt enthält Informationen zum Senden der Verkehrsprotokolle Ihres Protection Packs (Web ACL) an einen Amazon Data Firehose-Lieferstream. 

**Anmerkung**  
Die Kosten für die Protokollierung werden zusätzlich zu den Kosten für die Nutzung von AWS WAF berechnet. Weitere Informationen finden Sie unter [Preise für die Protokollierung von Verkehrsinformationen aus dem Protection Pack (Web ACL)](logging-pricing.md).

Um Protokolle an Amazon Data Firehose zu senden, senden Sie Protokolle von Ihrem Protection Pack (Web-ACL) an einen Amazon Data Firehose-Lieferstream, den Sie in Firehose konfigurieren. Nachdem Sie die Protokollierung aktiviert haben AWS WAF , werden Protokolle über den HTTPS-Endpunkt von Firehose an Ihr Speicherziel gesendet. 

Ein AWS WAF Protokoll entspricht einem Firehose-Datensatz. Wenn Sie in der Regel 10.000 Anfragen pro Sekunde erhalten und vollständige Protokolle aktivieren, sollten Sie in Firehose eine Einstellung von 10.000 Datensätzen pro Sekunde haben. Wenn Sie Firehose nicht richtig konfigurieren, AWS WAF werden nicht alle Protokolle aufgezeichnet. Weitere Informationen finden Sie unter [Amazon Kinesis Data Firehose-Kontingente.](https://docs.aws.amazon.com/firehose/latest/dev/limits.html) 

Informationen dazu, wie Sie einen Amazon Data Firehose-Lieferstream erstellen und Ihre gespeicherten Protokolle überprüfen, finden Sie unter [Was ist Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html)? 

Weitere Informationen zum Erstellen eines Bereitstellungsdatenstroms finden Sie unter [Erstellen eines Bereitstellungsdatenstroms für Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html).

## Konfiguration eines Amazon Data Firehose-Lieferdatenstroms für Ihr Schutzpaket (Web-ACL)
<a name="logging-kinesis-configuration"></a>

Konfigurieren Sie wie folgt einen Amazon Firehose Firehose-Lieferstream für Ihr Protection Pack (Web-ACL).
+ Erstellen Sie es mit demselben Konto, das Sie für die Verwaltung des Schutzpakets (Web-ACL) verwenden.
+ Erstellen Sie es in derselben Region wie das Protection Pack (Web-ACL). Wenn Sie Logs für Amazon erfassen CloudFront, erstellen Sie die Firehose in der Region USA Ost (Nord-Virginia),`us-east-1`.
+ Geben Sie dem Data Firehose einen Namen, der mit dem Präfix `aws-waf-logs-` beginnt. Beispiel, `aws-waf-logs-us-east-2-analytics`.
+ Konfigurieren Sie ihn für Direct Put, sodass Anwendungen direkt auf den Bereitstellungsstrom zugreifen können. Wählen Sie in der [Amazon Data Firehose-Konsole](https://console.aws.amazon.com/firehose) für die Einstellung Delivery Stream **Source** die Option **Direct PUT oder andere Quellen aus**. Legen Sie über die API die Eigenschaft `DeliveryStreamType` des Bereitstellungsstroms auf `DirectPut` fest.
**Anmerkung**  
Verwenden Sie keinen `Kinesis stream` als Ihre Quelle.

## Zum Veröffentlichen von Protokollen in einem Amazon Data Firehose-Lieferstream sind Berechtigungen erforderlich
<a name="logging-kinesis-permissions"></a>

Informationen zu den für Ihre Kinesis-Data-Firehose-Konfiguration erforderlichen Berechtigungen finden Sie unter [Controlling Access with Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html) (Zugriff mit Amazon Kinesis Data Firehose steuern).

Sie müssen über die folgenden Berechtigungen verfügen, um die Protokollierung von Protection Pack (Web ACL) mit einem Amazon Data Firehose-Lieferstream erfolgreich zu aktivieren.
+ `iam:CreateServiceLinkedRole`
+ `firehose:ListDeliveryStreams`
+ `wafv2:PutLoggingConfiguration`

Weitere Informationen zu serviceverknüpften Rollen und zur `iam:CreateServiceLinkedRole`-Berechtigung finden Sie unter [Verwenden von serviceverknüpften Rollen für AWS WAF](using-service-linked-roles.md).

# Konfiguration der Protokollierung für ein Protection Pack (Web-ACL)
<a name="logging-management-configure"></a>

Dieser Abschnitt enthält Anweisungen zur Konfiguration des Datenschutzes für ein Protection Pack (Web-ACL).

**Anmerkung**  
Die Kosten für die Protokollierung werden zusätzlich zu den Kosten für die Nutzung von AWS WAF berechnet. Weitere Informationen finden Sie unter [Preise für die Protokollierung von Verkehrsinformationen aus dem Protection Pack (Web ACL)](logging-pricing.md).

Um die Protokollierung für ein Protection Pack (Web-ACL) zu aktivieren, müssen Sie das zu verwendende Protokollierungsziel bereits konfiguriert haben. Informationen über Ihre Zielauswahl und die jeweiligen Anforderungen finden Sie unter [AWS WAF Ziele protokollieren](logging-destinations.md).

**So konfigurieren Sie die Protokollierung für ein Protection Pack (Web-ACL)**

1. Melden Sie sich bei [https://console.aws.amazon.com/wafv2/homev2](https://console.aws.amazon.com/wafv2/homev2) an AWS-Managementkonsole und öffnen Sie die AWS WAF Konsole. 

1. Wählen Sie im Navigationsbereich die Option **Protection Packs (Web ACLs)** aus.

1. Wählen Sie den Namen des Schutzpakets (Web-ACL), für das Sie die Protokollierung aktivieren möchten. Über die Konsole gelangen Sie zur Beschreibung des Schutzpakets (Web-ACL), wo Sie es bearbeiten können.

1. Wählen Sie auf der Registerkarte **Protokollierung und Metriken** die Option **Protokollierung aktivieren** aus.

1. Wählen Sie den Protokollierzieltyp und dann das konfigurierte Protokollierungsziel aus. Sie müssen ein Protokollierungsziel auswählen, dessen Name mit `aws-waf-logs-` beginnt.

1. (Optional) Wenn Sie nicht möchten, dass einige Felder in den Protokollen enthalten sind, redigieren Sie sie. Wählen Sie das Feld aus, das unkenntlich gemacht werden soll, und klicken Sie dann auf **Add (Hinzufügen)**. Wiederholen Sie diesen Vorgang nach Bedarf, um zusätzliche Felder unkenntlich zu machen. Geschwärzte Felder werden in den Protokollen als angezeigt. `xxx`
**Anmerkung**  
Diese Einstellung hat keine Auswirkungen auf das Sampling von Anfragen. Sie können Felder vom Anforderungssampling ausschließen, indem Sie den Datenschutz des Protection Packs (Web ACL) konfigurieren oder das Sampling für das Protection Pack (Web ACL) deaktivieren. 

1. (Optional) Wenn Sie nicht alle Anforderungen an die Protokolle senden möchten, fügen Sie Filterkriterien und -verhalten hinzu. Wählen Sie unter **Filter logs** (Protokolle filtern) für jeden Filter, den Sie anwenden möchten, **Add filter** (Filter hinzufügen) aus. Wählen Sie dann Ihre Filterkriterien und geben Sie an, ob Sie Anforderungen, die den Kriterien entsprechen, beibehalten oder löschen möchten. Wenn Sie mit dem Hinzufügen von Filtern fertig sind, ändern Sie bei Bedarf das **Standardprotokollierungsverhalten**. 
**Anmerkung**  
Wenn Sie mehrere Filter hinzufügen, werden diese von oben beginnend AWS WAF ausgewertet.

1. Wählen Sie **Enable logging (Protokollierung aktivieren)** aus.
**Anmerkung**  
Wenn Sie die Protokollierung erfolgreich aktivieren, AWS WAF wird eine dienstbezogene Rolle mit den erforderlichen Berechtigungen zum Schreiben von Protokollen an das Protokollierungsziel erstellt. Weitere Informationen finden Sie unter [Verwenden von serviceverknüpften Rollen für AWS WAF](using-service-linked-roles.md).

# Suchen nach Ihren Protection Pack-Einträgen (Web-ACL)
<a name="logging-management"></a>

In diesem Abschnitt wird erklärt, wie Sie die Einträge Ihres Protection Packs (Web-ACL) finden.

**Anmerkung**  
Die Kosten für die Protokollierung werden zusätzlich zu den Kosten für die Nutzung von AWS WAF berechnet. Weitere Informationen finden Sie unter [Preise für die Protokollierung von Verkehrsinformationen aus dem Protection Pack (Web ACL)](logging-pricing.md).

**Wenn Sie in Ihren Protokollen keinen Protokolleintrag finden können**  
In seltenen Fällen ist es möglich, dass die AWS WAF Protokollzustellung unter 100% fällt, wobei die Protokolle nach bestem Wissen und Gewissen geliefert werden. Die AWS WAF Architektur räumt der Sicherheit Ihrer Anwendungen Vorrang vor allen anderen Überlegungen ein. In einigen Situationen, z. B. wenn bei Protokollierungsabläufen der Datenverkehr eingeschränkt wird, kann dies dazu führen, dass Datensätze gelöscht werden. Dies sollte sich nicht auf mehr als ein paar Datensätze auswirken. Wenn Sie feststellen, dass mehrere Protokolleinträge fehlen, wenden Sie sich an das [AWS Support Center](https://console.aws.amazon.com/support/home#/).

In der Protokollierungskonfiguration für Ihr Protection Pack (Web-ACL) können Sie anpassen, was AWS WAF an die Protokolle gesendet wird.
+ **Schwärzung von** Feldern — Sie können die folgenden Felder aus den Protokolldatensätzen für die Regeln, die die entsprechenden Übereinstimmungseinstellungen verwenden, unkenntlich machen: **URI-Pfad**, **Abfragezeichenfolge**, **Einzelner Header** und **HTTP-Methode**. Die unkenntlich gemachten Felder werden in den Protokollen als `REDACTED` angezeigt. Wenn Sie beispielsweise das Feld **Abfragezeichenfolge** schwärzen, wird es in den Protokollen wie `REDACTED` bei allen Regeln aufgeführt, die die Komponenteneinstellung **Abfragezeichenfolge abgleichen** verwenden. **Schwärzen bezieht sich nur auf die Anforderungskomponente, die Sie in der Regel für den Abgleich angeben. Daher gilt die Schwärzung der Komponente **Einzelner Header** nicht für Regeln, die auf Kopfzeilen übereinstimmen.** Eine Liste der Protokollfelder finden Sie unter [Protokollfelder für den Traffic des Protection Packs (Web-ACL)](logging-fields.md).
**Anmerkung**  
Diese Einstellung hat keine Auswirkungen auf das Sampling von Anfragen. Sie können Felder vom Anforderungssampling ausschließen, indem Sie den Datenschutz des Protection Packs (Web ACL) konfigurieren oder das Sampling für das Protection Pack (Web ACL) deaktivieren. 
+ **Filtern von Protokollen**: Sie können Filter hinzufügen, um anzugeben, welche Webanforderungen in den Protokollen gespeichert und welche gelöscht werden. Sie filtern nach den Einstellungen, die bei der Auswertung der Webanfrage AWS WAF gelten. Sie können nach den folgenden Einstellungen filtern: 
  + **Vollqualifiziertes Label** — Vollqualifizierte Labels haben ein Präfix, optionale Namespaces und einen Labelnamen. Das Präfix identifiziert den Regelgruppen- oder Schutzpaketkontext (Web-ACL) der Regel, die das Label hinzugefügt hat. Weitere Informationen zu Bezeichnungen finden Sie unter [Etikettierung von Webanfragen in AWS WAF](waf-labels.md).
  + **Regelaktion** — Sie können nach jeder normalen Regelaktionseinstellung und auch nach der älteren Option zum `EXCLUDED_AS_COUNT` Überschreiben von Regelgruppenregeln filtern. Weitere Informationen zu Einstellungen für Regelaktionen finden Sie unter [Verwenden von Regelaktionen in AWS WAF](waf-rule-action.md). Informationen zu aktuellen und älteren Regelaktionsüberschreibungen für Regelgruppenregeln finden Sie unter[Regelgruppenaktionen überschreiben in AWS WAF](web-acl-rule-group-override-options.md). 
    + Die normalen Regelaktionsfilter gelten für Aktionen, die in Regeln konfiguriert sind, sowie für Aktionen, die mithilfe der aktuellen Option zum Überschreiben einer Regelgruppenregelaktion konfiguriert wurden. 
    + Der `EXCLUDED_AS_COUNT` Protokollfilter überschneidet sich mit dem `Count` Aktionsprotokollfilter. `EXCLUDED_AS_COUNT`filtert sowohl die aktuellen als auch die älteren Optionen zum Überschreiben einer Regelgruppenregelaktion auf. Count 

# Protokollfelder für den Traffic des Protection Packs (Web-ACL)
<a name="logging-fields"></a>

In der folgenden Liste werden die wichtigsten Protokollfelder beschrieben. 

**action**  
Die abschließende Aktion, die für die Anfrage AWS WAF galt. Dies bedeutet entweder „Zulassen“, „Blockieren“, „CAPTCHA“ oder „Herausforderung“. Die Challenge Aktionen CAPTCHA und werden beendet, wenn die Webanforderung kein gültiges Token enthält.

**args**  
Die Abfragezeichenfolge.

**captchaResponse**  
Der CAPTCHA-Aktionsstatus für die Anfrage, der ausgefüllt wird, wenn eine CAPTCHA Aktion auf die Anfrage angewendet wird. Dieses Feld wird für jede CAPTCHA Aktion aufgefüllt, unabhängig davon, ob sie beendet oder nicht beendet wird. Wenn die CAPTCHA Aktion auf eine Anfrage mehrfach angewendet wurde, wird dieses Feld ab dem Zeitpunkt gefüllt, zu dem die Aktion das letzte Mal angewendet wurde.   
Die CAPTCHA Aktion beendet die Überprüfung von Webanfragen, wenn die Anfrage entweder kein Token enthält oder das Token ungültig oder abgelaufen ist. Wenn die CAPTCHA Aktion beendet wird, enthält dieses Feld einen Antwortcode und einen Grund für den Fehler. Wenn die Aktion nicht beendet wird, enthält dieses Feld einen Lösungszeitstempel. Um zwischen einer abschließenden und einer nicht beendenden Aktion zu unterscheiden, können Sie in diesem Feld nach einem nicht leeren Attribut filtern. `failureReason`

**cfDistributionTenantID**  
Der Bezeichner für den CloudFront Distributionsmandanten, der der Webanforderung zugeordnet ist. Dieses Feld ist optional und gilt nur für Schutzpakete (Web ACLs), die CloudFront Distributionsmandanten zugeordnet sind.

**ChallengeResponse**  
Der Status der Challenge-Aktion für die Anfrage, der aufgefüllt wird, wenn eine Challenge Aktion auf die Anfrage angewendet wird. Dieses Feld wird für jede Challenge Aktion aufgefüllt, unabhängig davon, ob sie beendet oder nicht beendet wird. Wenn die Challenge Aktion auf eine Anfrage mehrfach angewendet wurde, wird dieses Feld ab dem Zeitpunkt gefüllt, zu dem die Aktion das letzte Mal angewendet wurde.   
Die Challenge Aktion beendet die Überprüfung von Webanfragen, wenn die Anfrage entweder kein Token enthält oder das Token ungültig oder abgelaufen ist. Wenn die Challenge Aktion beendet wird, enthält dieses Feld einen Antwortcode und einen Grund für den Fehler. Wenn die Aktion nicht beendet wird, enthält dieses Feld einen Lösungszeitstempel. Um zwischen einer abschließenden und einer nicht beendenden Aktion zu unterscheiden, können Sie in diesem Feld nach einem nicht leeren Attribut filtern. `failureReason`

**Client-ASN**  
Die autonome Systemnummer (ASN), die der IP-Adresse zugeordnet ist, aus der die Webanfrage stammt.  
**ClientASN** wird nur dann in den AWS WAF Protokollen protokolliert, wenn eine ASN-Match-Anweisung verwendet wird. Andernfalls wird dieses Feld nicht protokolliert.

**clientIp**  
Die IP-Adresse des Clients, der die Anforderung sendet.

**country**  
Das Quellland der Anforderung. Wenn AWS WAF das Herkunftsland nicht bestimmt werden kann, wird dieses Feld auf gesetzt`-`. 

**country**  
Das Quellland der Anforderung. Wenn AWS WAF das Herkunftsland nicht bestimmt werden kann, wird dieses Feld auf gesetzt`-`. 

**excludedRules**  
Wird nur für Regelgruppenregeln verwendet. Die Liste der Regeln in der Regelgruppe, die von Ihnen ausgeschlossen wurden. Die Aktion für diese Regeln ist auf eingestelltCount.   
Wenn Sie mit der Aktionsoption „Regel überschreiben“ eine Regel so überschreiben, dass sie zählt, werden Treffer hier nicht aufgeführt. Sie werden als Aktionspaare `action` und aufgeführt`overriddenAction`.    
exclusionType  
Ein Typ, der angibt, dass die ausgeschlossene Regel die Aktion hatCount.  
ruleId  
Die ID der Regel innerhalb der Regelgruppe, die ausgeschlossen ist.

**formatVersion**  
Die Formatversion für das Protokoll.

**ASN weitergeleitet**  
Die autonome Systemnummer (ASN), die der IP-Adresse der Entität zugeordnet ist, die die Webanforderung weitergeleitet hat.

**Header**  
Die Liste der Header.

**httpMethod**  
Die HTTP-Methode in der Anforderung.

**httpRequest**  
Die Metadaten zu der Anforderung.

**httpSourceId**  
Die ID der zugehörigen Ressource:   
+ Für eine CloudFront Amazon-Distribution ist die ID `distribution-id` in der ARN-Syntax wie folgt: 

  `arn:partitioncloudfront::account-id:distribution/distribution-id` 
+ Für einen Application Load Balancer entspricht die ID `load-balancer-id` in der ARN-Syntax: 

  `arn:partition:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id`
+ Für eine Amazon API Gateway Gateway-REST-API entspricht die ID `api-id` in der ARN-Syntax: 

  `arn:partition:apigateway:region::/restapis/api-id/stages/stage-name`
+ Für eine AWS AppSync GraphQL-API ist die ID `GraphQLApiId` in der ARN-Syntax: 

  `arn:partition:appsync:region:account-id:apis/GraphQLApiId`
+ Für einen Amazon Cognito Cognito-Benutzerpool ist die ID `user-pool-id` in der ARN-Syntax: 

  `arn:partition:cognito-idp:region:account-id:userpool/user-pool-id`
+ Für einen AWS App Runner Dienst ist die ID `apprunner-service-id` in der ARN-Syntax: 

  `arn:partition:apprunner:region:account-id:service/apprunner-service-name/apprunner-service-id`

**httpSourceName**  
Die Quelle der Anforderung. Mögliche Werte: `CF` für Amazon CloudFront, `APIGW` für Amazon API Gateway, `ALB` für Application Load Balancer, `APPSYNC` für AWS AppSync, `COGNITOIDP` für Amazon Cognito, `APPRUNNER` für App Runner und `VERIFIED_ACCESS` für Verified Access.

**httpVersion**  
Die HTTP-Version.

**JA3-Fingerabdruck**  
Der JA3 Fingerabdruck der Anfrage.  
JA3 Die Überprüfung von Fingerabdrücken ist nur für CloudFront Amazon-Distributionen und Application Load Balancers verfügbar.
Der JA3 Fingerabdruck ist ein 32-stelliger Hash, der aus dem TLS-Client-Hello einer eingehenden Anfrage abgeleitet wird. Dieser Fingerabdruck dient als eindeutige Kennung für die TLS-Konfiguration des Clients. AWS WAF berechnet und protokolliert diesen Fingerabdruck für jede Anfrage, die genügend TLS-Client-Hello-Informationen für die Berechnung enthält.   
Sie geben diesen Wert an, wenn Sie in Ihren Protection Pack-Regeln (Web-ACL) einen JA3 Fingerabdruckabgleich konfigurieren. Informationen zum Erstellen eines Abgleichs mit dem JA3 Fingerabdruck finden Sie [JA3 Fingerabdruck](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-ja3-fingerprint) in der Anweisung [Komponenten anfordern in AWS WAF](waf-rule-statement-fields-list.md) Für eine Regel.

**JA4-Fingerabdruck**  
Der JA4 Fingerabdruck der Anfrage.  
JA4 Die Überprüfung von Fingerabdrücken ist nur für CloudFront Amazon-Distributionen und Application Load Balancers verfügbar.
Der JA4 Fingerabdruck ist ein 36-stelliger Hash, der aus dem TLS-Client-Hello einer eingehenden Anfrage abgeleitet wird. Dieser Fingerabdruck dient als eindeutige Kennung für die TLS-Konfiguration des Clients. AWS WAF berechnet und protokolliert diesen Fingerabdruck für jede Anfrage, die genügend TLS-Client-Hello-Informationen für die Berechnung enthält.   
Sie geben diesen Wert an, wenn Sie in Ihren Protection Pack-Regeln (Web-ACL) einen JA4 Fingerabdruckabgleich konfigurieren. Informationen zum Erstellen eines Abgleichs mit dem JA4 Fingerabdruck finden Sie [JA4 Fingerabdruck](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-ja4-fingerprint) in der Anweisung [Komponenten anfordern in AWS WAF](waf-rule-statement-fields-list.md) Für eine Regel.

**labels**  
Die Bezeichnungen in der Webanforderung. Diese Bezeichnungen wurden durch Regeln zugewiesen, die zur Auswertung der Anfrage verwendet wurden. AWS WAF protokolliert die ersten 100 Labels. 

**nonTerminatingMatchingRegeln**  
Die Liste der nicht abschließenden Regeln, die der Anfrage entsprachen. Jeder Eintrag in der Liste enthält die folgenden Informationen.     
action  
Die Aktion, die AWS WAF auf die Anfrage angewendet wurde. Dies gibt entweder Anzahl, CAPTCHA oder Herausforderung an. Die CAPTCHA und Challenge enden nicht, wenn die Webanforderung ein gültiges Token enthält.  
ruleId  
Die ID der Regel, die mit der Anforderung übereinstimmt und nicht beendend war.   
ruleMatchDetails  
Detaillierte Informationen zur Regel, die mit der Anforderung übereingestimmt hat. Dieses Feld wird nur für SQL-Injection und Cross-Site Scripting (XSS)-Übereinstimmungsregelanweisungen ausgefüllt. Eine Vergleichsregel erfordert möglicherweise eine Übereinstimmung mit mehr als einem Prüfkriterium. Daher werden diese Übereinstimmungsdetails als eine Reihe von Übereinstimmungskriterien bereitgestellt. 
Alle zusätzlichen Informationen, die für jede Regel bereitgestellt werden, hängen von Faktoren wie der Regelkonfiguration, der Art der Regelübereinstimmung und den Details der Übereinstimmung ab. Bei Regeln mit der Challenge Aktion „CAPTCHAOder“ `challengeResponse` wird beispielsweise das „`captchaResponse`Oder“ aufgeführt. Wenn sich die entsprechende Regel in einer Regelgruppe befindet und Sie die zugehörige konfigurierte Regelaktion außer Kraft gesetzt haben, wird die konfigurierte Aktion in bereitgestellt. `overriddenAction` 

**oversizeFields**  
Die Liste der Felder in der Webanforderung, die vom Protection Pack (Web-ACL) geprüft wurden und deren AWS WAF Inspektionslimit überschritten wurde. Wenn ein Feld zu groß ist, es aber vom Schutzpaket (Web-ACL) nicht überprüft wird, wird es hier nicht aufgeführt.   
Diese Liste kann null oder mehr der folgenden Werte enthalten: `REQUEST_BODY`, `REQUEST_JSON_BODY`, `REQUEST_HEADERS` und `REQUEST_COOKIES`. Weitere Informationen zu übergroßen Feldern finden Sie unter [Übergroße Webanforderungskomponenten in AWS WAF](waf-oversize-request-components.md).

**rateBasedRuleListe**  
Die Liste der ratenbasierten Regeln, die auf die Anforderung reagiert haben. Weitere Informationen über ratenbasierte Regeln finden Sie unter [Verwendung ratenbasierter Regelanweisungen in AWS WAF](waf-rule-statement-type-rate-based.md).    
rateBasedRuleID  
Die ID der ratenbasierten Regel, die auf die Anforderung reagiert hat. Wenn die Anforderung hierdurch beendet wurde, ist die ID für `rateBasedRuleId` mit der ID für `terminatingRuleId` identisch.  
rateBasedRuleName  
Der Name der ratenbasierten Regel, die auf die Anforderung reagiert hat.   
limitKey  
Die Art der Aggregation, die die Regel verwendet. Mögliche Werte sind `IP` für den Ursprung der Webanfrage, `FORWARDED_IP` für eine IP, die in einem Header der Anfrage weitergeleitet wird, `CUSTOMKEYS` für benutzerdefinierte Aggregatschlüsseleinstellungen und `CONSTANT` für das Zusammenzählen aller Anfragen ohne Aggregation.   
limitValue  
Wird nur bei der Ratenbegrenzung durch einen einzigen IP-Adresstyp verwendet. Wenn eine Anforderung eine ungültige IP-Adresse enthält, ist der `limitvalue` `INVALID`.  
maxRateAllowed  
Die maximale Anzahl von Anfragen, die im angegebenen Zeitfenster für eine bestimmte Aggregationsinstanz zulässig sind. Die Aggregationsinstanz wird durch die `limitKey` und alle zusätzlichen Schlüsselspezifikationen definiert, die Sie in der ratenbasierten Regelkonfiguration angegeben haben.   
evaluationWindowSec  
Die Zeit, die in der Anfrage AWS WAF enthalten ist, wird in Sekunden gezählt.   
Benutzerdefinierte Werte  
Eindeutige Werte, die durch die ratenbasierte Regel in der Anfrage identifiziert werden. Bei Zeichenkettenwerten geben die Protokolle die ersten 32 Zeichen des Zeichenfolgenwerts aus. Je nach Schlüsseltyp können diese Werte nur für einen Schlüssel gelten, z. B. für eine HTTP-Methode oder eine Abfragezeichenfolge, oder sie können für einen Schlüssel und einen Namen gelten, z. B. für den Header und den Headernamen. 

**requestHeadersInserted**  
Die Liste der Kopfzeilen, die für die benutzerdefinierte Bearbeitung von Anforderungen eingefügt werden.

**requestId**  
Die ID der Anforderung, die vom zugrunde liegenden Host-Service generiert wird. Bei Application Load Balancer ist dies die Ablaufverfolgungs-ID. Bei allen anderen ist dies die Anforderungs-ID. 

**responseCodeSent**  
Der Antwortcode, der mit einer benutzerdefinierten Antwort gesendet wird.

**ruleGroupId**  
Die ID der Regelgruppe. Wenn die Regel die Anforderung blockiert hat, ist die ID für `ruleGroupID` mit der ID für `terminatingRuleId` identisch. 

**ruleGroupList**  
Die Liste der Regelgruppen, die auf diese Anfrage reagiert haben, mit Übereinstimmungsinformationen.

**terminatingRule**  
Die Regel, die die Anforderung beendet. Falls diese vorhanden ist, enthält sie die folgenden Informationen.     
action  
Die abschließende Aktion, die AWS WAF auf die Anfrage angewendet wurde. Dies bedeutet entweder „Zulassen“, „Blockieren“, „CAPTCHA“ oder „Herausforderung“. Die Challenge Aktionen CAPTCHA und werden beendet, wenn die Webanforderung kein gültiges Token enthält.  
ruleId  
Die ID der Regel, die der Anfrage entsprach.   
ruleMatchDetails  
Detaillierte Informationen zur Regel, die mit der Anforderung übereingestimmt hat. Dieses Feld wird nur für SQL-Injection und Cross-Site Scripting (XSS)-Übereinstimmungsregelanweisungen ausgefüllt. Eine Abgleichsregel erfordert möglicherweise eine Übereinstimmung mit mehr als einem Prüfkriterium. Daher werden diese Übereinstimmungsdetails als eine Reihe von Übereinstimmungskriterien bereitgestellt. 
Alle zusätzlichen Informationen, die für jede Regel bereitgestellt werden, hängen von Faktoren wie der Regelkonfiguration, der Art der Regelübereinstimmung und den Details der Übereinstimmung ab. Bei Regeln mit der Challenge Aktion „CAPTCHAOder“ `challengeResponse` wird beispielsweise das „`captchaResponse`Oder“ aufgeführt. Wenn sich die entsprechende Regel in einer Regelgruppe befindet und Sie die zugehörige konfigurierte Regelaktion außer Kraft gesetzt haben, wird die konfigurierte Aktion in bereitgestellt. `overriddenAction` 

**terminatingRuleId**  
Die ID der Regel, die die Anforderung beendet. Wenn nichts zur Beendigung der Anforderung führt, ist der Wert `Default_Action`.

**terminatingRuleMatchEinzelheiten**  
Detaillierte Informationen zur Beendigungsregel, die mit der Anforderung übereingestimmt hat. Eine Beendigungsregel verfügt über eine Aktion, die den Inspektionsprozess für eine Webanforderung beendet. Zu den möglichen Aktionen für eine abschließende Regel gehörenAllow, BlockCAPTCHA, undChallenge. Bei der Überprüfung einer Webanforderung wird die Prüfung bei der ersten Regel, die der Anforderung entspricht und die eine abschließende Aktion enthält, AWS WAF beendet und die Aktion angewendet. Die Webanfrage kann zusätzlich zu der Bedrohung, die im Protokoll für die entsprechende Beendungsregel aufgeführt ist, weitere Bedrohungen enthalten.  
Dies wird nur für SQL-Injection und Cross-Site Scripting (XSS) -Übereinstimmungsregelanweisungen aufgefüllt. Die Vergleichsregel erfordert möglicherweise eine Übereinstimmung mit mehr als einem Prüfkriterium. Daher werden diese Übereinstimmungsdetails als eine Reihe von Übereinstimmungskriterien bereitgestellt. 

**terminatingRuleType**  
Der Typ der Regel, die die Anforderung beendet. Mögliche Werte: RATE\$1BASED, REGULAR, GROUP und MANAGED\$1RULE\$1GROUP.

**Zeitstempel**  
Der Zeitstempel in Millisekunden.

**uri**  
Der URI der Anforderung. 

**fragment**  
Der Teil einer URL, der auf das Symbol „\$1“ folgt und zusätzliche Informationen über die Ressource bereitstellt, z. B. \$1section2.

**webaclId**  
Die GUID des Schutzpakets (Web-ACL).

# Protokollbeispiele für Traffic mit Schutzpaketen (Web-ACL)
<a name="logging-examples"></a>

Dieser Abschnitt enthält Beispiele für die Protokollierung des Traffic durch das Protection Pack (Web ACL).

**Example Ratenbasierte Regel 1: Regelkonfiguration mit einem Schlüssel, eingestellt auf `Header:dogname`**  

```
    {
      "Name": "RateBasedRule",
      "Priority": 1,
      "Statement": {
        "RateBasedStatement": {
          "Limit": 100,
          "AggregateKeyType": "CUSTOM_KEYS",
          "CustomKeys": [
            {
              "Header": {
                "Name": "dogname",
                "TextTransformations": [
                  {
                    "Priority": 0,
                    "Type": "NONE"
                  }
                ]
              }
            }
          ]
        }
      },
      "Action": {
        "Block": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "RateBasedRule"
      }
    }
```

**Example Ratenbasierte Regel 1: Protokolleintrag für eine Anfrage, die durch eine ratenbasierte Regel blockiert wurde**  

```
{
   "timestamp":1683355579981,
   "formatVersion":1,
   "webaclId": ...,
   "terminatingRuleId":"RateBasedRule",
   "terminatingRuleType":"RATE_BASED",
   "action":"BLOCK",
   "terminatingRuleMatchDetails":[
      
   ],
   "httpSourceName":"APIGW",
   "httpSourceId":"EXAMPLE11:rjvegx5guh:CanaryTest",
   "ruleGroupList":[
      
   ],
   "rateBasedRuleList":[
      {
         "rateBasedRuleId": ...,
         "rateBasedRuleName":"RateBasedRule",
         "limitKey":"CUSTOMKEYS",
         "maxRateAllowed":100,
         "evaluationWindowSec":"120",
         "customValues":[
            {
               "key":"HEADER",
               "name":"dogname",
               "value":"ella"
            }
         ]
      }
   ],
   "nonTerminatingMatchingRules":[
      
   ],
   "requestHeadersInserted":null,
   "responseCodeSent":null,
   "httpRequest":{
      "clientIp":"52.46.82.45",
      "country":"FR",
      "headers":[
         {
            "name":"X-Forwarded-For",
            "value":"52.46.82.45"
         },
         {
            "name":"X-Forwarded-Proto",
            "value":"https"
         },
         {
            "name":"X-Forwarded-Port",
            "value":"443"
         },
         {
            "name":"Host",
            "value":"rjvegx5guh.execute-api.eu-west-3.amazonaws.com"
         },
         {
            "name":"X-Amzn-Trace-Id",
            "value":"Root=1-645566cf-7cb058b04d9bb3ee01dc4036"
         },
         {
            "name":"dogname",
            "value":"ella"
         },
         {
            "name":"User-Agent",
            "value":"RateBasedRuleTestKoipOneKeyModulePV2"
         },
         {
            "name":"Accept-Encoding",
            "value":"gzip,deflate"
         }
      ],
      "uri":"/CanaryTest",
      "args":"",
      "httpVersion":"HTTP/1.1",
      "httpMethod":"GET",
      "requestId":"Ed0AiHF_CGYF-DA="
   }
}
```

**Example Ratenbasierte Regel 2: Regelkonfiguration mit zwei Schlüsseln, eingestellt auf und `Header:dogname` `Header:catname`**  

```
    {
      "Name": "RateBasedRule",
      "Priority": 1,
      "Statement": {
        "RateBasedStatement": {
          "Limit": 100,
          "AggregateKeyType": "CUSTOM_KEYS",
          "CustomKeys": [
            {
              "Header": {
                "Name": "dogname",
                "TextTransformations": [
                  {
                    "Priority": 0,
                    "Type": "NONE"
                  }
                ]
              }
            },
            {
              "Header": {
                "Name": "catname",
                "TextTransformations": [
                  {
                    "Priority": 0,
                    "Type": "NONE"
                  }
                ]
              }
            }
          ]
        }
      },
      "Action": {
        "Block": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "RateBasedRule"
      }
    }
```

**Example Ratenbasierte Regel 2: Protokolleintrag für eine Anfrage, die durch eine ratenbasierte Regel blockiert wurde**  

```
{
   "timestamp":1633322211194,
   "formatVersion":1,
   "webaclId":...,
   "terminatingRuleId":"RateBasedRule",
   "terminatingRuleType":"RATE_BASED",
   "action":"BLOCK",
   "terminatingRuleMatchDetails":[
      
   ],
   "httpSourceName":"APIGW",
   "httpSourceId":"EXAMPLE11:rjvegx5guh:CanaryTest",
   "ruleGroupList":[
      
   ],
   "rateBasedRuleList":[
      {
         "rateBasedRuleId":...,
         "rateBasedRuleName":"RateBasedRule",
         "limitKey":"CUSTOMKEYS",
         "maxRateAllowed":100,
         "evaluationWindowSec":"120",
         "customValues":[
            {
               "key":"HEADER",
               "name":"dogname",
               "value":"ella"
            },
            {
               "key":"HEADER",
               "name":"catname",
               "value":"goofie"
            }
         ]
      }
   ],
   "nonTerminatingMatchingRules":[
      
   ],
   "requestHeadersInserted":null,
   "responseCodeSent":null,
   "httpRequest":{
      "clientIp":"52.46.82.35",
      "country":"FR",
      "headers":[
         {
            "name":"X-Forwarded-For",
            "value":"52.46.82.35"
         },
         {
            "name":"X-Forwarded-Proto",
            "value":"https"
         },
         {
            "name":"X-Forwarded-Port",
            "value":"443"
         },
         {
            "name":"Host",
            "value":"23llbyn8v3.execute-api.eu-west-3.amazonaws.com"
         },
         {
            "name":"X-Amzn-Trace-Id",
            "value":"Root=1-64556629-17ac754c2ed9f0620e0f2a0c"
         },
         {
            "name":"catname",
            "value":"goofie"
         },
         {
            "name":"dogname",
            "value":"ella"
         },
         {
            "name":"User-Agent",
            "value":"Apache-HttpClient/UNAVAILABLE (Java/11.0.19)"
         },
         {
            "name":"Accept-Encoding",
            "value":"gzip,deflate"
         }
      ],
      "uri":"/CanaryTest",
      "args":"",
      "httpVersion":"HTTP/1.1",
      "httpMethod":"GET",
      "requestId":"EdzmlH5OCGYF1vQ="
   }
}
```

**Example Protokollausgabe für eine Regel, die bei Entdeckung ausgelöst wurde (beendet) SQLi**  

```
{
    "timestamp": 1576280412771,
    "formatVersion": 1,
    "webaclId": "arn:aws:wafv2:ap-southeast-2:111122223333:regional/webacl/STMTest/1EXAMPLE-2ARN-3ARN-4ARN-123456EXAMPLE",
    "terminatingRuleId": "STMTest_SQLi_XSS",
    "terminatingRuleType": "REGULAR",
    "action": "BLOCK",
    "terminatingRuleMatchDetails": [
        {
            "conditionType": "SQL_INJECTION",
            "sensitivityLevel": "HIGH",
            "location": "HEADER",
            "matchedData": [
                "10",
                "AND",
                "1"
            ]
        }
    ],
    "httpSourceName": "-",
    "httpSourceId": "-",
    "ruleGroupList": [],
    "rateBasedRuleList": [],
    "nonTerminatingMatchingRules": [],
    "httpRequest": {
        "clientIp": "1.1.1.1",
        "country": "AU",
        "headers": [
            {
                "name": "Host",
                "value": "localhost:1989"
            },
            {
                "name": "User-Agent",
                "value": "curl/7.61.1"
            },
            {
                "name": "Accept",
                "value": "*/*"
            },
            {
                "name": "x-stm-test",
                "value": "10 AND 1=1"
            }
        ],
        "uri": "/myUri",
        "args": "",
        "httpVersion": "HTTP/1.1",
        "httpMethod": "GET",
        "requestId": "rid"
    },
    "labels": [
        {
            "name": "value"
        }
    ]
}
```

**Example Protokollausgabe für eine Regel, die bei SQLi Entdeckung ausgelöst wurde (nicht terminierend)**  

```
{
    "timestamp":1592357192516
    ,"formatVersion":1
    ,"webaclId":"arn:aws:wafv2:us-east-1:123456789012:global/webacl/hello-world/5933d6d9-9dde-js82-v8aw-9ck28nv9"
    ,"terminatingRuleId":"Default_Action"
    ,"terminatingRuleType":"REGULAR"
    ,"action":"ALLOW"
    ,"terminatingRuleMatchDetails":[]
    ,"httpSourceName":"-"
    ,"httpSourceId":"-"
    ,"ruleGroupList":[]
    ,"rateBasedRuleList":[]
    ,"nonTerminatingMatchingRules":
    [{
        "ruleId":"TestRule"
        ,"action":"COUNT"
        ,"ruleMatchDetails":
        [{
            "conditionType":"SQL_INJECTION"
            ,"sensitivityLevel": "HIGH"
            ,"location":"HEADER"
            ,"matchedData":[
                "10"
                ,"and"
                ,"1"]
            }]
    }]
    ,"httpRequest":{
        "clientIp":"3.3.3.3"
        ,"country":"US"
        ,"headers":[
            {"name":"Host","value":"localhost:1989"}
            ,{"name":"User-Agent","value":"curl/7.61.1"}
            ,{"name":"Accept","value":"*/*"}
            ,{"name":"myHeader","myValue":"10 AND 1=1"}
            ]
            ,"uri":"/myUri","args":""
            ,"httpVersion":"HTTP/1.1"
            ,"httpMethod":"GET"
            ,"requestId":"rid"
    },
    "labels": [
        {
            "name": "value"
        }
    ]
}
```

**Example Protokollausgabe für mehrere Regeln, die innerhalb einer Regelgruppe ausgelöst wurden (RuleA-XSS ist beendend und Rule-B ist nicht beendend)**  

```
{
    "timestamp":1592361810888,
    "formatVersion":1,
    "webaclId":"arn:aws:wafv2:us-east-1:123456789012:global/webacl/hello-world/5933d6d9-9dde-js82-v8aw-9ck28nv9"
    ,"terminatingRuleId":"RG-Reference"
    ,"terminatingRuleType":"GROUP"
    ,"action":"BLOCK",
    "terminatingRuleMatchDetails":
    [{
        "conditionType":"XSS"
        ,"location":"HEADER"
        ,"matchedData":["<","frameset"]
    }]
    ,"httpSourceName":"-"
    ,"httpSourceId":"-"
    ,"ruleGroupList":
    [{
        "ruleGroupId":"arn:aws:wafv2:us-east-1:123456789012:global/rulegroup/hello-world/c05lb698-1f11-4m41-aef4-99a506d53f4b"
        ,"terminatingRule":{
            "ruleId":"RuleA-XSS"
            ,"action":"BLOCK"
            ,"ruleMatchDetails":null
            }
        ,"nonTerminatingMatchingRules":
        [{
            "ruleId":"RuleB-SQLi"
            ,"action":"COUNT"
            ,"ruleMatchDetails":
            [{
                "conditionType":"SQL_INJECTION"
                ,"sensitivityLevel": "LOW"
                ,"location":"HEADER"
                ,"matchedData":[
                    "10"
                    ,"and"
                    ,"1"]
            }]
        }]
        ,"excludedRules":null
    }]
    ,"rateBasedRuleList":[]
    ,"nonTerminatingMatchingRules":[]
    ,"httpRequest":{
        "clientIp":"3.3.3.3"
        ,"country":"US"
        ,"headers":
        [
            {"name":"Host","value":"localhost:1989"}
            ,{"name":"User-Agent","value":"curl/7.61.1"}
            ,{"name":"Accept","value":"*/*"}
            ,{"name":"myHeader1","value":"<frameset onload=alert(1)>"}
            ,{"name":"myHeader2","value":"10 AND 1=1"}
            ]
        ,"uri":"/myUri"
        ,"args":""
        ,"httpVersion":"HTTP/1.1"
        ,"httpMethod":"GET"
        ,"requestId":"rid"
    },
    "labels": [
        {
            "name": "value"
        }
    ]
}
```

**Example Protokollausgabe für eine Regel, die die Prüfung des Anforderungstextes mit Inhaltstyp JSON ausgelöst hat**  
AWS WAF meldet derzeit den Standort für die JSON-Bodyinspektion als. `UNKNOWN`  

```
{
    "timestamp": 1576280412771,
    "formatVersion": 1,
    "webaclId": "arn:aws:wafv2:ap-southeast-2:123456789012:regional/webacl/test/111",
    "terminatingRuleId": "STMTest_SQLi_XSS",
    "terminatingRuleType": "REGULAR",
    "action": "BLOCK",
    "terminatingRuleMatchDetails": [
        {
            "conditionType": "SQL_INJECTION",
            "sensitivityLevel": "LOW",
            "location": "UNKNOWN",
            "matchedData": [
                "10",
                "AND",
                "1"
            ]
        }
    ],
    "httpSourceName": "ALB",
    "httpSourceId": "alb",
    "ruleGroupList": [],
    "rateBasedRuleList": [],
    "nonTerminatingMatchingRules": [],
    "requestHeadersInserted":null,
    "responseCodeSent":null,
    "httpRequest": {
        "clientIp": "1.1.1.1",
        "country": "AU",
        "headers": [],
        "uri": "",
        "args": "",
        "httpVersion": "HTTP/1.1",
        "httpMethod": "POST",
        "requestId": "null"
    },
    "labels": [
        {
            "name": "value"
        }
    ]
}
```

**Example Protokollausgabe für eine CAPTCHA-Regel anhand einer Webanforderung mit einem gültigen, noch nicht abgelaufenen CAPTCHA-Token**  
Die folgende Protokollliste bezieht sich auf eine Webanforderung, die mit einer Regel mit CAPTCHA-Aktion übereinstimmt. Die Webanforderung hat ein gültiges und nicht abgelaufenes CAPTCHA-Token und wird nur von als CAPTCHA-Übereinstimmung vermerkt, ähnlich dem Verhalten für die Aktion. AWS WAFCount Dieser CAPTCHA-Abgleich ist unter vermerkt. `nonTerminatingMatchingRules`  

```
{
  "timestamp": 1632420429309,
  "formatVersion": 1,
  "webaclId": "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/captcha-web-acl/585e38b5-afce-4d2a-b417-14fb08b66c67",
  "terminatingRuleId": "Default_Action",
  "terminatingRuleType": "REGULAR",
  "action": "ALLOW",
  "terminatingRuleMatchDetails": [],
  "httpSourceName": "APIGW",
  "httpSourceId": "123456789012:b34myvfw0b:pen-test",
  "ruleGroupList": [],
  "rateBasedRuleList": [],
  "nonTerminatingMatchingRules": [
    {
      "ruleId": "captcha-rule",
      "action": "CAPTCHA",
      "ruleMatchDetails": [],
      "captchaResponse": {
        "responseCode": 0,
        "solveTimestamp": 1632420429
      }
    }
  ],
  "requestHeadersInserted": [
    {
      "name": "x-amzn-waf-test-header-name",
      "value": "test-header-value"
    }
  ],
  "responseCodeSent": null,
  "httpRequest": {
    "clientIp": "72.21.198.65",
    "country": "US",
    "headers": [
      {
        "name": "X-Forwarded-For",
        "value": "72.21.198.65"
      },
      {
        "name": "X-Forwarded-Proto",
        "value": "https"
      },
      {
        "name": "X-Forwarded-Port",
        "value": "443"
      },
      {
        "name": "Host",
        "value": "b34myvfw0b.gamma.execute-api.us-east-1.amazonaws.com"
      },
      {
        "name": "X-Amzn-Trace-Id",
        "value": "Root=1-614cc24d-5ad89a09181910c43917a888"
      },
      {
        "name": "cache-control",
        "value": "max-age=0"
      },
      {
        "name": "sec-ch-ua",
        "value": "\"Chromium\";v=\"94\", \"Google Chrome\";v=\"94\", \";Not A Brand\";v=\"99\""
      },
      {
        "name": "sec-ch-ua-mobile",
        "value": "?0"
      },
      {
        "name": "sec-ch-ua-platform",
        "value": "\"Windows\""
      },
      {
        "name": "upgrade-insecure-requests",
        "value": "1"
      },
      {
        "name": "user-agent",
        "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"
      },
      {
        "name": "accept",
        "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
      },
      {
        "name": "sec-fetch-site",
        "value": "same-origin"
      },
      {
        "name": "sec-fetch-mode",
        "value": "navigate"
      },
      {
        "name": "sec-fetch-user",
        "value": "?1"
      },
      {
        "name": "sec-fetch-dest",
        "value": "document"
      },
      {
        "name": "referer",
        "value": "https://b34myvfw0b.gamma.execute-api.us-east-1.amazonaws.com/pen-test/pets"
      },
      {
        "name": "accept-encoding",
        "value": "gzip, deflate, br"
      },
      {
        "name": "accept-language",
        "value": "en-US,en;q=0.9"
      },
      {
        "name": "cookie",
        "value": "aws-waf-token=51c71352-41f5-4f6d-b676-c24907bdf819:EQoAZ/J+AAQAAAAA:t9wvxbw042wva7E2Y6lgud/bS6YG0CJKVAJqaRqDZ140ythKW0Zj9wKB2O8lSkYDRqf1yONcVBFo5u0eYi0tvT4rtQCXsu+KanAardW8go4QSLw4yoED59lgV7oAhGyCalAzE7ra29j+RvvZPsQyoQuDCrtoY/TvQyMTXIXzGPDC/rKBbg=="
      }
    ],
    "uri": "/pen-test/pets",
    "args": "",
    "httpVersion": "HTTP/1.1",
    "httpMethod": "GET",
    "requestId": "GINMHHUgoAMFxug="
  }
}
```

**Example Protokollausgabe für eine CAPTCHA-Regel für eine Webanfrage, die kein CAPTCHA-Token hat**  
Die folgende Protokollliste bezieht sich auf eine Webanforderung, die mit einer Regel mit CAPTCHA-Aktion übereinstimmt. Die Webanfrage hatte kein CAPTCHA-Token und wurde von blockiert. AWS WAF  

```
{
  "timestamp": 1632420416512,
  "formatVersion": 1,
  "webaclId": "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/captcha-web-acl/585e38b5-afce-4d2a-b417-14fb08b66c67",
  "terminatingRuleId": "captcha-rule",
  "terminatingRuleType": "REGULAR",
  "action": "CAPTCHA",
  "terminatingRuleMatchDetails": [],
  "httpSourceName": "APIGW",
  "httpSourceId": "123456789012:b34myvfw0b:pen-test",
  "ruleGroupList": [],
  "rateBasedRuleList": [],
  "nonTerminatingMatchingRules": [],
  "requestHeadersInserted": null,
  "responseCodeSent": 405,
  "httpRequest": {
    "clientIp": "72.21.198.65",
    "country": "US",
    "headers": [
      {
        "name": "X-Forwarded-For",
        "value": "72.21.198.65"
      },
      {
        "name": "X-Forwarded-Proto",
        "value": "https"
      },
      {
        "name": "X-Forwarded-Port",
        "value": "443"
      },
      {
        "name": "Host",
        "value": "b34myvfw0b.gamma.execute-api.us-east-1.amazonaws.com"
      },
      {
        "name": "X-Amzn-Trace-Id",
        "value": "Root=1-614cc240-18b57ff33c10e5c016b508c5"
      },
      {
        "name": "sec-ch-ua",
        "value": "\"Chromium\";v=\"94\", \"Google Chrome\";v=\"94\", \";Not A Brand\";v=\"99\""
      },
      {
        "name": "sec-ch-ua-mobile",
        "value": "?0"
      },
      {
        "name": "sec-ch-ua-platform",
        "value": "\"Windows\""
      },
      {
        "name": "upgrade-insecure-requests",
        "value": "1"
      },
      {
        "name": "user-agent",
        "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"
      },
      {
        "name": "accept",
        "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
      },
      {
        "name": "sec-fetch-site",
        "value": "cross-site"
      },
      {
        "name": "sec-fetch-mode",
        "value": "navigate"
      },
      {
        "name": "sec-fetch-user",
        "value": "?1"
      },
      {
        "name": "sec-fetch-dest",
        "value": "document"
      },
      {
        "name": "accept-encoding",
        "value": "gzip, deflate, br"
      },
      {
        "name": "accept-language",
        "value": "en-US,en;q=0.9"
      }
    ],
    "uri": "/pen-test/pets",
    "args": "",
    "httpVersion": "HTTP/1.1",
    "httpMethod": "GET",
    "requestId": "GINKHEssoAMFsrg="
  },
  "captchaResponse": {
    "responseCode": 405,
    "solveTimestamp": 0,
    "failureReason": "TOKEN_MISSING"
  }
}
```