

**에 대한 새로운 콘솔 환경 소개 AWS WAF**

이제 업데이트된 환경을 사용하여 콘솔의 모든 위치에서 AWS WAF 기능에 액세스할 수 있습니다. 자세한 내용은 [콘솔 작업을 참조하세요](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html).

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# OR 규칙 문
<a name="waf-rule-statement-type-or"></a>

OR 규칙 문은 중첩된 문과 OR 로직을 결합하므로 중첩된 문 중 하나가 매치할 OR 문과 일치해야 합니다. 여기에는 적어도 두 개의 중첩 문이 필요합니다.

예를 들어 특정 국가에서 나온 요청이나 특정 쿼리 문자열이 포함된 요청을 차단하려는 경우에는 OR 문을 생성하고 해당 국가에 대한 지역 일치 문과 쿼리 문자열에 대한 문자열 일치 문을 중첩할 수 있습니다.

대신 특정 국가에서 나오지 *않거나* 특정 쿼리 문자열이 포함된 요청을 차단하려면 이전 OR 문을 수정하여 NOT 문 내부에서 지역 일치 문을 한 수준 낮게 중첩합니다. 콘솔은 한 수준의 중첩만 지원하므로 이러한 수준의 중첩을 위해서는 JSON 서식을 사용해야 합니다.

## 규칙 문 특성
<a name="or-rule-statement-characteristics"></a>

**중첩 가능** – 이러한 문 유형을 중첩할 수 있습니다.

**WCU** – 중첩된 문에 따라 다릅니다.

## 이 규칙 문을 찾을 수 있는 위치
<a name="or-rule-statement-where-to-find"></a>
+ 콘솔의 **규칙 빌더** – **요청의 경우**에서 **최소 하나의 문과 일치(OR)**를 선택한 다음, 중첩된 문을 입력합니다.
+ **API** – [OrStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_OrStatement.html)

**예제**  
다음 목록은 OR를 사용하여 다른 두 명령문을 결합하는 방법을 보여줍니다. 중첩된 명령문 중 하나라도 일치하면 OR 문은 일치하는 것입니다.

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

콘솔 규칙 시각적 편집기를 사용하면 대부분의 중첩 가능한 명령문을 논리적 규칙 문 아래에 중첩할 수 있지만 시각적 편집기를 사용하여 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"
  }
}
```