

# API Gateway의 REST API를 사용하여 API 키 설정
<a name="api-gateway-setup-api-keys"></a>

API 키를 설정하려면 다음 작업을 수행합니다.
+ API 메서드를 구성해 API 키를 요구합니다.
+ 리전의 API에 대해 API 키를 생성하거나 가져옵니다.

API 키를 설정하기 전에 API를 생성하여 단계에 배포해야 합니다. API 키 값을 생성한 후에는 변경할 수 없습니다.

API Gateway 콘솔을 사용하여 API를 생성하고 배포하는 방법에 대한 지침은 각각 [API Gateway에서 REST API 개발](rest-api-develop.md) 및 [API Gateway에서 REST API 배포](how-to-deploy-api.md) 단원을 참조하세요.

API 키를 만든 후에는 이를 사용량 계획에 연결해야 합니다. 자세한 내용은 [API Gateway의 REST API 사용량 계획 설정](api-gateway-create-usage-plans.md) 섹션을 참조하세요.

**참고**  
고려해야 할 모범 사례는 [API 키 및 사용량 계획의 위한 모범 사례](api-gateway-api-usage-plans.md#apigateway-usage-plans-best-practices) 섹션을 참조하세요.

**Topics**
+ [메서드에서 API 키 한 개 요구](#api-gateway-usage-plan-configure-apikey-on-method)
+ [API 키 생성](#api-gateway-usage-plan-create-apikey)
+ [API 키 가져오기](#api-gateway-usage-pan-import-apikey)

## 메서드에서 API 키 한 개 요구
<a name="api-gateway-usage-plan-configure-apikey-on-method"></a>

다음 절차에서는 API 키를 요구하도록 API 메서드를 구성하는 방법에 대해 설명합니다.

------
#### [ AWS Management Console ]

**API 메서드를 구성해 API 키를 요구하려면**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway)에서 API Gateway 콘솔에 로그인합니다.

1. REST API를 선택합니다.

1. API Gateway 기본 탐색 창에서 **리소스**를 선택합니다.

1. **리소스**에서 새 메서드를 생성하거나 기존 메서드를 선택합니다.

1. **메서드 요청** 탭의 **메서드 요청 설정**에서 **편집**을 선택합니다.  
![\[메소드에 API 키 추가\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/api-gateway-new-console-add-key-to-method.png)

1. **API 키가 필요함**을 선택합니다.

1. **저장**을 선택합니다.

1. API를 배포하거나 다시 배포하여 요구 사항을 적용합니다.

**API 키가 필요함** 옵션이 `false`로 설정되어 있고 이전 단계를 실행하지 않는 경우, API 단계와 연결된 어떤 API 키도 해당 메서드에 사용되지 않습니다.

------
#### [ AWS CLI ]

다음 [put-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html) 명령은 API 키가 필요한 `PUT` 메서드를 만듭니다.

```
aws apigateway put-method \
    --rest-api-id 1234123412 \
    --resource-id a1b2c3 \
    --http-method PUT \
    --authorization-type "NONE" \
    --api-key-required
```

다음 [update-method](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-method.html) 명령은 API 키가 필요하도록 기존 메서드를 업데이트합니다.

```
aws apigateway update-method \
    --rest-api-id 1234123412 \
    --resource-id a1b2c3 \
    --http-method PUT \
    --patch-operations op="replace",path="/apiKeyRequired",value="true"
```

------
#### [ REST API ]

메서드에서 API 키를 요구하려면 다음 중 하나를 실시합니다.
+ [https://docs.aws.amazon.com/apigateway/latest/api/API_PutMethod.html](https://docs.aws.amazon.com/apigateway/latest/api/API_PutMethod.html)을 호출하여 메서드를 생성합니다. 요청 페이로드에서 `apiKeyRequired`를 `true`로 설정합니다.
+ [https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateMethod.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateMethod.html)를 호출하여 `apiKeyRequired`를 `true`로 설정합니다.

------

## API 키 생성
<a name="api-gateway-usage-plan-create-apikey"></a>

다음 절차는 API 키를 생성하는 방법을 보여줍니다. API 키를 가져오려면 이 단계를 건너뜁니다.

------
#### [ AWS Management Console ]

**API 키를 생성하려면**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway)에서 API Gateway 콘솔에 로그인합니다.

1. REST API를 선택합니다.

1. API Gateway 기본 탐색 창에서 **API 키**를 선택합니다.

1. **API 키 생성**을 선택합니다.  
![\[사용량 계획을 위한 API 키 생성\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/api-gateway-new-console-usage-plan-keys-choose-create-api-key-from-actions-menu.png)

1. **이름**에 이름을 입력합니다.

1. (선택 사항) **설명**에 설명을 입력합니다.

1. **API 키**의 경우 **자동 생성**을 선택하여 API Gateway가 키 값을 생성하도록 하거나 **사용자 지정**을 선택하여 자체 키 값을 생성합니다.

1. **저장**을 선택합니다.

------
#### [ AWS CLI ]

다음 [create-api-key](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-api-key.html) 명령은 API 매핑을 생성합니다.

```
 aws apigateway create-api-key \
    --name 'Dev API key' \
    --description 'API key for Devs' \
    --enabled
```

------
#### [ REST API ]

[https://docs.aws.amazon.com/apigateway/latest/api/API_CreateApiKey.html](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateApiKey.html)를 호출하여 API 키를 생성합니다.

------

## API 키 가져오기
<a name="api-gateway-usage-pan-import-apikey"></a>

다음 절차에서는 API 키를 가져오는 방법을 설명합니다. API 키를 이미 생성한 경우 이 단계를 건너뜁니다.

------
#### [ AWS Management Console ]

**API 키를 가져오려면**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway)에서 API Gateway 콘솔에 로그인합니다.

1. REST API를 선택합니다.

1. 기본 탐색 창에서 **API 키**를 선택합니다.

1. **작업** 드롭다운 메뉴를 선택한 다음 **API 키 가져오기**를 선택합니다.

1. 쉼표로 구분된 키 파일을 로드하려면 **파일 선택**을 선택합니다. 텍스트 편집기에 키를 입력할 수도 있습니다. 파일 형식에 대한 자세한 내용은 [API Gateway API 키 파일 형식](api-key-file-format.md)을 참조하세요.

1. **경고 실패**를 선택해 오류 발생 시 가져오기를 중단하거나 **경고 무시**를 선택해 오류 발생 시에도 유효한 키 항목을 계속 가져옵니다.

1. API 키를 가져오려면 **가져오기**를 선택합니다.

------
#### [ AWS CLI ]

다음 [import-api-keys](https://docs.aws.amazon.com/cli/latest/reference/apigateway/import-api-keys.html) 명령은 API 키를 가져옵니다.

```
aws apigateway import-api-key \
    a--body fileb://keys.csv \
    --format csv
```

------
#### [ REST API ]

[https://docs.aws.amazon.com/apigateway/latest/api/API_ImportApiKeys.html](https://docs.aws.amazon.com/apigateway/latest/api/API_ImportApiKeys.html)를 호출하여 파일에서 API 키를 가져옵니다. 파일 형식은 [API Gateway API 키 파일 형식](api-key-file-format.md) 단원을 참조하세요.

------

새 API 키의 값은 변경할 수 없습니다. API를 생성한 후 사용량 계획을 구성합니다. 자세한 내용은 [API Gateway의 REST API 사용량 계획 설정](api-gateway-create-usage-plans.md) 섹션을 참조하세요.