

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

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

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

# AWS WAF 레이블과 일치하는 규칙
<a name="waf-rule-label-match"></a>

이 섹션에서는 레이블 일치 문을 사용하여 웹 요청 레이블을 평가하는 방법을 설명합니다. *레이블*과 일치시키거나(레이블 이름 필요) *네임스페이스*와 일치시킬 수 있습니다(네임스페이스 사양 필요). 레이블 또는 네임스페이스의 경우 사양에 이전 네임스페이스와 접두사를 선택적으로 포함할 수 있습니다. 이 문 유형에 대한 전체적인 내용은 [레이블 일치 규칙 문](waf-rule-statement-type-label-match.md) 섹션을 참조하세요.

레이블의 접두사는 레이블 규칙이 정의된 규칙 그룹 또는 보호 팩(웹 ACL)의 컨텍스트를 정의합니다. 규칙의 레이블 일치 문에서 레이블 또는 네임스페이스 일치 문자열이 접두사를 지정하지 않으면는 레이블 일치 규칙에 접두사를 AWS WAF 사용합니다.
+ 보호 팩(웹 ACL) 내에서 직접 정의된 규칙의 레이블에는 보호 팩(웹 ACL) 컨텍스트를 지정하는 접두사가 있습니다.
+ 규칙 그룹 내 규칙의 레이블에는 규칙 그룹 컨텍스트를 지정하는 접두사가 있습니다. 이 컨텍스트는 사용자 고유의 규칙 그룹일 수도 있고, 사용자 대신 관리되는 규칙 그룹일 수도 있습니다.

이에 대한 자세한 내용은 [의 레이블 구문 및 이름 지정 요구 사항 AWS WAF](waf-rule-label-requirements.md) 아래의 레이블 구문을 참조하세요.

**참고**  
일부 관리형 규칙 그룹은 레이블을 추가합니다. `DescribeManagedRuleGroup`을 호출하여 API를 통해 레이블을 검색할 수 있습니다. 레이블은 응답의 `AvailableLabels` 속성에 나열됩니다.

해당 규칙의 컨텍스트와 다른 컨텍스트에 있는 규칙과 일치시키려면 일치 문자열에 접두사를 입력해야 합니다. 예를 들어, 관리형 규칙 그룹의 규칙에서 추가한 레이블과 일치시키려는 경우 일치 문자열이 규칙 그룹의 접두사와 이어서 추가 일치 기준을 지정하는 레이블 일치 문을 사용하여 보호 팩(웹 ACL)에서 규칙을 추가할 수 있습니다.

레이블 일치 문의 일치 문자열에서 레이블 또는 네임스페이스를 지정합니다.
+ **레이블** - 일치 항목에 대한 레이블 사양은 레이블의 끝 부분으로 이루어집니다. 레이블 이름 바로 앞에 원하는 만큼의 연속 네임스페이스를 포함하고 그 뒤에 이름을 지정할 수 있습니다. 사양을 접두사로 시작하여 정규화된 레이블을 제공할 수도 있습니다.

  예제 사양:
  + `testNS1:testNS2:LabelNameA`
  + `awswaf:managed:aws:managed-rule-set:testNS1:testNS2:LabelNameA`
+ **네임스페이스** - 일치 항목에 대한 네임스페이스 사양은 이름을 제외한 레이블 사양의 연속 하위 집합으로 구성됩니다. 접두사를 포함할 수 있으며 네임스페이스 문자열을 하나 이상 포함할 수 있습니다.

  예제 사양: 
  + `testNS1:testNS2:`
  + `awswaf:managed:aws:managed-rule-set:testNS1:`

# AWS WAF 레이블 일치 예제
<a name="waf-rule-label-match-examples"></a>

이 섹션에서는 레이블 일치 규칙 문에 대한 일치 사양의 예를 제공합니다.

**참고**  
이러한 JSON 목록은 콘솔에서 레이블 일치 사양과 함께 규칙을 보호 팩(웹 ACL)에 추가한 다음 규칙을 편집하고 나서 **규칙 JSON 편집기**로 전환하여 생성했습니다. API 또는 명령줄 인터페이스를 통해 규칙 그룹 또는 보호 팩(웹 ACL)에 대한 JSON을 가져올 수도 있습니다.

**Topics**
+ [

## 로컬 레이블과 일치
](#waf-rule-label-match-examples-local-label)
+ [

## 다른 컨텍스트의 레이블과 일치
](#waf-rule-label-match-examples-label)
+ [

## 관리형 규칙 그룹 레이블과 일치
](#waf-rule-label-match-examples-mgd-rg-label)
+ [

## 로컬 네임스페이스와 일치
](#waf-rule-label-match-examples-local-namespace)
+ [

## 관리형 규칙 그룹 네임스페이스와 일치
](#waf-rule-label-match-examples-mgd-rg-namespace)

## 로컬 레이블과 일치
<a name="waf-rule-label-match-examples-local-label"></a>

다음 JSON 목록은 이 규칙과 동일한 컨텍스트에서 웹 요청에 로컬로 추가된 레이블에 대한 레이블 일치 문을 보여줍니다.

```
Rule: {
    Name: "match_rule",
    Statement: {
        LabelMatchStatement: {
            Scope: "LABEL",
            Key: "header:encoding:utf8"
        }
    },
    RuleLabels: [
        ...generate_more_labels...
    ],
    Action: { Block: {} }
}
```

보호 팩(웹 ACL) `testWebACL`에 대해 정의하는 규칙에서 계정 111122223333에 이 일치 문을 사용하면 다음 레이블과 일치하게 됩니다.

```
awswaf:111122223333:webacl:testWebACL:header:encoding:utf8
```

```
awswaf:111122223333:webacl:testWebACL:testNS1:testNS2:header:encoding:utf8
```

레이블 문자열이 정확히 일치하지 않기 때문에 다음 레이블과 일치하지 않을 수 있습니다.

```
awswaf:111122223333:webacl:testWebACL:header:encoding2:utf8
```

컨텍스트가 동일하지 않아 접두사가 일치하지 않으므로 다음 레이블과 일치하지 않을 수 있습니다. 규칙이 정의된 보호 팩(웹 ACL) `testWebACL`에 `productionRules` 규칙 그룹을 추가한 경우에도 마찬가지입니다.

```
awswaf:111122223333:rulegroup:productionRules:header:encoding:utf8
```

## 다른 컨텍스트의 레이블과 일치
<a name="waf-rule-label-match-examples-label"></a>

다음 JSON 목록은 사용자가 만든 규칙 그룹 내 규칙의 레이블과 일치하는 레이블 일치 규칙을 보여줍니다. 이름이 지정된 규칙 그룹에 속하지 않는 보호 팩(웹 ACL)에서 실행되는 모든 규칙의 사양에는 접두사가 필요합니다. 이 예제 레이블 사양은 정확한 레이블만 일치시킵니다.

```
Rule: {
    Name: "match_rule",
    Statement: {
        LabelMatchStatement: {
            Scope: "LABEL",
            Key: "awswaf:111122223333:rulegroup:testRules:header:encoding:utf8"
        }
    },
    RuleLabels: [
        ...generate_more_labels...
    ],
    Action: { Block: {} }
}
```

## 관리형 규칙 그룹 레이블과 일치
<a name="waf-rule-label-match-examples-mgd-rg-label"></a>

이는 일치 규칙의 레이블이 아닌 다른 컨텍스트의 레이블을 대상으로 일치시키는 특별한 경우입니다. 다음 JSON 목록은 관리형 규칙 그룹 레이블의 레이블 일치 문을 보여줍니다. 이 경우 레이블 일치 문의 키 설정에 지정된 것과 정확히 일치하는 레이블만 일치시킵니다.

```
Rule: {
    Name: "match_rule",
    Statement: {
        LabelMatchStatement: {
            Scope: "LABEL",
            Key: "awswaf:managed:aws:managed-rule-set:header:encoding:utf8"
        }
    },
    RuleLabels: [
        ...generate_more_labels...
    ],
    Action: { Block: {} }
}
```

## 로컬 네임스페이스와 일치
<a name="waf-rule-label-match-examples-local-namespace"></a>

다음 JSON 목록은 로컬 네임스페이스의 레이블 일치 문을 보여줍니다.

```
Rule: {
    Name: "match_rule",
    Statement: {
        LabelMatchStatement: {
            Scope: "NAMESPACE",
            Key: "header:encoding:"
        }
    },
    Labels: [
        ...generate_more_labels...
    ],
    Action: { Block: {} }
}
```

로컬 `Label` 일치와 마찬가지로, 보호 팩(웹 ACL) `testWebACL`에 대해 정의하는 규칙에서 계정 111122223333에 이 문을 사용하면 다음 레이블과 일치하게 됩니다.

```
awswaf:111122223333:webacl:testWebACL:header:encoding:utf8
```

계정이 동일하지 않아 접두사가 일치하지 않으므로 다음 레이블과 일치하지 않을 수 있습니다.

```
awswaf:444455556666:webacl:testWebACL:header:encoding:utf8
```

또한 다음과 같이 접두사가 관리형 규칙 그룹에서 적용한 어떤 레이블과도 일치하지 않습니다.

```
awswaf:managed:aws:managed-rule-set:header:encoding:utf8
```

## 관리형 규칙 그룹 네임스페이스와 일치
<a name="waf-rule-label-match-examples-mgd-rg-namespace"></a>

다음 JSON 목록은 관리형 규칙 그룹 네임스페이스의 레이블 일치 문을 보여줍니다. 소유한 규칙 그룹의 경우 규칙 컨텍스트 외부에 있는 네임스페이스와 일치시키려면 접두사도 제공해야 합니다.

```
Rule: {
    Name: "match_rule",
    Statement: {
        LabelMatchStatement: {
            Scope: "NAMESPACE",
            Key: "awswaf:managed:aws:managed-rule-set:header:"
        }
    },
    RuleLabels: [
        ...generate_more_labels...
    ],
    Action: { Block: {} }
}
```

이 사양은 다음 예제 레이블과 일치합니다.

```
awswaf:managed:aws:managed-rule-set:header:encoding:utf8
```

```
awswaf:managed:aws:managed-rule-set:header:encoding:unicode
```

다음 레이블과는 일치하지 않습니다.

```
awswaf:managed:aws:managed-rule-set:query:badstring
```