

**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á.

# Instrução de regra do OR
<a name="waf-rule-statement-type-or"></a>

A instrução de regra OR combina instruções aninhadas com a lógica OR, portanto, uma das instruções aninhadas deve corresponder para que a instrução OR corresponda. Isso requer pelo menos duas instruções aninhadas. 

Por exemplo, se você deseja bloquear solicitações que vêm de um país específico ou que contêm uma string de consulta específica, você pode criar uma instrução OR e aninhar nela uma instrução de correspondência geográfica para o país e uma instrução de correspondência de string para a string de consulta. 

Se, em vez disso, você deseja bloquear solicitações que *não* vêm de um país específico ou que contêm uma string de consulta específica, você modificaria a instrução OR anterior para aninhar a instrução de correspondência geográfica um nível inferior, dentro de uma instrução NOT. Esse nível de aninhamento requer que você use a formatação JSON, pois o console suporta apenas um nível de aninhamento.

## Características das instruções de regras
<a name="or-rule-statement-characteristics"></a>

**Aninhável**: você pode aninhar esse tipo de instrução. 

**WCUs**— Depende das declarações aninhadas.

## Onde encontrar essa instrução de regra
<a name="or-rule-statement-where-to-find"></a>
+ **Criador de regras** no console: para **Se uma solicitação**, escolha **corresponder a pelo menos uma das instruções (OR)**, e preencha as instruções aninhadas. 
+ **API**: [OrStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_OrStatement.html)

**Exemplos**  
A lista a seguir mostra o uso de OR para combinar duas outras instruções. A instrução OR é compatível se alguma das instruções aninhadas corresponder. 

```
{
  "Name": "neitherOfTwo",
  "Priority": 1,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "neitherOfTwo"
  },
  "Statement": {
    "OrStatement": {
      "Statements": [
        {
          "GeoMatchStatement": {
            "CountryCodes": [
              "CA"
            ]
          }
        },
        {
          "IPSetReferenceStatement": {
            "ARN": "arn:aws:wafv2:us-east-1:111111111111:regional/ipset/test-ip-set-22222222/33333333-4444-5555-6666-777777777777"
          }
        }
      ]
    }
  }
}
```

Usando o editor visual de regras do console, você pode agrupar a maioria das instruções aninháveis em uma instrução de regra lógica, mas não pode usar o editor visual para aninhar instruções OR ou AND. Para configurar esse tipo de aninhamento, você precisa fornecer sua instrução de regra em JSON. Por exemplo, a lista de regras JSON a seguir inclui uma instrução OR aninhada dentro de uma instrução AND. 

```
{
  "Name": "match_rule",
  "Priority": 0,
  "Statement": {
    "AndStatement": {
      "Statements": [
        {
          "LabelMatchStatement": {
            "Scope": "LABEL",
            "Key": "awswaf:managed:aws:bot-control:bot:category:monitoring"
          }
        },
        {
          "NotStatement": {
            "Statement": {
              "LabelMatchStatement": {
                "Scope": "LABEL",
                "Key": "awswaf:managed:aws:bot-control:bot:name:pingdom"
              }
            }
          }
        },
        {
          "OrStatement": {
            "Statements": [
              {
                "GeoMatchStatement": {
                  "CountryCodes": [
                    "JM",
                    "JP"
                  ]
                }
              },
              {
                "ByteMatchStatement": {
                  "SearchString": "JCountryString",
                  "FieldToMatch": {
                    "Body": {}
                  },
                  "TextTransformations": [
                    {
                      "Priority": 0,
                      "Type": "NONE"
                    }
                  ],
                  "PositionalConstraint": "CONTAINS"
                }
              }
            ]
          }
        }
      ]
    }
  },
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "match_rule"
  }
}
```