

**Apresentando uma nova experiência de console para AWS WAF**

Agora você pode usar a experiência atualizada para acessar a AWS WAF funcionalidade em qualquer lugar do console. Para obter mais detalhes, consulte [Trabalhando com o console](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html). 

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Registrando o tráfego do pacote de AWS WAF proteção (Web ACL)
<a name="logging"></a>

Esta seção explica as opções de registro para seus pacotes de AWS WAF proteção (web ACLs). 

Você pode habilitar o registro em log para obter informações detalhadas sobre o tráfego que é analisado pela web ACL. As informações registradas incluem a hora em que AWS WAF recebeu uma solicitação da web do seu AWS recurso, informações detalhadas sobre a solicitação e detalhes sobre as regras às quais a solicitação correspondeu. Você pode enviar registros do pacote de proteção (web ACL) para um grupo de CloudWatch registros do Amazon Logs, um bucket do Amazon Simple Storage Service (Amazon S3) ou um stream de entrega do Amazon Data Firehose.

Além dos registros que você pode habilitar para seus pacotes de proteção (web ACLs), AWS também usa registros de serviços do tráfego de sites ou aplicativos processados por AWS WAF para fornecer suporte e proteger a segurança de AWS clientes e serviços.

**nota**  
A configuração de registro do pacote de proteção (Web ACL) afeta somente os AWS WAF registros. Em particular, a configuração de campos editados para registro de logs não tem impacto na amostragem de solicitações ou na coleta de dados do Security Lake. Você pode excluir campos da coleta ou amostragem configurando a proteção de dados do pacote de proteção (ACL da Web). A coleta de dados do Security Lake é configurada inteiramente pelo serviço Security Lake. 

**Topics**
+ [Preços para registrar em log informações de tráfego do pacote de proteção (ACL da Web)](logging-pricing.md)
+ [AWS WAF destinos de registro](logging-destinations.md)
+ [Configurar registro em log para um pacote de proteção (ACL da Web)](logging-management-configure.md)
+ [Encontrar os registros do pacote de proteção (ACL da Web)](logging-management.md)
+ [Campos do log para tráfego do pacote de proteção (ACL da Web)](logging-fields.md)
+ [Exemplos de log para tráfego do pacote de proteção (ACL da Web)](logging-examples.md)

**Outras opções de coleta e análise de dados**  
Além do registro de logs, você pode ativar as seguintes opções para coleta e análise de dados: 
+ **Amazon Security Lake**: você pode configurar o Security Lake para coletar dados do pacote de proteção (ACL da Web). O Security Lake coleta dados de logs e de eventos de várias origens na para normalização, análise e gerenciamento. Para obter informações sobre essa opção, consulte [O que é o Amazon Security Lake?](https://docs.aws.amazon.com/security-lake/latest/userguide/what-is-security-lake.html) e [Coleta de dados de AWS serviços](https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html) no *guia do usuário do Amazon Security Lake*. 

  AWS WAF não cobra pelo uso dessa opção. Para obter informações sobre preços, consulte [Preços do Security Lake](https://aws.amazon.com/security-lake/pricing/) e [Como os preços do Security Lake são determinados](https://docs.aws.amazon.com/security-lake/latest/userguide/estimating-costs.html) no *Guia do usuário do Amazon Security Lake*. 
+ **Amostragem de solicitações**: você pode configurar o pacote de proteção (ACL da Web) para obter amostras das solicitações da Web que ele avalia, para ter uma ideia do tipo de tráfego que a sua aplicação recebe. Para obter mais informações sobre esta opção, consulte [Visualizar um exemplo de solicitações da web](web-acl-testing-view-sample.md). 

# Preços para registrar em log informações de tráfego do pacote de proteção (ACL da Web)
<a name="logging-pricing"></a>

Essa seção explica as considerações sobre preço do uso dos logs de tráfego do pacote de proteção (ACL da Web).

O registro em log das informações de tráfego do pacote de proteção (ACL da Web) é cobrado de acordo com os custos associados a cada tipo de destino de log. Essas cobranças são adicionais às cobranças de uso do AWS WAF. Seus custos podem variar dependendo de fatores como o tipo de destino escolhido e a quantidade de dados que você registra. 

Veja a seguir links para as informações de preços de cada tipo de destino de logs:
+ **CloudWatch Registros** — As cobranças são pela entrega de registros vendidos. Consulte os [preços do Amazon CloudWatch Logs](https://aws.amazon.com/cloudwatch/pricing/). Em **Nível pago**, escolha a guia **Registros** e, em **Vended Logs**, veja as informações de **Entrega para CloudWatch registros**.
+ **Buckets Amazon S3 — As** cobranças do Amazon S3 são as cobranças combinadas pela entrega de CloudWatch logs vendidos pelos Logs para os buckets do Amazon S3 e pelo uso do Amazon S3. 
  + Para o Amazon S3, consulte [Preços do Amazon S3](https://aws.amazon.com/s3/pricing/). 
  + Para entrega de CloudWatch registros vendidos pela Logs para o Amazon S3, consulte [ CloudWatch Amazon](https://aws.amazon.com/cloudwatch/pricing/) Logs Pricing. Em **Nível pago**, escolha a guia **Logs** e, em **Logs fornecidos**, veja as informações de **Entrega para o S3**.
+ **Firehose**: consulte [preços do Amazon Data Firehose](https://aws.amazon.com/kinesis/data-firehose/pricing/).

Para obter informações sobre AWS WAF preços, consulte [AWS WAF Preços](https://aws.amazon.com/waf/pricing/). 

# AWS WAF destinos de registro
<a name="logging-destinations"></a>

Esta seção descreve as opções de registro que você pode escolher para seus logs do AWS WAF . Cada seção fornece orientações para configurar os logs, incluindo informações sobre qualquer comportamento específico para o tipo de destino. Depois de configurar o destino do registro em log, você pode fornecer suas especificações para a configuração do registro em log do pacote de proteção (ACL da Web) para iniciar nele o registro em log.

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

# Envio de registros de tráfego do pacote de proteção (web ACL) para um grupo de CloudWatch registros do Amazon Logs
<a name="logging-cw-logs"></a>

Este tópico fornece informações para enviar os registros de tráfego do pacote de proteção (web ACL) para um grupo de CloudWatch registros de registros. 

**nota**  
Você é cobrado pelo login, além das cobranças pelo uso do AWS WAF. Para mais informações, consulte [Preços para registrar em log informações de tráfego do pacote de proteção (ACL da Web)](logging-pricing.md).

Para enviar registros para o Amazon CloudWatch Logs, você cria um grupo de CloudWatch registros de registros. Ao ativar o login AWS WAF, você fornece o ARN do grupo de registros. Depois de habilitar o registro para seu pacote de proteção (web ACL), AWS WAF entrega os registros para o grupo de CloudWatch registros de registros em fluxos de registros. 

Ao usar o CloudWatch Logs, você pode explorar os registros do seu pacote de proteção (Web ACL) no AWS WAF console. Na página do pacote de proteção (ACL da Web), selecione a guia **Insights sobre registro em log**. Essa opção é um acréscimo aos insights de registro fornecidos para o CloudWatch Logs por meio do CloudWatch console. 

Configure o grupo de registros para registros do pacote de AWS WAF proteção (web ACL) na mesma região do pacote de proteção (web ACL) e usando a mesma conta que você usa para gerenciar o pacote de proteção (web ACL). Para obter informações sobre como configurar um grupo de CloudWatch registros, consulte Como [trabalhar com grupos de registros e fluxos de registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html).

## Cotas para grupos de CloudWatch registros de registros
<a name="logging-cw-logs-quotas"></a>

CloudWatch Os registros têm uma cota máxima padrão de taxa de transferência, compartilhada entre todos os grupos de registros em uma região, que você pode solicitar para aumentar. Se seus requisitos do registro de logs forem muito altos para as configurações atuais de throughput, você verá métricas de controle de utilização para `PutLogEvents` para sua conta. Para ver o limite no console Service Quotas e solicitar um aumento, consulte a cota de [CloudWatch registros PutLogEvents ](https://console.aws.amazon.com/servicequotas/home/services/logs/quotas/L-7E1FAE88).

## Nomenclatura de grupos de logs
<a name="logging-cw-logs-naming"></a>

Os nomes dos grupos de logs devem começar com `aws-waf-logs-` e terminar com qualquer sufixo que você quiser, por exemplo, `aws-waf-logs-testLogGroup2`.

O formato resultante do ARN é o seguinte: 

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

Os fluxos de log têm o seguinte formato de nomenclatura: 

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

O exemplo a seguir mostra um exemplo de fluxo de logs para o pacote de proteção (ACL da Web) `TestWebACL` na região `us-east-1`. 

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

## Permissões necessárias para publicar registros no CloudWatch Logs
<a name="logging-cw-logs-permissions"></a>

Configurar o registro de tráfego do pacote de proteção (Web ACL) para um grupo de CloudWatch registros de registros requer as configurações de permissões descritas nesta seção. As permissões são definidas para você quando você usa uma das políticas gerenciadas de acesso AWS WAF total, `AWSWAFConsoleFullAccess` ou`AWSWAFFullAccess`. Se você quiser gerenciar um acesso mais refinado ao seu registro e aos seus AWS WAF recursos, você mesmo pode definir as permissões. Para obter informações sobre o gerenciamento de permissões, consulte [Gerenciamento de acesso para AWS recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) no *Guia do usuário do IAM*. Para obter informações sobre as políticas gerenciadas do AWS WAF , consulte [AWS políticas gerenciadas para AWS WAF](security-iam-awsmanpol.md). 

Essas permissões permitem que você altere a configuração de registro do pacote de proteção (Web ACL), configure a entrega de CloudWatch registros para registros e recupere informações sobre seu grupo de registros. Essas permissões devem ser anexadas ao usuário que você usa para gerenciar o 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 as ações são permitidas em todos os AWS recursos, isso é indicado na política com uma `"Resource"` configuração de`"*"`. Isso significa que as ações são permitidas em todos os AWS recursos *que cada ação suporta*. Por exemplo, a ação `wafv2:PutLoggingConfiguration` é suportada somente para `wafv2` registrar recursos de configuração. 

# Enviar logs de tráfego do pacote de proteção (ACL da Web) para um bucket do Amazon Simple Storage Service
<a name="logging-s3"></a>

Este tópico fornece informações sobre o envio dos logs de tráfego do pacote de proteção (ACL da Web) para um bucket do Amazon S3. 

**nota**  
Você é cobrado pelo login, além das cobranças pelo uso do AWS WAF. Para mais informações, consulte [Preços para registrar em log informações de tráfego do pacote de proteção (ACL da Web)](logging-pricing.md).

Para enviar os logs de tráfego do pacote de proteção (ACL da Web) para o Amazon S3, você configura um bucket do Amazon S3 na mesma conta que usa para gerenciar o pacote de proteção (ACL da Web) e atribui ao bucket um nome começando com `aws-waf-logs-`. Ao ativar o login AWS WAF, você fornece o nome do bucket. Para obter informações sobre como criar um bucket de log, consulte [Criar um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html), no *Guia do usuário do Amazon Simple Storage Service*.

Você pode acessar e analisar seus logs do Amazon S3 usando o serviço de consulta interativa do Amazon Athena. O Athena facilita analisar dados diretamente no Amazon S3 com o SQL padrão. Com algumas ações no Console de gerenciamento da AWS, você pode direcionar a Athena para os dados armazenados no Amazon S3 e começar rapidamente a usar o SQL padrão para executar consultas ad-hoc e obter resultados. Para obter mais informações, consulte Como [consultar AWS WAF registros no guia](https://docs.aws.amazon.com/athena/latest/ug/waf-logs.html) do usuário do *Amazon Athena*. Para exemplos adicionais de consultas do Amazon Athena, consulte [waf-log-sample-athenaaws-samples/](https://github.com/aws-samples/waf-log-sample-athena-queries) -queries no site. GitHub 

**nota**  
AWS WAF suporta criptografia com buckets Amazon S3 para o tipo de chave Amazon S3 (SSE-S3) e para (SSE-KMS). AWS Key Management Service AWS KMS keys AWS WAF não oferece suporte à criptografia para AWS Key Management Service chaves gerenciadas pelo AWS.

Os arquivos de log do pacote de proteção (ACL da Web) são publicados no bucket do Amazon S3 em intervalos de cinco minutos. Cada arquivo de log contém os registros de log de fluxo para o tráfego de IP registrado nos últimos cinco minutos.

O tamanho máximo de um arquivo de log é de 75 MB. Se o arquivo de log atingir o limite de tamanho no período de 5 minutos, o log para de adicionar registros de log de fluxo, publica o arquivo no bucket do Amazon S3 e cria um novo arquivo de log.

Os arquivos de log são compactados. Se você abrir os arquivos usando o console do Amazon S3, o Amazon S3 descompacta os registros de log e os exibe. Se você baixar os arquivos de log, será necessário descompactá-los para visualizar os registros de log de fluxo.

Um único arquivo de log contém entradas intercaladas com vários registros. Para ver todos os arquivos de log de um pacote de proteção (ACL da Web), procure as entradas agregadas pelo nome do pacote de proteção (ACL da Web), região e ID da sua conta.

## Requisitos de nomenclatura e sintaxe
<a name="logging-s3-naming"></a>

Os nomes de bucket para AWS WAF registro devem começar com `aws-waf-logs-` e terminar com qualquer sufixo que você quiser. Por exemplo, .`aws-waf-logs-LOGGING-BUCKET-SUFFIX` 

**Localização do bucket**  
Os locais do bucket usam a seguinte sintaxe: 

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

**ARN do bucket**  
O formato do bucket do nome do recurso da Amazon (ARN) é o seguinte: 

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

**Localizações de buckets com prefixos**  
Se você usar prefixos no nome das chaves de objeto para organizar os dados que você armazena nos seus buckets, você pode fornecer seus prefixos nos nomes dos buckets de logs.

**nota**  
Essa opção não está disponível no console. Use o AWS WAF APIs, CLI ou. AWS CloudFormation

Para obter informações sobre o uso de prefixos no Amazon S3, consulte [Organização de objetos usando prefixos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html) no *Guia do usuário do Amazon Simple Storage Service*. 

Os locais do bucket com prefixos usam a seguinte sintaxe: 

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

**Pastas e nomes de arquivos do bucket**  
Dentro de seus buckets e seguindo os prefixos fornecidos por você, seus AWS WAF registros são gravados em uma estrutura de pastas determinada pelo ID da conta, pela região, pelo nome do pacote de proteção (Web ACL) e pela data e hora. 

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

Dentro das pastas, os nomes dos arquivos de log seguem um formato semelhante: 

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

As especificações de hora usadas na estrutura de pastas e no nome do arquivo de log seguem a especificação de formato de timestamp `YYYYMMddTHHmmZ`.

Veja abaixo um exemplo de arquivo de log em um bucket do Amazon S3 para um bucket chamado `aws-waf-logs-LOGGING-BUCKET-SUFFIX`. O Conta da AWS é`11111111111`. O pacote de proteção (ACL da Web) é `TEST-WEBACL` e a região é`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**  
Os nomes dos seus buckets para AWS WAF registro devem começar com `aws-waf-logs-` e terminar com qualquer sufixo que você quiser. 

## Permissões necessárias para publicar logs no Amazon S3
<a name="logging-s3-permissions"></a>

A configuração do registro em log de tráfego do pacote de proteção (ACL da Web) para um bucket do Amazon S3 requer as seguintes configurações de permissão. Essas permissões são definidas para você quando você usa uma das políticas gerenciadas de acesso total do AWS WAF , `AWSWAFConsoleFullAccess` ou `AWSWAFFullAccess`. Se você quiser gerenciar ainda mais o acesso ao seu registro e aos seus AWS WAF recursos, você mesmo pode definir essas permissões. Para obter informações sobre como gerenciar permissões, consulte [Gerenciamento de acesso a recursos da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) no *Guia do usuário do IAM*. Para obter informações sobre as políticas AWS WAF gerenciadas, consulte[AWS políticas gerenciadas para AWS WAF](security-iam-awsmanpol.md). 

As permissões a seguir permitem alterar a configuração do registro em log do pacote de proteção (ACL da Web) e configurar a entrega de logs para o bucket do Amazon S3. Essas permissões devem ser anexadas ao usuário que você usa para gerenciar o AWS WAF. 

**nota**  
Ao definir as permissões listadas abaixo, você pode ver erros em seus AWS CloudTrail registros que indicam acesso negado, mas as permissões estão corretas para o AWS WAF registro. 

------
#### [ 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 as ações são permitidas em todos os AWS recursos, isso é indicado na política com uma `"Resource"` configuração de`"*"`. Isso significa que as ações são permitidas em todos os AWS recursos *que cada ação suporta*. Por exemplo, a ação `wafv2:PutLoggingConfiguration` é suportada somente para `wafv2` registrar recursos de configuração. 

Por padrão, os buckets do Amazon S3 e os objetos que eles contêm são privados. Somente o proprietário do bucket pode acessá-los. No entanto, o proprietário do bucket pode conceder acesso a outros recursos e usuários por meio da criação de uma política de acesso.

Se o usuário que cria um log de fluxo possui o bucket, o serviço anexa automaticamente as políticas de bucket a seguir para conceder permissão ao log de fluxo para publicar logs nele: 

------
#### [ 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**  
Os nomes dos seus buckets para AWS WAF registro devem começar com `aws-waf-logs-` e terminar com qualquer sufixo que você quiser. 

Se o usuário que cria o log não possui o bucket nem tem as permissões `GetBucketPolicy` e `PutBucketPolicy` para o bucket, ocorre uma falha na criação do log de fluxo. Nesse caso, o proprietário do bucket deve adicionar manualmente as políticas acima ao bucket e especificar o ID do Conta da AWS do criador do log. Para saber mais, consulte [Como adiciono uma política de bucket do S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html) no *Guia do usuário do Amazon Simple Storage Service*. Se o bucket recebe logs de fluxo de várias contas, adicione uma entrada de elemento `Resource` à instrução de política `AWSLogDeliveryWrite` para cada conta. 

Por exemplo, a política de bucket a seguir Conta da AWS `111122223333` permite publicar registros em um bucket chamado`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**  
Em alguns casos, você poderá ver os erros `AccessDenied` em AWS CloudTrail se a permissão `s3:ListBucket`não tiver sido concedida a `delivery.logs.amazonaws.com`. Para evitar esses erros em seus CloudTrail registros, você deve conceder a `s3:ListBucket` permissão `delivery.logs.amazonaws.com` e incluir `Condition` os parâmetros mostrados com o conjunto de `s3:GetBucketAcl ` permissões na política de bucket anterior. Para simplificar, em vez de criar uma nova `Statement`, você pode atualizar `AWSLogDeliveryAclCheck` diretamente para `“Action”: [“s3:GetBucketAcl”, “s3:ListBucket”]`

## Permissões para uso AWS Key Management Service com uma chave KMS
<a name="logging-s3-permissions-encrypt-kms"></a>

Se seu destino de registro usa criptografia do lado do servidor com chaves armazenadas em AWS Key Management Service (SSE-KMS) e você usa uma chave gerenciada pelo cliente (chave KMS), você deve dar AWS WAF permissão para usar sua chave KMS. Para fazer isso, você adiciona uma política de chave à chave KMS do destino escolhido. Isso permite que os logs do AWS WAF gravem seus arquivos de log no seu destino. 

Adicione a seguinte política de chaves à sua chave KMS AWS WAF para permitir o login no seu bucket do Amazon S3.

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

## Permissões necessárias para acessar arquivos de log do Amazon S3
<a name="logging-s3-log-file-access"></a>

O Amazon S3 usa listas de controle de acesso (ACLs) para gerenciar o acesso aos arquivos de log criados por um AWS WAF log. Por padrão, o proprietário do bucket tem permissões `FULL_CONTROL` em cada arquivo de log. O proprietário da entrega de logs, se é diferente do proprietário do bucket, não tem nenhuma permissão. A conta de entrega de logs tem permissões `READ` e `WRITE`. Para saber mais, consulte [Visão geral da lista de controle de acesso (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) no *Guia do usuário do Amazon Simple Storage Service*.

# Enviar logs de tráfego do pacote de proteção (ACL da Web) para um fluxo de entrega do Amazon Data Firehose
<a name="logging-kinesis"></a>

Esta seção fornece informações para enviar os logs de tráfego do pacote de proteção (ACL da Web) para um fluxo de entrega do Amazon Data Firehose. 

**nota**  
Você é cobrado pelo login, além das cobranças pelo uso do AWS WAF. Para mais informações, consulte [Preços para registrar em log informações de tráfego do pacote de proteção (ACL da Web)](logging-pricing.md).

Para enviar logs para o Amazon Data Firehose, você envia os logs do pacote de proteção (ACL da Web) para um fluxo de entrega do Amazon Data Firehose configurado no Firehose. Depois de ativar o registro, AWS WAF entrega os registros ao seu destino de armazenamento por meio do endpoint HTTPS do Firehose. 

Um AWS WAF registro é equivalente a um registro do Firehose. Se você normalmente receber 10 000 solicitações por segundo e habilitar logs completos, deverá ter uma configuração de 10 000 registros por segundo no Firehose. Se você não configurar o Firehose corretamente, não AWS WAF gravará todos os registros. Para saber mais, consulte [Cotas do Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/limits.html). 

Para obter informações sobre como criar um fluxo de entrega do Amazon Data Firehose e revisar seus logs armazenados, consulte [O que é o Amazon Data Firehose?](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) 

Para obter mais informações sobre criar seu fluxo de entrega, consulte [Criar um fluxo de entrega do Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html).

## Configurar um fluxo de entrega do Amazon Data Firehose para o pacote de proteção (ACL da Web)
<a name="logging-kinesis-configuration"></a>

Configure um fluxo de entrega do Amazon Data Firehose para o pacote de proteção (ACL da Web) da seguinte maneira.
+ Crie-o usando a mesma conta que você usa para gerenciar o pacote de proteção (ACL da Web).
+ Crie-o na mesma região do pacote de proteção (ACL da Web). Se você estiver capturando registros para a Amazon CloudFront, crie a mangueira de incêndio na região Leste dos EUA (Norte da Virgínia),. `us-east-1`
+ Dê ao data firehose um nome que comece com o prefixo `aws-waf-logs-`. Por exemplo, .`aws-waf-logs-us-east-2-analytics`
+ Configure-o para colocação direta, o que permite que os aplicativos acessem diretamente o fluxo de entrega. No [console do Amazon Data Firehose](https://console.aws.amazon.com/firehose), para a configuração **Fonte** do fluxo de entrega, escolha **Direct PUT ou outras fontes**. Por meio da API, defina a propriedade do fluxo de entrega `DeliveryStreamType` como `DirectPut`.
**nota**  
Não use um `Kinesis stream` como fonte.

## Permissões necessárias para publicar logs no fluxo de entrega do Amazon Data Firehose
<a name="logging-kinesis-permissions"></a>

Para entender as permissões necessárias para a configuração do Kinesis Data Firehose, consulte [Controlar o acesso com o Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html).

Você deve ter as seguintes permissões para habilitar com sucesso o registro em log do pacote de proteção (ACL da Web) com um fluxo de entrega do Amazon Data Firehose.
+ `iam:CreateServiceLinkedRole`
+ `firehose:ListDeliveryStreams`
+ `wafv2:PutLoggingConfiguration`

Para obter mais informações sobre funções vinculadas ao serviço e a permissão do `iam:CreateServiceLinkedRole`, consulte [Usando funções vinculadas a serviços para AWS WAF](using-service-linked-roles.md).

# Configurar registro em log para um pacote de proteção (ACL da Web)
<a name="logging-management-configure"></a>

Esta seção fornece instruções para configurar proteção de dados para um pacote de proteção (ACL da Web).

**nota**  
Você é cobrado pelo login, além das cobranças pelo uso do AWS WAF. Para mais informações, consulte [Preços para registrar em log informações de tráfego do pacote de proteção (ACL da Web)](logging-pricing.md).

Para habilitar o registro de log para um pacote de proteção (ACL da Web), você já deve ter configurado um destino do registro em log que será usado. Para obter informações sobre suas opções de destino e os requisitos de cada uma, consulte [AWS WAF destinos de registro](logging-destinations.md).

**Para configurar o registro em log para um pacote de proteção (ACL da Web)**

1. Faça login no Console de gerenciamento da AWS e abra o AWS WAF console em [https://console.aws.amazon.com/wafv2/homev2](https://console.aws.amazon.com/wafv2/homev2). 

1. No painel de navegação, escolha **pacotes de proteção (web ACLs)**.

1. Selecione o nome do pacote de proteção (ACL da Web) para o qual você deseja habilitar o registro em log. O console leva você para a descrição pacote de proteção (ACL da Web), onde poderá editá-la.

1. Na guia **Registro em log e métricas**, selecione **Habilitar registro em log**.

1. Escolha o tipo de destino de logs e, em seguida, escolha o destino de logs que você configurou. Você deve escolher um destino de registro em log cujo nome comece com `aws-waf-logs-`.

1. (Opcional) Se você não quiser que alguns campos sejam incluídos nos logs, edite-os. Selecione o campo para editar e, em seguida, selecione **Adicionar**. Repita conforme necessário para editar campos adicionais. Os campos ocultados aparecdm nos logs como `xxx`.
**nota**  
Essa configuração não impacta na amostragem da solicitação. Você pode excluir campos da amostragem de solicitações configurando a proteção de dados do pacote de proteção (ACL da Web) ou desabilitando a amostragem para o pacote de proteção (ACL da Web). 

1. (Opcional) Se você não quiser enviar todas as solicitações para os logs, adicione seus critérios e comportamento de filtragem. Em **Filtrar logs**, para cada filtro que você deseja aplicar, escolha **Adicionar filtro**, escolha seus critérios de filtragem e especifique se deseja manter ou eliminar solicitações que correspondam aos critérios. Ao terminar de adicionar filtros, se necessário, modifique o **Comportamento de registro de logs padrão**. 
**nota**  
Se você adicionar vários filtros, AWS WAF avalie-os começando do topo.

1. Selecione **Habilitar registro em log**.
**nota**  
Quando você habilitar o registro com êxito, AWS WAF criará uma função vinculada ao serviço com as permissões necessárias para gravar registros no destino do registro. Para obter mais informações, consulte [Usando funções vinculadas a serviços para AWS WAF](using-service-linked-roles.md).

# Encontrar os registros do pacote de proteção (ACL da Web)
<a name="logging-management"></a>

Esta seção explica como encontrar os registros do pacote de proteção (ACL da Web).

**nota**  
Você é cobrado pelo login, além das cobranças pelo uso do AWS WAF. Para mais informações, consulte [Preços para registrar em log informações de tráfego do pacote de proteção (ACL da Web)](logging-pricing.md).

**Se não for possível encontrar um registro em log em seus logs**  
Em raras ocasiões, é possível que a entrega de AWS WAF registros fique abaixo de 100%, com os registros entregues com base no melhor esforço. A AWS WAF arquitetura prioriza a segurança de seus aplicativos acima de todas as outras considerações. Em algumas situações, como quando os fluxos de registro em log sofrem controle de utilização de tráfego, isso pode resultar no descarte de registros. Isso não deve afetar mais do que alguns registros. Se você notar a ausência de diversas entradas de log, entre em contato com o [AWS Support Center](https://console.aws.amazon.com/support/home#/).

Na configuração de registro do seu pacote de proteção (Web ACL), você pode personalizar o que é AWS WAF enviado para os registros.
+ **Redação de campo**: você pode editar os seguintes campos dos registros de log para as regras que usam as configurações de correspondência correspondentes: **caminho do URI**, **string de consulta**, **cabeçalho único** e **método HTTP**. Os campos editados são exibidos como `REDACTED` nos logs. Por exemplo, se você editar o campo **String de consulta**, nos logs, ele será listado como `REDACTED` para todas as regras que usam a configuração de componente de correspondência **String de consulta**. A edição se aplica somente ao componente de solicitação que você especifica para correspondência na regra, portanto, a edição do componente **Cabeçalho único** não se aplica às regras que correspondem em **Cabeçalhos**. Para obter uma lista de campos de log, consulte [Campos do log para tráfego do pacote de proteção (ACL da Web)](logging-fields.md).
**nota**  
Essa configuração não impacta na amostragem da solicitação. Você pode excluir campos da amostragem de solicitações configurando a proteção de dados do pacote de proteção (ACL da Web) ou desabilitando a amostragem para o pacote de proteção (ACL da Web). 
+ **Filtragem de log**: você pode adicionar filtros para especificar quais solicitações da web são mantidas nos logs e quais são removidas. Você filtra as configurações que AWS WAF se aplicam durante a avaliação da solicitação da web. Você pode filtrar nas seguintes configurações: 
  + **Rótulos totalmente qualificados**: rótulos totalmente qualificados têm um prefixo, namespaces opcionais e nome de rótulo. O prefixo identifica o grupo de regras ou o contexto do pacote de proteção (ACL da Web) da regra que adicionou o rótulo. Para obter informações sobre rótulos, consulte [Rotulagem de solicitações da Web em AWS WAF](waf-labels.md).
  + **Ação de regra**: você pode filtrar por qualquer configuração de ação de regra normal e também pela opção de substituição antiga `EXCLUDED_AS_COUNT` para regras de grupos de regras. Para informações sobre as configurações de ações de regra, consulte [Usando ações de regras em AWS WAF](waf-rule-action.md). Para obter informações sobre substituições de ações de regras atuais e antigas para regras de grupos de regras, consulte [Substituindo ações do grupo de regras em AWS WAF](web-acl-rule-group-override-options.md). 
    + Os filtros normais de ação de regra se aplicam às ações configuradas nas regras e também às ações configuradas usando a opção atual para substituir uma ação de regra do grupo de regras. 
    + O filtro de log `EXCLUDED_AS_COUNT` se sobrepõe ao filtro de log de ação `Count`. `EXCLUDED_AS_COUNT` filtra as opções atuais e antigas para substituir uma ação de regra de grupo de regras para Count. 

# Campos do log para tráfego do pacote de proteção (ACL da Web)
<a name="logging-fields"></a>

A lista a seguir descreve os possíveis campos dos registros em log. 

**action**  
A ação de encerramento AWS WAF aplicada à solicitação. Isso indica permissão, bloqueio, CAPTCHA ou desafio. As ações CAPTCHA e Challenge são encerradas quando a solicitação da web não contém um token válido.

**args**  
A string de consulta.

**captchaResponse**  
O status da ação CAPTCHA da solicitação, preenchido quando uma ação CAPTCHA é aplicada à solicitação. Esse campo é preenchido para qualquer ação CAPTCHA, seja ela de encerramento ou não. Se uma solicitação tiver a ação CAPTCHA aplicada várias vezes, esse campo será preenchido a partir da última vez em que a ação foi aplicada.   
A ação CAPTCHA encerra a inspeção da solicitação da web quando a solicitação não inclui um token ou o token é inválido ou expirou. Se a ação CAPTCHA estiver sendo encerrada, esse campo incluirá um código de resposta e um motivo da falha. Se a ação não for finalizada, esse campo incluirá um timestamp de resolução. Para diferenciar entre uma ação de encerramento e uma ação de não encerramento, você pode filtrar por um atributo `failureReason` não vazio nesse campo.

**cfDistributionTenantIdentificação**  
O identificador do inquilino de CloudFront distribuição associado à solicitação da web. Esse campo é opcional e se aplica somente aos pacotes de proteção (web ACLs) associados aos locatários CloudFront de distribuição.

**challengeResponse**  
O status da ação de desafio da solicitação, preenchido quando uma ação Challenge é aplicada à solicitação. Esse campo é preenchido para qualquer ação Challenge, seja ela de encerramento ou não. Se uma solicitação tiver a ação Challenge aplicada várias vezes, esse campo será preenchido a partir da última vez em que a ação foi aplicada.   
A ação Challenge encerra a inspeção da solicitação da web quando a solicitação não inclui um token ou o token é inválido ou expirou. Se a ação Challenge estiver sendo encerrada, esse campo incluirá um código de resposta e um motivo da falha. Se a ação não for finalizada, esse campo incluirá um timestamp de resolução. Para diferenciar entre uma ação de encerramento e uma ação de não encerramento, você pode filtrar por um atributo `failureReason` não vazio nesse campo.

**clientAsn**  
O número de sistema autônomo (ASN) associado ao endereço IP da origem da solicitação da Web.  
**ClientASN** é registrado nos AWS WAF registros somente quando uma instrução de correspondência de ASN é usada. Caso contrário, esse campo é será registrado em log.

**clientIp**  
O endereço IP do cliente que está enviando a solicitação.

**país**  
O país de origem da solicitação. Se não AWS WAF for possível determinar o país de origem, ele definirá esse campo como`-`. 

**país**  
O país de origem da solicitação. Se não AWS WAF for possível determinar o país de origem, ele definirá esse campo como`-`. 

**excludedRules**  
Usado somente para regras de grupo de regras. A lista de regras no grupo de regras que você excluiu. A ação para essas regras é definida como Count.   
Se você substituir uma regra para contar usando a opção de ação de substituição da regra, as correspondências não serão listadas aqui. Elas estão listadas como pares de ação `action` e `overriddenAction`.    
exclusionType  
Um tipo que indica que a regra excluída tem a ação Count.  
ruleId  
O ID da regra no grupo de regras que foi excluída.

**formatVersion**  
A versão do formato do log.

**forwardedAsn**  
O número de sistema autônomo (ASN) associado ao endereço IP da entidade que encaminhou a solicitação da Web.

**headers**  
A lista de cabeçalhos.

**httpMethod**  
O método HTTP na solicitação.

**httpRequest**  
Os metadados sobre a solicitação.

**httpSourceId**  
O identificador do recurso associado:   
+ Para uma CloudFront distribuição da Amazon, o ID está `distribution-id` na sintaxe do ARN: 

  `arn:partitioncloudfront::account-id:distribution/distribution-id` 
+ Para um Application Load Balancer, o ID é o `load-balancer-id` na sintaxe do ARN: 

  `arn:partition:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id`
+ Para uma API REST do Amazon API Gateway, o ID é o `api-id` na sintaxe do ARN: 

  `arn:partition:apigateway:region::/restapis/api-id/stages/stage-name`
+ Para uma API do AWS AppSync GraphQL, o ID está `GraphQLApiId` na sintaxe do ARN: 

  `arn:partition:appsync:region:account-id:apis/GraphQLApiId`
+ Para um grupo de usuários do Amazon Cognito, o ID é o `user-pool-id` na sintaxe do ARN: 

  `arn:partition:cognito-idp:region:account-id:userpool/user-pool-id`
+ Para um AWS App Runner serviço, o ID está `apprunner-service-id` na sintaxe do ARN: 

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

**httpSourceName**  
A origem da solicitação. Valores possíveis: `CF` para Amazon CloudFront, `APIGW` Amazon API Gateway, `ALB` Application Load Balancer, `APPSYNC` Amazon Cognito AWS AppSync`APPRUNNER`, `COGNITOIDP` App Runner e Verified Access. `VERIFIED_ACCESS`

**httpVersion**  
A versão HTTP.

**ja3Fingerprint**  
A JA3 impressão digital da solicitação.  
JA3 a inspeção de impressão digital está disponível somente para CloudFront distribuições da Amazon e Application Load Balancers.
A JA3 impressão digital é um hash de 32 caracteres derivado do TLS Client Hello de uma solicitação recebida. Essa impressão digital serve como um identificador exclusivo para a configuração TLS do cliente. AWS WAF calcula e registra essa impressão digital para cada solicitação que tenha informações suficientes do TLS Client Hello para o cálculo.   
Você fornece esse valor ao configurar uma correspondência de JA3 impressão digital nas regras do pacote de proteção (Web ACL). Para obter informações sobre como criar uma correspondência com a JA3 impressão digital, consulte [JA3 impressão digital](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-ja3-fingerprint) [Solicitar componentes em AWS WAF](waf-rule-statement-fields-list.md) para obter uma declaração de regra.

**ja4Fingerprint**  
A JA4 impressão digital da solicitação.  
JA4 a inspeção de impressão digital está disponível somente para CloudFront distribuições da Amazon e Application Load Balancers.
A JA4 impressão digital é um hash de 36 caracteres derivado do TLS Client Hello de uma solicitação recebida. Essa impressão digital serve como um identificador exclusivo para a configuração TLS do cliente. AWS WAF calcula e registra essa impressão digital para cada solicitação que tenha informações suficientes do TLS Client Hello para o cálculo.   
Você fornece esse valor ao configurar uma correspondência de JA4 impressão digital nas regras do pacote de proteção (Web ACL). Para obter informações sobre como criar uma correspondência com a JA4 impressão digital, consulte [JA4 impressão digital](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-ja4-fingerprint) [Solicitar componentes em AWS WAF](waf-rule-statement-fields-list.md) para obter uma declaração de regra.

**rótulos**  
Os rótulos na solicitação da web. Esses rótulos foram aplicados por regras usadas para avaliar a solicitação. AWS WAF registra os primeiros 100 rótulos. 

**nonTerminatingMatchingRegras**  
A lista de regras que não são de encerramento que correspondem à solicitação. Cada item na lista contém as seguintes informações.     
action  
A ação AWS WAF aplicada à solicitação. Isso indica contagem, CAPTCHA ou desafio. O CAPTCHA e o Challenge são de não encerramento quando a solicitação da web contém um token válido.  
ruleId  
O ID da regra que correspondeu à solicitação e que não era de encerramento.   
ruleMatchDetails  
Informações detalhadas sobre a regra que correspondeu à solicitação. Isso é preenchido somente para instruções de regra de correspondência de injeção de SQL e cross-site scripting (XSS). Uma regra de correspondência pode exigir uma correspondência para mais de um critério de inspeção, portanto, esses detalhes da correspondência são fornecidos como uma matriz de critérios de correspondência. 
Qualquer informação adicional fornecida para cada regra varia de acordo com fatores como a configuração da regra, o tipo de correspondência da regra e os detalhes da correspondência. Por exemplo, para regras com uma ação CAPTCHA ou Challenge, o `captchaResponse` ou `challengeResponse` será listado. Se a regra correspondente estiver em um grupo de regras e você tiver substituído a ação de regra configurada, a ação configurada será fornecida em `overriddenAction`. 

**oversizeFields**  
A lista de campos na solicitação da web que foram inspecionados pelo pacote de proteção (ACL da web) e que estão acima do limite de AWS WAF inspeção. Se um campo for muito grande, mas o pacote de proteção (ACL da Web) não o inspecionar, ele não será listado aqui.   
Essa lista pode conter zero ou mais dos seguintes valores: `REQUEST_BODY`, `REQUEST_JSON_BODY`, `REQUEST_HEADERS` e `REQUEST_COOKIES`. Para saber mais sobre os campos de tamanho acima do limite, consulte [Componentes de solicitação da web de tamanho grande em AWS WAF](waf-oversize-request-components.md).

**rateBasedRuleLista**  
A lista de regras baseadas em taxas que agiram na solicitação. Para obter mais informações sobre regras baseadas em intervalos, consulte [Usando declarações de regras baseadas em taxas em AWS WAF](waf-rule-statement-type-rate-based.md).    
rateBasedRuleIdentificação  
O ID da regra baseada em taxa que agiu na solicitação. Se isso encerrou a solicitação, o ID para `rateBasedRuleId` será o mesmo que o ID para `terminatingRuleId`.  
rateBasedRuleNome  
O ID da regra baseada em intervalos que agiu na solicitação.   
limitKey  
O tipo de agregação que a regra está usando. Os valores possíveis são `IP` para a origem da solicitação da web, `FORWARDED_IP` para um IP encaminhado em um cabeçalho na solicitação, `CUSTOMKEYS` para configurações personalizadas de chave agregada e `CONSTANT` para contar todas as solicitações juntas, sem agregação.   
limitValue  
Usado somente quando o intervalo é limitado por um único tipo de endereço IP. Se uma solicitação contiver um endereço IP que não seja válido, o `limitvalue` é `INVALID`.  
maxRateAllowed  
O número máximo de solicitações permitidas na janela de tempo especificada para uma instância de agregação específica. A instância de agregação é definida pelo `limitKey` mais quaisquer especificações de chave adicionais que você forneceu na configuração da regra baseada em intervalos.   
evaluationWindowSec  
A quantidade de tempo AWS WAF incluída em sua solicitação é contabilizada, em segundos.   
customValues  
Valores exclusivos identificados pela regra baseada em intervalos na solicitação. Para valores de string, os registros imprimem os primeiros 32 caracteres do valor da string. Dependendo do tipo de chave, esses valores podem ser apenas para uma chave, como para o método HTTP ou string de consulta, ou podem ser para uma chave e um nome, como para o cabeçalho e o nome do cabeçalho. 

**requestHeadersInserted**  
A lista de cabeçalhos inseridos para tratamento personalizado de solicitações.

**requestId**  
O ID da solicitação, que é gerado pelo serviço de host subjacente. Para o Application Load Balancer, esse é o ID de rastreamento. Para todos os outros, esse é o ID da solicitação. 

**responseCodeSent**  
O código de resposta enviado com uma resposta personalizada.

**ruleGroupId**  
O ID do grupo de regras. Se a regra bloqueou a solicitação, o ID para `ruleGroupID` será o mesmo que o ID para `terminatingRuleId`. 

**ruleGroupList**  
A lista de grupos de regras que agiram nessa solicitação, com informações de correspondência.

**terminatingRule**  
O tipo de regra que encerrou a solicitação. Se estiver presente, ele contém as seguintes informações.     
action  
A ação de encerramento AWS WAF aplicada à solicitação. Isso indica permissão, bloqueio, CAPTCHA ou desafio. As ações CAPTCHA e Challenge são encerradas quando a solicitação da web não contém um token válido.  
ruleId  
A ID da regra que corresponde à solicitação.   
ruleMatchDetails  
Informações detalhadas sobre a regra que correspondeu à solicitação. Isso é preenchido somente para instruções de regra de correspondência de injeção de SQL e cross-site scripting (XSS). Uma regra de correspondência pode exigir uma correspondência para mais de um critério de inspeção, portanto, esses detalhes da correspondência são fornecidos como uma matriz de critérios de correspondência. 
Qualquer informação adicional fornecida para cada regra varia de acordo com fatores como a configuração da regra, o tipo de correspondência da regra e os detalhes da correspondência. Por exemplo, para regras com uma ação CAPTCHA ou Challenge, o `captchaResponse` ou `challengeResponse` será listado. Se a regra correspondente estiver em um grupo de regras e você tiver substituído a ação de regra configurada, a ação configurada será fornecida em `overriddenAction`. 

**terminatingRuleId**  
O ID da regra que encerrou a solicitação. Se nada encerrar a solicitação, o valor será `Default_Action`.

**terminatingRuleMatchDetalhes**  
Informações detalhadas sobre a regra de encerramento que correspondeu à solicitação. Uma regra de encerramento tem uma ação que encerra o processo de inspeção em relação a uma solicitação da Web. As ações possíveis para uma regra de rescisão incluem Allow, Block, CAPTCHA e Challenge. Durante a inspeção de uma solicitação da web, na primeira regra que corresponda à solicitação e que tenha uma ação de encerramento, AWS WAF interrompe a inspeção e aplica a ação. A solicitação da web pode conter outras ameaças, além da que é relatada no log da regra de encerramento correspondente.  
Isso é preenchido somente para instruções de regra de correspondência de injeção de SQL e cross-site scripting (XSS). A regra de correspondência pode exigir uma correspondência para mais de um critério de inspeção, portanto, esses detalhes da correspondência são fornecidos como uma matriz de critérios de correspondência. 

**terminatingRuleType**  
O tipo de regra que encerrou a solicitação. Valores possíveis: RATE\$1BASED, REGULAR, GROUP e MANAGED\$1RULE\$1GROUP.

**timestamp**  
O timestamp em milissegundos.

**uri**  
O URI da solicitação. 

**fragment**  
A parte de uma URL que vem depois do símbolo “\$1”, fornecendo informações adicionais sobre o recurso, por exemplo, \$1section2.

**webaclId**  
O GUID do pacote de proteção (ACL da Web).

# Exemplos de log para tráfego do pacote de proteção (ACL da Web)
<a name="logging-examples"></a>

Esta seção fornece exemplos de registro em log de tráfego do pacote de proteção (ACL da Web).

**Example Regra baseada em intervalos 1: configuração da regra com uma chave, definida como `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 Regra baseada em intervalos 1: entrada de log para solicitação bloqueada pela regra baseada em intervalos**  

```
{
   "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 Regra baseada em intervalos 2: configuração de regras com duas chaves, definidas como `Header:dogname` e `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 Regra baseada em intervalos 2: entrada de log para solicitação bloqueada pela regra baseada em intervalos**  

```
{
   "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 Saída de log para uma regra que foi acionada na SQLi detecção (encerramento)**  

```
{
    "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 Saída de log para uma regra que foi acionada na SQLi detecção (sem encerramento)**  

```
{
    "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 Saída de log para várias regras acionadas dentro de um grupo de regras (RuleA-XSS é de encerramento e Rule-B é de não encerramento)**  

```
{
    "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 Saída de log para uma regra que foi acionada para a inspeção de corpo da solicitação com o tipo de conteúdo JSON**  
AWS WAF atualmente relata a localização da inspeção corporal JSON como`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 Saída de log para uma regra CAPTCHA em relação a uma solicitação da web com um token CAPTCHA válido e não expirado**  
A lista de logs a seguir é para uma solicitação da web que correspondeu a uma regra com uma ação CAPTCHA. A solicitação da web tem um token CAPTCHA válido e não expirado e só é anotada como uma correspondência de CAPTCHA por AWS WAF, semelhante ao comportamento da ação. Count Essa correspondência de CAPTCHA está indicada em `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 Saída de log para uma regra CAPTCHA em relação a uma solicitação da web que não tem um token CAPTCHA**  
A lista de logs a seguir é para uma solicitação da web que correspondeu a uma regra com uma ação CAPTCHA. A solicitação da web não tinha um token CAPTCHA e foi bloqueada por. 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"
  }
}
```