사용량 계획을 API와 연결하고 API 메서드에서 API 키를 활성화할 때 API에 수신되는 모든 요청에는 API 키가 포함되어야 합니다. API Gateway는 이 키를 읽고 사용량 계획에 있는 키와 비교합니다. 일치하는 항목이 있으면 API Gateway는 계획의 요청 한도와 할당량에 따라 요청을 제한합니다. 그렇지 않으면 InvalidKeyParameter
예외가 발생합니다. 그 결과, 호출자는 403 Forbidden
응답을 수신합니다.
API Gateway API는 다음 둘 중 하나의 소스에서 API 키를 수신할 수 있습니다.
HEADER
-
고객에게 API 키를 배포하고 수신되는 각 요청의
X-API-Key
헤더로서 이 API 키를 전달하도록 요청합니다. AUTHORIZER
-
Lambda 권한 부여자가 권한 부여 응답의 일부로 API 키를 반환하도록 할 수 있습니다. 권한 부여 응답에 대한 자세한 내용은 API Gateway Lambda 권한 부여자의 출력 단원을 참조하세요.
참고
고려해야 할 모범 사례는 API 키 및 사용량 계획의 위한 모범 사례 섹션을 참조하세요.
API Gateway 콘솔을 사용하여 API의 API 키 소스를 선택하려면
-
API Gateway 콘솔에 로그인합니다.
-
기존 API를 선택하거나 새 API를 생성합니다.
-
기본 탐색 창에서 API 설정을 선택합니다.
-
API 세부 정보 섹션에서 편집을 선택합니다.
-
API 키 소스의 드롭다운 목록에서
Header
또는Authorizer
를 선택합니다. -
Save changes(변경 사항 저장)를 선택합니다.
다음 update-rest-api 명령은 API 키 소스를 AUTHORIZER
로 설정하도록 API를 업데이트합니다.
aws apigateway update-rest-api --rest-api-id 1234123412 --patch-operations op=replace,path=/apiKeySource,value=AUTHORIZER
클라이언트가 API 키를 제출하도록 하려면 이전의 CLI 명령에서 value
를 HEADER
로 설정합니다.
API Gateway REST API를 사용하여 API의 API 키 소스를 선택하려면 다음과 같이 restapi:update
를 호출합니다.
PATCH /restapis/fugvjdxtri/ HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T205348Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date, Signature={sig4_hash} { "patchOperations" : [ { "op" : "replace", "path" : "/apiKeySource", "value" : "HEADER" } ] }
권한 부여자가 API 키를 반환하도록 하려면 앞의 value
입력에서 AUTHORIZER
를 patchOperations
로 설정합니다.