

**の新しいコンソールエクスペリエンスの紹介 AWS WAF**

更新されたエクスペリエンスを使用して、コンソールの任意の場所で AWS WAF 機能にアクセスできるようになりました。詳細については、[「コンソールの使用](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AND ルールステートメント
<a name="waf-rule-statement-type-and"></a>

AND ルールステートメントは、ネストされたステートメントを論理 AND 演算と組み合わせるため、AND ステートメントが一致するには、ネストされたステートメントがすべて一致する必要があります。これには、1 つ以上のネストされたステートメントが必要です。

## ルールステートメントの特性
<a name="and-rule-statement-characteristics"></a>

**ネスト可能** - このステートメントタイプはネスト可能です。

**WCU** - ネストされたステートメントに応じて異なります。

## このルールステートメントの場所
<a name="and-rule-statement-where-to-find"></a>
+ コンソールの**ルールビルダー** - **[If a request]** (リクエストの状態) で **[matches all the statements (AND)]** (すべてのステートメントに一致する場合 (AND)) を選択してから、ネストされたステートメントに入力します。
+ **API** – [AndStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_AndStatement.html)

## 例
<a name="and-rule-statement-examples"></a>

次のリストは、AND および NOT 論理ルールステートメントを使用して、SQL インジェクション攻撃ステートメントの一致から誤検知を排除する方法を示しています。この例では、誤検知につながるリクエストと一致する 1 バイトの一致ステートメントを記述できるとします。

AND ステートメントは、バイト一致ステートメントと一致せず、SQL インジェクション攻撃ステートメントと一致するリクエストと一致します。

```
{
      "Name": "SQLiExcludeFalsePositives",
      "Priority": 0,
      "Statement": {
        "AndStatement": {
          "Statements": [
            {
              "NotStatement": {
                "Statement": {
                  "ByteMatchStatement": {
                    "SearchString": "string identifying a false positive",
                    "FieldToMatch": {
                      "Body": {
                        "OversizeHandling": "MATCH"
                      }
                    },
                    "TextTransformations": [
                      {
                        "Priority": 0,
                        "Type": "NONE"
                      }
                    ],
                    "PositionalConstraint": "CONTAINS"
                  }
                }
              }
            },
            {
              "SqliMatchStatement": {
                "FieldToMatch": {
                  "Body": {
                    "OversizeHandling": "MATCH"
                  }
                },
                "TextTransformations": [
                  {
                    "Priority": 0,
                    "Type": "NONE"
                  }
                ]
              }
            }
          ]
        }
      },
      "Action": {
        "Block": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "SQLiExcludeFalsePositives"
      }
    }
```

コンソールルールビジュアルエディタを使用して、非論理ステートメントまたは NOT ステートメントを OR または AND ステートメントの下にネストできます。NOT ステートメントのネストは、前の例に示されています。

コンソールルールビジュアルエディタを使用すると、ほとんどのネスト可能なステートメントを、前の例に示したような論理ルールステートメントの下にネストできます。ビジュアルエディタを使用して OR または AND ステートメントをネストすることはできません。このタイプのネストを設定するには、JSON でルールステートメントを指定する必要があります。例えば、次の JSON ルールリストには、AND ステートメント内にネストされた OR ステートメントが含まれています。

```
{
  "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"
  }
}
```