# WAF 웹 ACL

## 리소스 유형

`AWS.WAF.WebACL`, `AWS.WAF.Regional.WebACL`

## 리소스 ID 형식

WAF Web ACL의 경우 리소스 ID는 ARN입니다.

`arn:aws:waf::123456789012:webacl/1`

`arn:aws:waf-regional:us-west-2:123456789012:webacl/1`

## 배경

웹 액세스 제어 목록(Web ACL)은 Amazon API Gateway API, Amazon CloudFront 배포 또는 애플리케이션 로드 밸런서가 응답하는 웹 요청을 세밀하게 제어할 수 있게 해줍니다. 글로벌 Web ACL은 CloudFront 및 API Gateway에 적용되고, 리전별(Regional) Web ACL은 로드 밸런서에 적용됩니다.

WAF 리전별(Regional) 및 글로벌(Global) ACL은 동일한 방식으로 표현되며, 구분은 올바른 범위(scope)에 대한 룰을 작성하는 데 도움을 주기 위해 이루어집니다.

## 필드

[WebACL 참조](https://docs.aws.amazon.com/waf/latest/APIReference/API_waf_WebACL.html)

| 을 선택하십시오. 다음 키/값 쌍을 지정하십시오: | 유형    | 설명                                            |
| --------------------------- | ----- | --------------------------------------------- |
| `룰`                         | `목록`  | WebACL이 적용하는 각 룰, 우선순위(정렬) 및 취해진 액션 등을 나열합니다. |
| `DefaultAction`             | `맵`   | 웹 요청을 허용할지 차단할지에 대한 AWS WAF의 기본 동작입니다.        |
| `MetricName`                | `문자열` | 이 WebACL의 메트릭에 대한 친숙한 이름 또는 설명입니다.            |

## 예시

```javascript
{
    "AccountId": "123456789012",
    "Arn": "arn:aws:waf-regional:us-west-2:123456789012:webacl/1",
    "DefaultAction": {
        "Type": "ALLOW"
    },
    "Id": "1",
    "MetricName": "metric-1",
    "Name": "example-web-acl",
    "Region": "us-west-2",
    "ResourceId": "arn:aws:waf-regional:us-west-2:123456789012:webacl/1",
    "ResourceType": "AWS.WAF.Regional.WebACL",
    "Rules": [
        {
            "Action": {
                "Type": "BLOCK"
            },
            "ExcludedRules": null,
            "MetricName": "metric-1",
            "Name": "rule-1",
            "OverrideAction": null,
            "Predicates": [
                {
                    "DataId": "1",
                    "Negated": false,
                    "Type": "XssMatch"
                }
            ],
            "Priority": 2,
            "RuleId": "1",
            "Type": "REGULAR"
        },
        {
            "Action": {
                "Type": "COUNT"
            },
            "ExcludedRules": null,
            "MetricName": "metric-2",
            "Name": "rule-2",
            "OverrideAction": null,
            "Predicates": [
                {
                    "DataId": "2",
                    "Negated": false,
                    "Type": "XssMatch"
                }
            ],
            "Priority": 1,
            "RuleId": "2",
            "Type": "REGULAR"
        }
    ],
    "Tags": null,
    "TimeCreated": null
}
```
