Saltar al contenido

¿Cómo puedo solucionar los errores 403 «Missing Authentication Token» en el punto de enlace de la API de REST de API Gateway?

3 minutos de lectura
0

He intentado invocar mi API de REST de Amazon API Gateway y he recibido mensajes de error 403 «Missing Authentication Token».

Breve descripción

Los puntos de enalce de la API de REST de API Gateway devuelven errores Missing Authentication Token por los siguientes motivos:

  • La solicitud de API se ha realizado a una operación o recurso que no existe.
  • La solicitud de API no se ha firmado al activar la autenticación de AWS Identity and Access Management (IAM) para la operación de API.
  • Puede que la API se haya configurado con una respuesta de puerta de enlace modificada o que la respuesta provenga de una integración de backend.

Para solucionar otros errores 403 en el caso de API Gateway, consulta ¿Cómo puedo solucionar los errores HTTP 403 de API Gateway?

Resolución

Confirmación de si hay una operación y un recurso configurados en la ruta de recursos de API Gateway

Sigue las instrucciones de Configuración de un método con la consola de API Gateway. Para obtener más información, consulta Configurar recursos de API.

Importante: Para que los cambios surtan efecto, debes implementar la API.

En el caso de las API con integración de recursos de proxy en las que la solicitud se envía al recurso raíz, comprueba que haya una operación configurada en el recurso raíz.

Confirmación de que no se han modificado las respuestas de API Gateway y de que la respuesta no la ha enviado la integración del backend

Asegúrate de que las respuestas de la puerta de enlace no se hayan modificado en la API. Además, cerciórate de que el error no proceda del backend de la integración. Comprueba los registros de ejecución y de backend de API Gateway.

Confirmación de si la solicitud de la API se firma al activar la autenticación de IAM

Para obtener más información, consulta AWS Signature Version 4 para solicitudes de API y Elementos de una firma de solicitud a la API de AWS.

Confirmación de si se ha enviado la solicitud de operación HTTP correcta al punto de enlace de la API de REST

Prueba un punto de enlace de la API de REST desde un navegador web para enviar una solicitud de operación HTTP GET automáticamente.

Para probar una solicitud de operación HTTP POST, utiliza otro cliente HTTP distinto. Por ejemplo, utiliza Postman en el sitio web de Postman o curl en el sitio web de curl.

Ejemplo de comando curl que usa la solicitud del método HTTP POST

curl -X POST  API URL -d request body

Ejemplo de envío de una solicitud con encabezado JSON

curl --location -X POST 'https://1234WXYZ.execute-api.your-aws-region.amazonaws.com/stage/lambda_proxy' --header 'Content-Type: application/json' --data-raw '{"x":"y"}'

Ejemplos de envío de una solicitud POST de curl con autenticación de firma de AWS V4

curl -X POST "ENDPOINT" -d data --user AWS_ACCESS_KEY:AWS_SECRET_KEY --aws-sigv4 "aws:amz:AWS_REGION:AWS_SERVICE"
curl -X POST "https://1234WXYZ.execute-api.us-east-1.amazonaws.com/stage/lambda_proxy" -d '{"x":"y"}' --user ABCD:1234 --aws-sigv4 "aws:amz:your-aws-region:execute-api"

Información relacionada

How do I activate IAM authentication for API Gateway REST APIs?