

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

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

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

# AWS WAF 또는 Shield Advanced에 HTTPS 요청
<a name="waf-api-making-requests"></a>

AWS WAF 및 Shield Advanced 요청은 [RFC 2616](https://datatracker.ietf.org/doc/html/rfc2616)에서 정의한 HTTPS 요청입니다. HTTP 요청과 마찬가지로 AWS WAF 또는 Shield Advanced에 대한 요청에는 요청 메서드, URI, 요청 헤더 및 요청 본문이 포함됩니다. 응답에는 HTTP 상태 코드, 응답 헤더, 그리고 때로는 응답 본문이 포함됩니다.

## 요청 URI
<a name="waf-api-making-requests-uri"></a>

요청 URI는 항상 슬래시(`/`)입니다.

## HTTP 헤더
<a name="waf-api-making-requests-header"></a>

AWS WAF 및 Shield Advanced는 HTTP 요청의 헤더에 다음 정보가 필요합니다.

**호스트(필수)**  
리소스가 생성되는 위치를 지정하는 엔드포인트입니다. 엔드포인트에 대한 자세한 내용은 [AWS 서비스 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html)를 참조하세요. 예를 들어 CloudFront 배포에 AWS WAF 대한의 `Host` 헤더 값은 입니다`waf.amazonaws.com:443`.

**x-amz-date 또는 날짜(필수)**  
`Authorization` 헤더에 포함된 서명을 만드는 데 사용되는 날짜입니다. 다음 예와 같이 ISO 8601 표준 형식을 사용하여 UTC 시간으로 날짜를 지정합니다.  

```
x-amz-date: 20151007T174952Z
```
`x-amz-date` 또는 `Date`를 포함시켜야 합니다. 일부 HTTP 클라이언트 라이브러리에서는 `Date` 헤더를 설정할 수 없습니다. `x-amz-date` 헤더가 있으면 요청을 인증할 때 `Date` 헤더를 AWS WAF 무시합니다.  
타임스탬프는 요청이 수신된 AWS 시스템 시간으로부터 15분 이내여야 합니다. 그렇지 않으면 다른 사람이 요청을 재생하는 것을 방지하기 위해 `RequestExpired` 오류 코드와 함께 요청이 실패합니다.

**권한 부여(필수)**  
요청 인증에 필요한 정보. 이 헤더를 구성하는 방법에 대한 자세한 내용은 [요청 인증](authenticating-requests.md)(을)를 참조하세요.

**X-Amz-Target(필수)**  
`AWSWAF_` 또는 `AWSShield_`, 문장 부호 없는 API 버전, 마침표(`.`), 작업 이름을 연결합니다. 예를 들면 다음과 같습니다.  
`AWSWAF_20150824.CreateWebACL`

**Content-Type(조건부)**  
다음 예와 같이 콘텐츠 유형이 JSON 및 JSON의 버전임을 지정합니다.  

```
Content-Type: application/x-amz-json-1.1
```
조건: `POST` 요청에 대해 필수 사항입니다.

**Content-Length(조건부)**  
RFC 2616에 따른 메시지의 길이(헤더 제외).  
조건: 요청 본문 자체에 정보가 포함되어 있는 경우에 필요합니다(대부분의 도구 키트는 이 헤더를 자동으로 추가함).

다음은 AWS WAF에서 보호 팩(웹 ACL)을 생성하기 위한 HTTP 요청의 헤더 예제입니다.

```
POST / HTTP/1.1
Host: waf.amazonaws.com:443
X-Amz-Date: 20151007T174952Z
Authorization: AWS4-HMAC-SHA256 
               Credential=AccessKeyID/20151007/us-east-2/waf/aws4_request,
               SignedHeaders=host;x-amz-date;x-amz-target,
               Signature=145b1567ab3c50d929412f28f52c45dbf1e63ec5c66023d232a539a4afd11fd9
X-Amz-Target: AWSWAF_20150824.CreateWebACL
Accept: */*
Content-Type: application/x-amz-json-1.1; charset=UTF-8
Content-Length: 231
Connection: Keep-Alive
```

## HTTP 요청 본문
<a name="waf-api-making-requests-body"></a>

많은 AWS WAF 및 Shield Advanced API 작업을 수행하려면 요청 본문에 JSON 형식의 데이터를 포함해야 합니다.

다음 예제 요청에서는 간단한 JSON 문을 사용하여 IP 주소 192.0.2.44(CIDR 표기법에서는 192.0.2.44/32로 표시됨)을 포함하도록 `IPSet`(을)를 업데이트합니다.

```
POST / HTTP/1.1
Host: waf.amazonaws.com:443
X-Amz-Date: 20151007T174952Z
Authorization: AWS4-HMAC-SHA256 
               Credential=AccessKeyID/20151007/us-east-2/waf/aws4_request,
               SignedHeaders=host;x-amz-date;x-amz-target,
               Signature=145b1567ab3c50d929412f28f52c45dbf1e63ec5c66023d232a539a4afd11fd9
X-Amz-Target: AWSWAF_20150824.UpdateIPSet
Accept: */*
Content-Type: application/x-amz-json-1.1; charset=UTF-8
Content-Length: 283
Connection: Keep-Alive

{
   "ChangeToken": "d4c4f53b-9c7e-47ce-9140-0ee5ffffffff",
   "IPSetId": "69d4d072-170c-463d-ab82-0643ffffffff",
   "Updates": [
      {
         "Action": "INSERT",
         "IPSetDescriptor": {
            "Type": "IPV4",
            "Value": "192.0.2.44/32"
         }
      }
   ]
}
```