Al asociar un plan de uso a una API y habilitar claves de API en los métodos de API, cada solicitud de entrada para la API debe contener una clave de API. API Gateway lee la clave y la compara con las claves del plan de uso. Si hay una coincidencia, API Gateway limita las solicitudes en función del límite de solicitudes y la cuota del plan. De lo contrario, inicia una excepción InvalidKeyParameter
. Como resultado, el intermediario recibe una respuesta 403 Forbidden
.
Su API de API Gateway puede recibir claves de API de una de dos fuentes:
HEADER
-
Distribuye las claves de API a sus clientes y les pide que pasen la clave de API como el encabezado
X-API-Key
de cada solicitud de entrada. AUTHORIZER
-
Hace que un autorizador de Lambda devuelva la clave de API como parte de la respuesta de autorización. Para obtener más información sobre la respuesta de autorización, consulte Salida de un autorizador de Lambda de API Gateway.
nota
Para conocer las prácticas recomendadas a tener en cuenta, consulte Prácticas recomendadas para claves de API y planes de uso.
Para elegir un origen de clave de API para una API a través de la consola de API Gateway
-
Inicie sesión en la consola de API Gateway.
-
Seleccione una API existente o cree una nueva.
-
En el panel de navegación principal, elija Configuración de la API.
-
En la sección Detalles de la API, elija Editar.
-
En Origen de clave de API, seleccione
Header
oAuthorizer
de la lista desplegable. -
Elija Guardar cambios.
El siguiente comando update-rest-api permite actualizar una API para establecer el origen de clave de API en AUTHORIZER
:
aws apigateway update-rest-api --rest-api-id 1234123412 --patch-operations op=replace,path=/apiKeySource,value=AUTHORIZER
Para que el cliente envíe una clave de API, establezca el value
en HEADER
en el comando anterior.
Si desea elegir un origen de clave de API a través de la API de REST de API Gateway, llame a restapi:update
, tal y como se indica a continuación:
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" } ] }
Para que el autorizador devuelva una clave de API, establezca value
en AUTHORIZER
en la entrada patchOperations
anterior.