

**Ti presentiamo una nuova esperienza di console per AWS WAF**

Ora puoi utilizzare l'esperienza aggiornata per accedere alle AWS WAF funzionalità da qualsiasi punto della console. Per ulteriori dettagli, consulta [Lavorare con la console](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Registrazione del traffico del pacchetto di AWS WAF protezione (Web ACL)
<a name="logging"></a>

Questa sezione spiega le opzioni di registrazione per i tuoi AWS WAF protection pack (web ACLs). 

È possibile attivare la registrazione per ottenere informazioni dettagliate sul traffico analizzato dall'ACL Web. Le informazioni registrate includono l'ora in cui è AWS WAF stata ricevuta una richiesta Web dalla AWS risorsa, informazioni dettagliate sulla richiesta e dettagli sulle regole a cui la richiesta corrisponde. Puoi inviare i log dei Protection Pack (Web ACL) a un gruppo di log Amazon CloudWatch Logs, a un bucket Amazon Simple Storage Service (Amazon S3) o a un flusso di distribuzione Amazon Data Firehose.

Oltre ai log che puoi abilitare per i tuoi pacchetti di protezione (web ACLs), utilizza AWS anche i log di servizio del traffico di siti Web o applicazioni elaborati da per fornire supporto e AWS WAF proteggere la sicurezza di clienti e servizi. AWS 

**Nota**  
La configurazione di registrazione del Protection Pack (Web ACL) influisce solo sui log. AWS WAF In particolare, la configurazione dei campi oscurati per la registrazione non ha alcun impatto sul campionamento delle richieste o sulla raccolta dei dati di Security Lake. È possibile escludere i campi dalla raccolta o dal campionamento configurando la protezione dei dati del Protection Pack (Web ACL). Oltre alla protezione dei dati, la raccolta dei dati di Security Lake è configurata interamente tramite il servizio Security Lake. 

**Topics**
+ [Prezzi per la registrazione delle informazioni sul traffico del pacchetto di protezione (Web ACL)](logging-pricing.md)
+ [AWS WAF destinazioni di registrazione](logging-destinations.md)
+ [Configurazione della registrazione per un pacchetto di protezione (Web ACL)](logging-management-configure.md)
+ [Individuazione dei record del Protection Pack (Web ACL)](logging-management.md)
+ [Campi di registro per il traffico del Protection Pack (Web ACL)](logging-fields.md)
+ [Esempi di log per il traffico del Protection Pack (Web ACL)](logging-examples.md)

**Altre opzioni di raccolta e analisi dei dati**  
Oltre alla registrazione, è possibile abilitare le seguenti opzioni per la raccolta e l'analisi dei dati: 
+ **Amazon Security Lake**: puoi configurare Security Lake per raccogliere i dati del Protection Pack (Web ACL). Security Lake raccoglie dati di log ed eventi da varie fonti per la normalizzazione, l'analisi e la gestione. Per informazioni su questa opzione, consulta [Cos'è Amazon Security Lake?](https://docs.aws.amazon.com/security-lake/latest/userguide/what-is-security-lake.html) e [Raccolta di dati dai AWS servizi](https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html) nella *guida per l'utente di Amazon Security Lake*. 

  AWS WAF non ti addebita alcun costo per l'utilizzo di questa opzione. Per informazioni sui prezzi, consulta [i prezzi di Security Lake](https://aws.amazon.com/security-lake/pricing/) e [Come vengono determinati i prezzi di Security Lake](https://docs.aws.amazon.com/security-lake/latest/userguide/estimating-costs.html) nella *guida per l'utente di Amazon Security Lake*. 
+ **Richiedi un campionamento**: puoi configurare il tuo pacchetto di protezione (ACL Web) per campionare le richieste Web che valuta, per avere un'idea del tipo di traffico ricevuto dall'applicazione. Per ulteriori informazioni su questa opzione, consulta [Visualizzazione di un esempio di richieste Web](web-acl-testing-view-sample.md). 

# Prezzi per la registrazione delle informazioni sul traffico del pacchetto di protezione (Web ACL)
<a name="logging-pricing"></a>

Questa sezione spiega le considerazioni sui prezzi per l'utilizzo dei registri di traffico del Protection Pack (Web ACL).

Il costo della registrazione delle informazioni sul traffico del Protection Pack (Web ACL) viene addebitato in base ai costi associati a ciascun tipo di destinazione del registro. Questi costi si aggiungono ai costi di utilizzo. AWS WAF I costi possono variare in base a fattori quali il tipo di destinazione scelto e la quantità di dati registrati. 

Di seguito sono riportati i collegamenti alle informazioni sui prezzi per ogni tipo di destinazione di registrazione:
+ **CloudWatch Registri: i** costi si riferiscono alla consegna dei registri venduti. Consulta i [prezzi di Amazon CloudWatch Logs.](https://aws.amazon.com/cloudwatch/pricing/) **In **Livello a pagamento**, scegli la scheda **Logs**, quindi in **Vending Logs, consulta le informazioni per Delivery to Logs**. CloudWatch **
+ Bucket **Amazon S3: i costi di Amazon S3 sono i costi combinati per la consegna di CloudWatch log in vendita ai bucket** Amazon S3 e per l'utilizzo di Amazon S3. 
  + Per Amazon S3, consulta i prezzi di [Amazon S3](https://aws.amazon.com/s3/pricing/). 
  + [Per la consegna CloudWatch dei log in vendita ad Amazon S3, consulta i prezzi di Amazon Logs. CloudWatch ](https://aws.amazon.com/cloudwatch/pricing/) **In **Livello a pagamento**, scegli la scheda **Logs**, quindi in **Vending Logs, consulta le informazioni per la consegna a S3****
+ **Firehose: consulta** i prezzi di [Amazon Data Firehose.](https://aws.amazon.com/kinesis/data-firehose/pricing/)

[Per informazioni sui AWS WAF prezzi, consulta AWS WAF la pagina Prezzi.](https://aws.amazon.com/waf/pricing/) 

# AWS WAF destinazioni di registrazione
<a name="logging-destinations"></a>

Questa sezione descrive le opzioni di registrazione tra cui scegliere per i log. AWS WAF Ogni sezione fornisce indicazioni per la configurazione della registrazione, incluse informazioni su qualsiasi comportamento specifico del tipo di destinazione. Dopo aver configurato la destinazione di registrazione, è possibile fornire le relative specifiche alla configurazione di registrazione del Protection Pack (Web ACL) per iniziare la registrazione.

**Topics**
+ [CloudWatch Registri](logging-cw-logs.md)
+ [Simple Storage Service (Amazon S3)](logging-s3.md)
+ [Firehose](logging-kinesis.md)

# Invio dei log di traffico del Protection Pack (Web ACL) a un gruppo di log di Amazon CloudWatch Logs
<a name="logging-cw-logs"></a>

Questo argomento fornisce informazioni per inviare i registri del traffico del Protection Pack (web ACL) a un gruppo di log di Logs. CloudWatch 

**Nota**  
Oltre ai costi di utilizzo, ti verranno addebitati i costi per la registrazione. AWS WAF Per informazioni, consulta [Prezzi per la registrazione delle informazioni sul traffico del pacchetto di protezione (Web ACL)](logging-pricing.md).

Per inviare i log ad Amazon CloudWatch Logs, devi creare un gruppo di CloudWatch log Logs. Quando si abilita l'accesso AWS WAF, si fornisce l'ARN del gruppo di log. Dopo aver abilitato la registrazione per il pacchetto di protezione (Web ACL), AWS WAF invia i log al gruppo Logs log nei flussi di CloudWatch log. 

Quando usi CloudWatch Logs, puoi esplorare i log del tuo protection pack (Web ACL) nella console. AWS WAF **Nella pagina del Protection Pack (Web ACL), seleziona la scheda Logging insights.** Questa opzione si aggiunge alle informazioni sulla registrazione fornite per i CloudWatch registri tramite la console. CloudWatch 

Configura il gruppo di log per i registri del AWS WAF Protection Pack (Web ACL) nella stessa regione del Protection Pack (Web ACL) e utilizza lo stesso account utilizzato per gestire il Protection Pack (Web ACL). Per informazioni sulla configurazione di un gruppo di log CloudWatch Logs, consulta [Working with](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) Log Groups and Log Streams.

## Quote per i gruppi di log Logs CloudWatch
<a name="logging-cw-logs-quotas"></a>

CloudWatch Logs ha una quota massima predefinita per la velocità effettiva, condivisa tra tutti i gruppi di log all'interno di una regione, che è possibile richiedere di aumentare. Se i tuoi requisiti di registrazione sono troppo elevati per l'attuale impostazione del throughput, vedrai le metriche di limitazione relative al tuo account. `PutLogEvents` Per visualizzare il limite nella console Service Quotas e richiedere un aumento, consulta la quota [CloudWatch PutLogEvents Logs](https://console.aws.amazon.com/servicequotas/home/services/logs/quotas/L-7E1FAE88).

## Denominazione dei gruppi di log
<a name="logging-cw-logs-naming"></a>

I nomi dei gruppi di log devono iniziare con `aws-waf-logs-` e possono terminare con qualsiasi suffisso desiderato, ad esempio. `aws-waf-logs-testLogGroup2`

Il formato ARN risultante è il seguente: 

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

I flussi di log hanno il seguente formato di denominazione: 

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

Di seguito viene illustrato un esempio di flusso di log per Protection Pack (Web ACL) `TestWebACL` in Region. `us-east-1` 

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

## Autorizzazioni necessarie per pubblicare i log in Logs CloudWatch
<a name="logging-cw-logs-permissions"></a>

La configurazione della registrazione del traffico con il Protection Pack (Web ACL) per un gruppo di log CloudWatch Logs richiede le impostazioni delle autorizzazioni descritte in questa sezione. Le autorizzazioni vengono impostate automaticamente quando si utilizza una delle politiche di accesso gestito AWS WAF completo, oppure. `AWSWAFConsoleFullAccess` `AWSWAFFullAccess` Se desideri gestire un accesso più dettagliato alla registrazione e alle AWS WAF risorse, puoi impostare tu stesso le autorizzazioni. *Per informazioni sulla gestione delle autorizzazioni, consulta Gestione degli [accessi alle AWS risorse nella Guida per](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) l'utente IAM.* Per informazioni sulle politiche AWS WAF gestite, consulta[AWS politiche gestite per AWS WAF](security-iam-awsmanpol.md). 

Queste autorizzazioni consentono di modificare la configurazione di registrazione del Protection Pack (Web ACL), di configurare la consegna dei log per CloudWatch Logs e di recuperare informazioni sul gruppo di log. Queste autorizzazioni devono essere associate all'utente che utilizzi per la gestione. AWS WAF

------
#### [ 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"
        }
    ]
}
```

------

Quando sono consentite azioni su tutte AWS le risorse, ciò è indicato nella politica con un'`"Resource"`impostazione di`"*"`. Ciò significa che le azioni sono consentite su tutte le AWS risorse *supportate da ciascuna azione*. Ad esempio, l'azione `wafv2:PutLoggingConfiguration` è supportata solo per la `wafv2` registrazione delle risorse di configurazione. 

# Invio dei log di traffico del Protection Pack (Web ACL) a un bucket Amazon Simple Storage Service
<a name="logging-s3"></a>

Questo argomento fornisce informazioni per inviare i log del traffico del Protection Pack (Web ACL) a un bucket Amazon S3. 

**Nota**  
Oltre ai costi di utilizzo, ti verranno addebitati i costi per la registrazione. AWS WAF Per informazioni, consulta [Prezzi per la registrazione delle informazioni sul traffico del pacchetto di protezione (Web ACL)](logging-pricing.md).

Per inviare i log del traffico del pacchetto di protezione (Web ACL) ad Amazon S3, è necessario configurare un bucket Amazon S3 dallo stesso account utilizzato per gestire il pacchetto di protezione (Web ACL) e assegnare un nome al bucket a partire da. `aws-waf-logs-` Quando abiliti l'accesso, fornisci il nome del bucket. AWS WAF Per informazioni sulla creazione di un bucket di registrazione, consulta [Create a Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html) nella *Amazon Simple Storage Service* User Guide.

Puoi accedere e analizzare i log di Amazon S3 utilizzando il servizio di query interattivo Amazon Athena. Athena semplifica l'analisi dei dati direttamente in Amazon S3 utilizzando SQL standard. Con poche azioni Console di gestione AWS, puoi indirizzare Athena ai dati archiviati in Amazon S3 e iniziare rapidamente a utilizzare SQL standard per eseguire query ad hoc e ottenere risultati. Per ulteriori informazioni, consulta la sezione [Interrogazione dei AWS WAF log nella guida](https://docs.aws.amazon.com/athena/latest/ug/waf-logs.html) per l'utente di *Amazon Athena*. Per ulteriori esempi di query Amazon Athena, consulta [waf-log-sample-athenaaws-samples/](https://github.com/aws-samples/waf-log-sample-athena-queries) -queries sul sito Web. GitHub 

**Nota**  
AWS WAF supporta la crittografia con bucket Amazon S3 per il tipo di chiave Amazon S3 key (SSE-S3) e per (SSE-KMS). AWS Key Management Service AWS KMS keys AWS WAF non supporta la crittografia per le chiavi gestite da. AWS Key Management Service AWS

I file di log del pacchetto di protezione (Web ACL) vengono pubblicati nel bucket Amazon S3 a intervalli di 5 minuti. Ogni file di registro contiene i record di registro per il traffico registrato nei 5 minuti precedenti.

Le dimensioni file massime per un file di log sono di 75 MB. Se il file di registro raggiunge il limite di dimensione del file entro un periodo di 5 minuti, interrompe l'aggiunta di record, lo pubblica nel bucket Amazon S3 e quindi crea un nuovo file di registro.

I file di log sono compressi. Se apri i file utilizzando la console Amazon S3, Amazon S3 decomprime i record di log e li visualizza. Se scarichi i file di registro, devi decomprimerli per visualizzare i record.

Un singolo file di registro contiene voci interlacciate con più record. Per visualizzare tutti i file di registro di un pacchetto di protezione (Web ACL), cerca le voci aggregate in base al nome del pacchetto di protezione (Web ACL), alla regione e all'ID dell'account.

## Requisiti di denominazione e sintassi
<a name="logging-s3-naming"></a>

I nomi dei bucket per la AWS WAF registrazione devono iniziare con `aws-waf-logs-` e possono terminare con qualsiasi suffisso desiderato. Ad esempio, `aws-waf-logs-LOGGING-BUCKET-SUFFIX`. 

**Ubicazione del bucket**  
Le posizioni dei bucket utilizzano la seguente sintassi: 

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

**Bucket ARN**  
Il formato del bucket Amazon Resource Name (ARN) è il seguente: 

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

**Posizioni dei bucket con prefissi**  
Se utilizzi prefissi nel nome delle chiavi oggetto per organizzare i dati archiviati nei bucket, puoi fornire i prefissi nei nomi dei bucket di registrazione.

**Nota**  
Questa opzione non è disponibile tramite la console. Usa AWS WAF APIs, CLI o. AWS CloudFormation

Per informazioni sull'uso dei prefissi in Amazon S3, [consulta Organizing objects using](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html) prefixes nella *Amazon Simple Storage Service User Guide*. 

Le posizioni dei bucket con prefissi utilizzano la seguente sintassi: 

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

**Cartelle e nomi di file dei bucket**  
All'interno dei bucket e seguendo i prefissi che fornisci, AWS WAF i log sono scritti in una struttura di cartelle determinata dall'ID dell'account, dalla regione, dal nome del protection pack (Web ACL) e dalla data e dall'ora. 

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

All'interno delle cartelle, i nomi dei file di registro seguono un formato simile: 

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

Le specifiche temporali utilizzate nella struttura delle cartelle e nel nome del file di registro rispettano le specifiche del formato del timestamp. `YYYYMMddTHHmmZ`

Di seguito viene illustrato un esempio di file di log in un bucket Amazon S3 per un bucket denominato. `aws-waf-logs-LOGGING-BUCKET-SUFFIX` Lo è. Account AWS `11111111111` Il pacchetto di protezione (Web ACL) è `TEST-WEBACL` e la regione è`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
```

**Nota**  
I nomi dei bucket per la AWS WAF registrazione devono iniziare con `aws-waf-logs-` e possono terminare con qualsiasi suffisso desiderato. 

## Autorizzazioni necessarie per pubblicare i log su Amazon S3
<a name="logging-s3-permissions"></a>

La configurazione della registrazione del traffico del pacchetto di protezione (Web ACL) per un bucket Amazon S3 richiede le seguenti impostazioni di autorizzazione. Queste autorizzazioni vengono impostate automaticamente quando utilizzi una delle politiche di gestione dell'accesso completo, oppure. AWS WAF `AWSWAFConsoleFullAccess` `AWSWAFFullAccess` Se desideri gestire ulteriormente l'accesso ai tuoi log e alle tue AWS WAF risorse, puoi impostare tu stesso queste autorizzazioni. Per informazioni sulla gestione delle autorizzazioni, consulta [Gestione degli accessi per AWS le risorse nella Guida per](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) l'utente *IAM*. Per informazioni sulle politiche AWS WAF gestite, consulta[AWS politiche gestite per AWS WAF](security-iam-awsmanpol.md). 

Le seguenti autorizzazioni consentono di modificare la configurazione di registrazione del Protection Pack (Web ACL) e di configurare la consegna dei log al bucket Amazon S3. Queste autorizzazioni devono essere associate all'utente che utilizzi per la gestione. AWS WAF

**Nota**  
Quando imposti le autorizzazioni elencate di seguito, potresti visualizzare errori nei AWS CloudTrail registri che indicano un accesso negato, ma le autorizzazioni sono corrette per la registrazione. AWS WAF 

------
#### [ 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"
      }
   ]
}
```

------

Quando sono consentite azioni su tutte le AWS risorse, ciò è indicato nella politica con un'impostazione di. `"Resource"` `"*"` Ciò significa che le azioni sono consentite su tutte le AWS risorse *supportate da ciascuna azione*. Ad esempio, l'azione `wafv2:PutLoggingConfiguration` è supportata solo per la `wafv2` registrazione delle risorse di configurazione. 

Per impostazione predefinita, i bucket Amazon S3 e gli oggetti in essi contenuti sono privati. Solo il proprietario del bucket può accedere al bucket e agli oggetti in esso archiviati. Il proprietario del bucket, tuttavia, può concedere l'accesso ad altre risorse e utenti scrivendo una politica di accesso.

Se l'utente che crea il log è proprietario del bucket, il servizio allega automaticamente la seguente policy al bucket per concedere al log l'autorizzazione a pubblicare i log su di esso: 

------
#### [ 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:*"]
        }
      }
    }
  ]
}
```

------

**Nota**  
I nomi dei bucket per la AWS WAF registrazione devono iniziare con `aws-waf-logs-` e possono terminare con qualsiasi suffisso desiderato. 

Se l'utente che crea il log non è proprietario del bucket o non dispone delle autorizzazioni `GetBucketPolicy` e dei `PutBucketPolicy` permessi per il bucket, la creazione del log ha esito negativo. In questo caso, il proprietario del bucket deve aggiungere manualmente la politica precedente al bucket e specificare l'ID del creatore del log. Account AWS Per ulteriori informazioni, consulta [Come aggiungere una policy per un bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html) nella *Guida per l'utente di Amazon Simple Storage Service*. Se il bucket riceve log da più account, aggiungi un `Resource` elemento all'`AWSLogDeliveryWrite`informativa relativa a ciascun account. 

Ad esempio, la seguente politica sui bucket consente di Account AWS `111122223333` pubblicare i log in un bucket denominato: `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:*"]
                }
            }
        }
    ]
}
```

------

**Nota**  
In alcuni casi, potresti riscontrare errori`AccessDenied` in AWS CloudTrail se l'autorizzazione `s3:ListBucket` non è stata concessa a `delivery.logs.amazonaws.com`. Per evitare questi errori nei CloudTrail log, è necessario concedere l'`s3:ListBucket`autorizzazione `delivery.logs.amazonaws.com` e includere i `Condition` parametri mostrati con l'`s3:GetBucketAcl `autorizzazione impostata nella precedente policy del bucket. Per semplificare questa operazione, invece di crearne uno nuovo`Statement`, puoi aggiornare direttamente il file to be. `AWSLogDeliveryAclCheck` `“Action”: [“s3:GetBucketAcl”, “s3:ListBucket”]`

## Autorizzazioni per l'utilizzo AWS Key Management Service con una chiave KMS
<a name="logging-s3-permissions-encrypt-kms"></a>

Se la destinazione di registrazione utilizza la crittografia lato server con chiavi archiviate in AWS Key Management Service (SSE-KMS) e utilizzi una chiave gestita dal cliente (chiave KMS), devi autorizzare l'uso della tua chiave KMS. AWS WAF A tale scopo, aggiungi una politica chiave alla chiave KMS per la destinazione scelta. Ciò consente la AWS WAF registrazione per scrivere i file di registro nella destinazione. 

Aggiungi la seguente policy chiave alla tua chiave KMS per consentire l'accesso AWS WAF al tuo bucket Amazon S3.

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

## Autorizzazioni necessarie per accedere ai file di registro di Amazon S3
<a name="logging-s3-log-file-access"></a>

Amazon S3 utilizza le liste di controllo degli accessi (ACLs) per gestire l'accesso ai file di registro creati da un AWS WAF registro. Per impostazione predefinita, il proprietario del bucket dispone di autorizzazioni `FULL_CONTROL` su ogni file di log. Il proprietario della distribuzione dei log, se diverso dal proprietario del bucket, non dispone di autorizzazioni. L’account di distribuzione dei log dispone delle autorizzazioni `READ` e `WRITE`. Per ulteriori informazioni, consulta [Panoramica della lista di controllo accessi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) nella *Guida per l'utente di Amazon Simple Storage Service*.

# Invio dei log di traffico del Protection Pack (Web ACL) a un flusso di distribuzione di Amazon Data Firehose
<a name="logging-kinesis"></a>

Questa sezione fornisce informazioni per inviare i log del traffico del Protection Pack (Web ACL) a un flusso di distribuzione di Amazon Data Firehose. 

**Nota**  
Oltre ai costi di utilizzo, ti verranno addebitati i costi per la registrazione. AWS WAF Per informazioni, consulta [Prezzi per la registrazione delle informazioni sul traffico del pacchetto di protezione (Web ACL)](logging-pricing.md).

Per inviare i log ad Amazon Data Firehose, devi inviare i log dal tuo pacchetto di protezione (Web ACL) a un flusso di distribuzione Amazon Data Firehose configurato in Firehose. Dopo aver abilitato la registrazione, AWS WAF invia i log alla destinazione di archiviazione tramite l'endpoint HTTPS di Firehose. 

Un AWS WAF registro equivale a un record Firehose. Se in genere ricevi 10.000 richieste al secondo e abiliti i log completi, dovresti avere un'impostazione di 10.000 record al secondo in Firehose. Se non configuri Firehose correttamente, AWS WAF non registrerà tutti i log. Per ulteriori informazioni, consulta le quote di [Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/limits.html). 

Per informazioni su come creare un flusso di distribuzione di Amazon Data Firehose e rivedere i log memorizzati, consulta What [is Amazon Data](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) Firehose? 

Per informazioni sulla creazione del flusso di consegna, consulta [Creazione di un flusso di consegna di Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html).

## Configurazione di un flusso di distribuzione Amazon Data Firehose per il tuo pacchetto di protezione (Web ACL)
<a name="logging-kinesis-configuration"></a>

Configura un flusso di distribuzione Amazon Data Firehose per il tuo pacchetto di protezione (Web ACL) come segue.
+ Crealo utilizzando lo stesso account che usi per gestire il pacchetto di protezione (web ACL).
+ Crealo nella stessa regione del pacchetto di protezione (web ACL). Se stai acquisendo log per Amazon CloudFront, crea il firehose nella regione Stati Uniti orientali (Virginia settentrionale),. `us-east-1`
+ Assegna al data firehose un nome che inizi con il prefisso. `aws-waf-logs-` Ad esempio, `aws-waf-logs-us-east-2-analytics`.
+ Configuralo per l'immissione diretta, che consente alle applicazioni di accedere direttamente al flusso di distribuzione. Nella [console Amazon Data Firehose](https://console.aws.amazon.com/firehose), per l'impostazione della **sorgente** del flusso di distribuzione, scegli **Direct PUT o altre** fonti. Tramite l'API, imposta la proprietà del flusso di consegna `DeliveryStreamType` su`DirectPut`.
**Nota**  
Non utilizzare a `Kinesis stream` come fonte.

## Autorizzazioni necessarie per pubblicare i log in un flusso di distribuzione di Amazon Data Firehose
<a name="logging-kinesis-permissions"></a>

Per comprendere le autorizzazioni richieste per la configurazione di Kinesis Data Firehose, [consulta Controlling Access with Amazon Kinesis Data](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html) Firehose.

È necessario disporre delle seguenti autorizzazioni per abilitare correttamente la registrazione del Protection Pack (Web ACL) con un flusso di distribuzione Amazon Data Firehose.
+ `iam:CreateServiceLinkedRole`
+ `firehose:ListDeliveryStreams`
+ `wafv2:PutLoggingConfiguration`

Per informazioni sui ruoli collegati ai servizi e sull'autorizzazione, consulta. `iam:CreateServiceLinkedRole` [Utilizzo di ruoli collegati ai servizi per AWS WAF](using-service-linked-roles.md)

# Configurazione della registrazione per un pacchetto di protezione (Web ACL)
<a name="logging-management-configure"></a>

Questa sezione fornisce istruzioni per configurare la protezione dei dati per un protection pack (Web ACL).

**Nota**  
Oltre ai costi di utilizzo, ti verranno addebitati i costi per la registrazione. AWS WAF Per informazioni, consulta [Prezzi per la registrazione delle informazioni sul traffico del pacchetto di protezione (Web ACL)](logging-pricing.md).

Per abilitare la registrazione per un pacchetto di protezione (Web ACL), devi aver già configurato la destinazione di registrazione che intendi utilizzare. Per informazioni sulle scelte di destinazione e sui requisiti per ciascuna di esse, consulta. [AWS WAF destinazioni di registrazione](logging-destinations.md)

**Per configurare la registrazione per un pacchetto di protezione (Web ACL)**

1. [Accedi a Console di gestione AWS e apri la AWS WAF console all'indirizzo https://console.aws.amazon.com/wafv2/ homev2.](https://console.aws.amazon.com/wafv2/homev2) 

1. Nel riquadro di navigazione, scegli i **pacchetti di protezione (web ACLs)**.

1. Scegliete il nome del pacchetto di protezione (Web ACL) per cui desiderate abilitare la registrazione. La console ti porta alla descrizione del pacchetto di protezione (Web ACL), dove puoi modificarlo.

1. **Nella scheda **Registrazione e metriche**, scegli Abilita registrazione.**

1. Scegli il tipo di destinazione di registrazione, quindi scegli la destinazione di registrazione che hai configurato. È necessario scegliere una destinazione di registrazione il cui nome inizi con. `aws-waf-logs-`

1. (Facoltativo) Se non desideri che alcuni campi siano inclusi nei registri, modificali. Scegliere il campo da omettere, quindi selezionare **Add (Aggiungi)**. Se necessario, ripetere l'operazione per omettere i campi aggiuntivi. I campi oscurati vengono visualizzati nei registri come. `xxx`
**Nota**  
Questa impostazione non ha alcun impatto sul campionamento delle richieste. È possibile escludere i campi dal campionamento della richiesta configurando la protezione dei dati del Protection Pack (Web ACL) o disabilitando il campionamento per il Protection Pack (Web ACL). 

1. (Facoltativo) Se non desideri inviare tutte le richieste ai log, aggiungi i criteri e il comportamento di filtro. In **Filtra log**, per ogni filtro che desideri applicare, scegli **Aggiungi filtro**, quindi scegli i criteri di filtro e specifica se desideri conservare o eliminare le richieste che corrispondono ai criteri. Al termine dell'aggiunta dei filtri, se necessario, modifica il comportamento di **registrazione predefinito**. 
**Nota**  
Se aggiungi più filtri, li AWS WAF valuta partendo dall'alto.

1. Scegliere **Enable Logging (Attiva registrazione)**.
**Nota**  
Quando abiliti correttamente la registrazione, AWS WAF creerà un ruolo collegato al servizio con le autorizzazioni necessarie per scrivere i log nella destinazione di registrazione. Per ulteriori informazioni, consulta [Utilizzo di ruoli collegati ai servizi per AWS WAF](using-service-linked-roles.md).

# Individuazione dei record del Protection Pack (Web ACL)
<a name="logging-management"></a>

Questa sezione spiega come trovare i record del Protection Pack (Web ACL).

**Nota**  
Oltre ai costi di utilizzo, ti verranno addebitati i costi per la registrazione. AWS WAF Per informazioni, consulta [Prezzi per la registrazione delle informazioni sul traffico del pacchetto di protezione (Web ACL)](logging-pricing.md).

**Se non riesci a trovare un record di registro nei tuoi registri**  
In rare occasioni, è possibile che la consegna dei AWS WAF log scenda al di sotto del 100%, con la massima diligenza possibile. L' AWS WAF architettura dà priorità alla sicurezza delle applicazioni rispetto a tutte le altre considerazioni. In alcune situazioni, ad esempio quando i flussi di registrazione subiscono una limitazione del traffico, ciò può comportare la perdita di record. Ciò non dovrebbe influire su più di alcuni record. Se noti una serie di voci di registro mancanti, contatta il [Supporto AWS Centro](https://console.aws.amazon.com/support/home#/).

Nella configurazione di registrazione per il pacchetto di protezione (Web ACL), puoi personalizzare ciò che AWS WAF viene inviato ai log.
+ **Redazione dei campi****: è possibile oscurare i seguenti campi dai record di registro per le regole che utilizzano le impostazioni di corrispondenza corrispondenti: **percorso URI**, **stringa di query**, **intestazione singola** e metodo HTTP.** I campi oscurati vengono visualizzati come `REDACTED` nei log. Ad esempio, se si oscura il campo **Query string**, nei log, verrà elencato come `REDACTED` per tutte le regole che utilizzano l'impostazione del componente **Query string match**. **La redazione si applica solo al componente di richiesta specificato per la corrispondenza nella regola, quindi la redazione del componente **Single header** non si applica alle regole che corrispondono nelle intestazioni.** Per un elenco dei campi di registro, vedi. [Campi di registro per il traffico del Protection Pack (Web ACL)](logging-fields.md)
**Nota**  
Questa impostazione non ha alcun impatto sul campionamento delle richieste. È possibile escludere i campi dal campionamento della richiesta configurando la protezione dei dati del Protection Pack (Web ACL) o disabilitando il campionamento per il Protection Pack (Web ACL). 
+ **Filtraggio dei log**: è possibile aggiungere filtri per specificare quali richieste Web vengono conservate nei log e quali vengono eliminate. Si filtra in base alle impostazioni che AWS WAF si applicano durante la valutazione delle richieste Web. È possibile filtrare in base alle seguenti impostazioni: 
  + **Etichetta completamente qualificata**: le etichette completamente qualificate hanno un prefisso, namespace opzionali e nome dell'etichetta. Il prefisso identifica il gruppo di regole o il contesto del Protection Pack (Web ACL) della regola che ha aggiunto l'etichetta. Per informazioni sulle etichette, vedere. [Etichettatura delle richieste Web in AWS WAF](waf-labels.md)
  + **Azione delle regole**: è possibile filtrare in base a qualsiasi normale impostazione di azione delle regole e anche in base all'opzione di `EXCLUDED_AS_COUNT` sostituzione precedente per le regole dei gruppi di regole. Per informazioni sulle impostazioni delle azioni delle regole, vedere[Utilizzo delle azioni delle regole in AWS WAF](waf-rule-action.md). Per informazioni sulle regole correnti e precedenti che sostituiscono le regole dei gruppi di regole, vedere. [Sovrascrivere le azioni del gruppo di regole in AWS WAF](web-acl-rule-group-override-options.md) 
    + I normali filtri di azione delle regole si applicano alle azioni configurate nelle regole e anche alle azioni configurate utilizzando l'opzione corrente per sovrascrivere un'azione delle regole del gruppo di regole. 
    + Il filtro di `EXCLUDED_AS_COUNT` registro si sovrappone al filtro del registro delle `Count` azioni. `EXCLUDED_AS_COUNT`filtra sia le opzioni correnti che quelle precedenti per sovrascrivere l'azione di una regola di un gruppo di regole. Count 

# Campi di registro per il traffico del Protection Pack (Web ACL)
<a name="logging-fields"></a>

L'elenco seguente descrive i possibili campi di registro. 

**operazione**  
L'azione di terminazione AWS WAF applicata alla richiesta. Ciò indica l'autorizzazione, il blocco, il CAPTCHA o la contestazione. Le Challenge azioni CAPTCHA and terminano quando la richiesta web non contiene un token valido.

**args**  
Stringa query.

**Risposta CAPTCHA**  
Lo stato dell'azione CAPTCHA per la richiesta, compilato quando viene applicata un'CAPTCHAazione alla richiesta. Questo campo viene compilato per qualsiasi CAPTCHA azione, terminante o non terminante. Se una richiesta ha l'CAPTCHAazione applicata più volte, questo campo viene compilato dall'ultima volta che l'azione è stata applicata.   
L'CAPTCHAazione interrompe l'ispezione delle richieste Web quando la richiesta non include un token o il token non è valido o è scaduto. Se l'CAPTCHAazione sta terminando, questo campo include un codice di risposta e il motivo dell'errore. Se l'azione non è terminativa, questo campo include un timestamp di risoluzione. Per distinguere tra un'azione terminante e un'azione non terminante, puoi filtrare in base a un attributo non vuoto in questo campo. `failureReason`

**cfDistributionTenantId**  
L'identificatore del tenant CloudFront di distribuzione associato alla richiesta web. Questo campo è facoltativo e si applica solo ai protection pack (web ACLs) associati ai tenant di CloudFront distribuzione.

**ChallengeResponse**  
Lo stato dell'azione di sfida per la richiesta, compilato quando un'Challengeazione viene applicata alla richiesta. Questo campo viene compilato per qualsiasi Challenge azione, terminante o non terminante. Se una richiesta ha l'Challengeazione applicata più volte, questo campo viene compilato dall'ultima volta che l'azione è stata applicata.   
L'Challengeazione interrompe l'ispezione delle richieste Web quando la richiesta non include un token o il token non è valido o è scaduto. Se l'Challengeazione sta terminando, questo campo include un codice di risposta e il motivo dell'errore. Se l'azione non è terminativa, questo campo include un timestamp di risoluzione. Per distinguere tra un'azione terminante e un'azione non terminante, puoi filtrare in base a un attributo non vuoto in questo campo. `failureReason`

**ASN del cliente**  
L'Autonomous System Number (ASN) associato all'indirizzo IP dell'origine della richiesta web.  
**ClientASN** viene registrato nei AWS WAF log solo quando viene utilizzata un'istruzione ASN match. Altrimenti questo campo non viene registrato.

**clientIp**  
Indirizzo IP del client che invia la richiesta.

**paese**  
Paese di origine della richiesta. Se non AWS WAF è in grado di determinare il paese di origine, imposta questo campo su`-`. 

**paese**  
Paese di origine della richiesta. Se non AWS WAF è in grado di determinare il paese di origine, imposta questo campo su`-`. 

**excludedRules**  
Utilizzato solo per le regole dei gruppi di regole. L'elenco di regole nel gruppo di regole che sono state escluse. L'azione per queste regole è impostata suCount.   
Se sostituisci una regola per contarla utilizzando l'opzione di azione sostituisci la regola, le corrispondenze non vengono elencate qui. Sono elencate come coppie `action` di azioni e. `overriddenAction`    
exclusionType  
Un tipo che indica che la regola esclusa ha l'azione. Count  
ruleId  
L'ID della regola all'interno del gruppo di regole che è esclusa.

**Tipo di formato**  
Tipo di formato per il log.

**Inoltrato come N**  
L'Autonomous System Number (ASN) associato all'indirizzo IP dell'entità che ha inoltrato la richiesta web.

**headers**  
Elenco intestazioni.

**httpMethod**  
Metodo HTTP nella richiesta.

**httpRequest**  
Metadati sulla richiesta.

**httpSourceId**  
L'ID della risorsa associata:   
+ Per una CloudFront distribuzione Amazon, l'ID è il seguente `distribution-id` nella sintassi ARN: 

  `arn:partitioncloudfront::account-id:distribution/distribution-id` 
+ Per un Application Load Balancer, l'ID è il seguente `load-balancer-id` nella sintassi ARN: 

  `arn:partition:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id`
+ Per un'API REST di Amazon API Gateway, l'ID è il `api-id` seguente nella sintassi ARN: 

  `arn:partition:apigateway:region::/restapis/api-id/stages/stage-name`
+ Per un'API AWS AppSync GraphQL, l'ID è il seguente `GraphQLApiId` nella sintassi ARN: 

  `arn:partition:appsync:region:account-id:apis/GraphQLApiId`
+ Per un pool di utenti di Amazon Cognito, l'ID è il seguente `user-pool-id` nella sintassi ARN: 

  `arn:partition:cognito-idp:region:account-id:userpool/user-pool-id`
+ Per un AWS App Runner servizio, l'ID è il seguente `apprunner-service-id` nella sintassi ARN: 

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

**httpSourceName**  
Origine della richiesta. Valori possibili: `CF` per Amazon CloudFront, `APIGW` per Amazon API Gateway, `ALB` per Application Load Balancer, `APPSYNC` per Amazon Cognito AWS AppSync`APPRUNNER`, `COGNITOIDP` per App Runner e per Verified Access. `VERIFIED_ACCESS`

**httpVersion**  
Versione HTTP.

**Impronta digitale JA3**  
L' JA3 impronta digitale della richiesta.  
JA3 l'ispezione delle impronte digitali è disponibile solo per le CloudFront distribuzioni Amazon e gli Application Load Balancer.
L' JA3 impronta digitale è un hash di 32 caratteri derivato dal TLS Client Hello di una richiesta in arrivo. Questa impronta digitale funge da identificatore univoco per la configurazione TLS del client. AWS WAF calcola e registra questa impronta digitale per ogni richiesta che contiene informazioni TLS Client Hello sufficienti per il calcolo.   
Fornisci questo valore quando configuri una corrispondenza JA3 delle impronte digitali nelle regole del tuo Protection Pack (Web ACL). Per informazioni sulla creazione di una corrispondenza con l' JA3impronta digitale, vedere [JA3 impronta digitale](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-ja3-fingerprint) nella dichiarazione [Richiedi componenti in AWS WAF](waf-rule-statement-fields-list.md) per una regola.

**Impronta digitale JA4**  
L' JA4 impronta digitale della richiesta.  
JA4 l'ispezione delle impronte digitali è disponibile solo per le CloudFront distribuzioni Amazon e gli Application Load Balancer.
L' JA4 impronta digitale è un hash di 36 caratteri derivato dal TLS Client Hello di una richiesta in arrivo. Questa impronta digitale funge da identificatore univoco per la configurazione TLS del client. AWS WAF calcola e registra questa impronta digitale per ogni richiesta che contiene informazioni TLS Client Hello sufficienti per il calcolo.   
Fornisci questo valore quando configuri una corrispondenza JA4 delle impronte digitali nelle regole del tuo Protection Pack (Web ACL). Per informazioni sulla creazione di una corrispondenza con l' JA4impronta digitale, vedere [JA4 impronta digitale](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-ja4-fingerprint) nella dichiarazione [Richiedi componenti in AWS WAF](waf-rule-statement-fields-list.md) per una regola.

**labels**  
Le etichette sulla richiesta web. Queste etichette sono state applicate in base a regole utilizzate per valutare la richiesta. AWS WAF registra le prime 100 etichette. 

**nonTerminatingMatchingRegole**  
L'elenco delle regole non terminative che corrispondono alla richiesta. Ogni elemento dell'elenco contiene le seguenti informazioni.     
operazione  
L'azione AWS WAF applicata alla richiesta. Indica il conteggio, il CAPTCHA o la sfida. Gli CAPTCHA e Challenge non terminano quando la richiesta web contiene un token valido.  
ruleId  
L'ID della regola che corrispondeva alla richiesta e non terminava.   
ruleMatchDetails  
Informazioni dettagliate sulla regola corrispondente alla richiesta. Questo campo viene compilato solo per le istruzioni SQL injection e Cross-Site Scripting (XSS) Match Rule. Una regola di corrispondenza potrebbe richiedere una corrispondenza per più di un criterio di ispezione, pertanto questi dettagli di corrispondenza vengono forniti come una serie di criteri di corrispondenza. 
Le eventuali informazioni aggiuntive fornite per ciascuna regola variano in base a fattori quali la configurazione della regola, il tipo di corrispondenza delle regole e i dettagli della corrispondenza. Ad esempio, per le regole con un'Challengeazione CAPTCHA o, `challengeResponse` verrà elencato l'`captchaResponse`o. Se la regola corrispondente fa parte di un gruppo di regole e hai sovrascritto l'azione della regola configurata, l'azione configurata verrà fornita in. `overriddenAction` 

**Campi sovradimensionati**  
L'elenco dei campi della richiesta Web che sono stati controllati dal Protection Pack (Web ACL) e che superano il limite di ispezione. AWS WAF Se un campo è sovradimensionato ma il protection pack (Web ACL) non lo ispeziona, non verrà elencato qui.   
Questo elenco può contenere zero o più dei seguenti valori:`REQUEST_BODY`,`REQUEST_JSON_BODY`, `REQUEST_HEADERS` e. `REQUEST_COOKIES` Per ulteriori informazioni sui campi sovradimensionati, vedere[Componenti di richiesta Web di grandi dimensioni in AWS WAF](waf-oversize-request-components.md).

**rateBasedRuleElenco**  
Elenco dei gruppi di regole basate su tariffa che hanno operato su questa richiesta. Per informazioni sulle regole basate sulle tariffe, vedere. [Utilizzo di istruzioni di regole basate sulla tariffa in AWS WAF](waf-rule-statement-type-rate-based.md)    
rateBasedRuleId  
ID della regola basata sulla frequenza che ha operato su questa richiesta. Se ciò ha terminato la richiesta, l'ID di `rateBasedRuleId` è uguale all'ID di `terminatingRuleId`.  
rateBasedRuleNome  
Il nome della regola basata sulla tariffa che ha funzionato sulla richiesta.   
limitKey  
Il tipo di aggregazione utilizzato dalla regola. I valori possibili sono `IP` per l'origine della richiesta Web, `FORWARDED_IP` per un IP inoltrato in un'intestazione della richiesta, `CUSTOMKEYS` per le impostazioni di chiave aggregate personalizzate e `CONSTANT` per contare tutte le richieste insieme, senza aggregazione.   
Valore limite  
Utilizzato solo per limitare la velocità in base a un singolo tipo di indirizzo IP. Se una richiesta contiene un indirizzo IP non valido, lo `limitvalue` è`INVALID`.  
maxRateAllowed  
Il numero massimo di richieste consentite nella finestra temporale specificata per una specifica istanza di aggregazione. L'istanza di aggregazione è definita dalla `limitKey` somma di eventuali specifiche chiave aggiuntive fornite nella configurazione delle regole basate sulla frequenza.   
evaluationWindowSec  
La quantità di tempo AWS WAF inclusa nella richiesta conta, in secondi.   
Valori personalizzati  
Valori univoci identificati dalla regola basata sulla tariffa nella richiesta. Per i valori di stringa, i registri stampano i primi 32 caratteri del valore della stringa. A seconda del tipo di chiave, questi valori potrebbero essere solo per una chiave, ad esempio per il metodo HTTP o la stringa di query, oppure potrebbero riguardare una chiave e un nome, ad esempio per l'intestazione e il nome dell'intestazione. 

**requestHeadersInserted**  
L'elenco delle intestazioni inserite per la gestione personalizzata delle richieste.

**requestId**  
ID della richiesta, generato dal servizio host sottostante. Per Application Load Balancer, questo è l'ID di traccia. Per tutti gli altri, questo è l'ID della richiesta. 

**responseCodeSent**  
Il codice di risposta inviato con una risposta personalizzata.

**ruleGroupId**  
ID del gruppo di regole. Se la regola ha bloccato la richiesta, l'ID per `ruleGroupID` è uguale all'ID per `terminatingRuleId`. 

**ruleGroupList**  
L'elenco dei gruppi di regole che hanno risposto a questa richiesta, con informazioni sulla corrispondenza.

**terminatingRule**  
La regola che ha terminato la richiesta. Se è presente, contiene le seguenti informazioni.     
operazione  
L'azione di terminazione AWS WAF applicata alla richiesta. Ciò indica l'autorizzazione, il blocco, il CAPTCHA o la contestazione. Le Challenge azioni CAPTCHA and terminano quando la richiesta web non contiene un token valido.  
ruleId  
L'ID della regola che corrisponde alla richiesta.   
ruleMatchDetails  
Informazioni dettagliate sulla regola corrispondente alla richiesta. Questo campo viene compilato solo per le istruzioni SQL injection e Cross-Site Scripting (XSS) Match Rule. Una regola di corrispondenza potrebbe richiedere una corrispondenza per più di un criterio di ispezione, pertanto questi dettagli di corrispondenza vengono forniti come una serie di criteri di corrispondenza. 
Le eventuali informazioni aggiuntive fornite per ciascuna regola variano in base a fattori quali la configurazione della regola, il tipo di corrispondenza delle regole e i dettagli della corrispondenza. Ad esempio, per le regole con un'Challengeazione CAPTCHA o, `challengeResponse` verrà elencato l'`captchaResponse`o. Se la regola corrispondente fa parte di un gruppo di regole e hai sovrascritto l'azione della regola configurata, l'azione configurata verrà fornita in. `overriddenAction` 

**terminatingRuleId**  
ID della regola che ha terminato la richiesta. Se non viene terminata la richiesta, il valore è `Default_Action`.

**terminatingRuleMatchDettagli**  
Informazioni dettagliate sulla regola di terminazione corrispondente alla richiesta. Una regola di terminazione ha un'azione che termina il processo di ispezione di una richiesta Web. Le azioni possibili per una regola di terminazione includonoAllow, BlockCAPTCHA, eChallenge. Durante l'ispezione di una richiesta Web, alla prima regola che corrisponde alla richiesta e che prevede un'azione di terminazione, AWS WAF interrompe l'ispezione e applica l'azione. La richiesta web potrebbe contenere altre minacce, oltre a quella riportata nel registro per la regola di terminazione corrispondente.  
Questo viene popolato solo per le istruzioni delle regole di corrispondenza SQL injection e Cross-site scripting (XSS). La regola di abbinamento potrebbe richiedere una corrispondenza per più di un criterio di ispezione, pertanto questi dettagli di corrispondenza vengono forniti come una serie di criteri di corrispondenza. 

**terminatingRuleType**  
Tipo della regola che ha terminato la richiesta. Valori possibili: RATE\$1BASED, REGULAR, GROUP e MANAGED\$1RULE\$1GROUP.

**timestamp**  
Time Stamp in millisecondi.

**uri**  
URI della richiesta. 

**fragment**  
La parte di un URL che segue il simbolo «\$1», che fornisce informazioni aggiuntive sulla risorsa, ad esempio \$1section2.

**webaclId**  
Il GUID del pacchetto di protezione (ACL web).

# Esempi di log per il traffico del Protection Pack (Web ACL)
<a name="logging-examples"></a>

Questa sezione fornisce esempi per la registrazione del traffico del Protection Pack (Web ACL).

**Example Regola 1 basata sulla frequenza: configurazione delle regole con una chiave, impostata su `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 Regola basata sulla tariffa 1: immissione del registro per la richiesta bloccata dalla regola basata sulla tariffa**  

```
{
   "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 Regola 2 basata sulla tariffa: configurazione delle regole con due chiavi, impostata su e `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 Regola basata sulla tariffa 2: immissione del registro per la richiesta bloccata dalla regola basata sulla tariffa**  

```
{
   "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 Registra l'output di una regola attivata al momento del rilevamento (terminazione) 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 Output di log per una regola attivata al momento del SQLi rilevamento (non terminante)**  

```
{
    "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 Output di log per più regole attivate all'interno di un gruppo di regole (Rulea-XSS termina e Rule-B non termina)**  

```
{
    "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 Output di log per una regola attivata per l'ispezione del corpo della richiesta con tipo di contenuto JSON**  
AWS WAF attualmente riporta la posizione dell'ispezione del corpo JSON come. `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 Registra l'output di una regola CAPTCHA in base a una richiesta web con un token CAPTCHA valido e non scaduto**  
Il seguente elenco di log riguarda una richiesta Web che corrisponde a una regola con un'azione. CAPTCHA La richiesta web ha un token CAPTCHA valido e non scaduto e viene annotata solo come corrispondenza CAPTCHA da AWS WAF, in modo simile al comportamento dell'azione. Count Questa corrispondenza CAPTCHA è indicata sotto. `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 Registra l'output di una regola CAPTCHA rispetto a una richiesta web che non ha un token CAPTCHA**  
Il seguente elenco di log riguarda una richiesta Web che corrisponde a una regola con un'azione. CAPTCHA La richiesta web non aveva un token CAPTCHA ed è stata bloccata da. 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"
  }
}
```