Saltar al contenido

¿Cómo activo la autenticación de IAM para las API de REST de API Gateway?

4 minutos de lectura
0

Quiero activar la autenticación de AWS Identity and Access Management (IAM) para acceder a mi API de REST de Amazon API Gateway (API Gateway).

Descripción corta

Active la autenticación de IAM para un método de API en la consola de API Gateway. A continuación, use las políticas de IAM y las políticas de recursos para designar los permisos para los usuarios de la API.

Para obtener más información sobre las diferentes características de seguridad disponibles para API Gateway, consulte Controlling and managing access to a REST API in API Gateway.

Resolución

Activación de la autenticación de IAM para la API de REST

  1. En la consola de API Gateway, elija el nombre de su API.
  2. En el panel Recursos, elija un método (como GET o POST) para el que quiera activar la autenticación de IAM.
  3. En el panel Ejecución de método, seleccione Solicitud de método.
  4. En Configuración, para Autorización, elija el icono del lápiz (Editar). A continuación, seleccione AWS_IAM en la lista desplegable y, a continuación, seleccione el icono de la marca de verificación (Actualizar).
  5. (Opcional) Repita los pasos 2 a 4 para cada método de API para el que quiera activar la autenticación de IAM.
  6. Despliegue su API para que los cambios surtan efecto.
  7. En el panel Stage Editor, copie la URL de invocación. Usará la URL de invocación más adelante para las pruebas.

Para obtener más información, consulte Configurar un método mediante la consola de API Gateway. Consulte también Obtain an API's invoke URL in the API Gateway console.

Concesión de autorización de API a un grupo de usuarios de IAM

  1. Determine los permisos que desea que tengan los usuarios de la API. Para obtener más información, consulte Control del acceso a una API con permisos de IAM.
  2. Cree una política de IAM que incluya los permisos necesarios. Para ver ejemplos e instrucciones de formato, consulte lo siguiente:
    Control de acceso para invocar una API
    Ejemplos de políticas de IAM para permisos de ejecución de API
    Ejemplos de políticas basadas en identidad de Amazon API Gateway
    Nota: Para completar las instrucciones de prueba que aparecen al final de este artículo, debe aceptar los permisos de invocación.
  3. Adjunte su política de IAM a un grupo de IAM mediante una de las siguientes acciones:
    Adjunte la política a un grupo de IAM existente
    Alternativa:
    Adjunte la política al crear un nuevo grupo de IAM.

Para obtener más información, consulte Create and attach a policy to an IAM User.

Nota: Es una práctica recomendada conceder el acceso en el nivel de grupo de IAM.

(Opcional) Configurar una política de recursos de API Gateway

También puede usar las políticas de recursos de API Gateway (permisos basados en recursos) junto con las políticas de IAM (permisos basados en la identidad) para administrar el acceso a su API. Para obtener más información, consulte IAM authentication and resource policy y Políticas basadas en identidad y políticas basadas en recursos.

Importante: Si deniega el acceso a su API con un tipo de política de IAM y permite el acceso con otro tipo de política, se denegará el acceso. Para obtener más información, consulte Policy evaluation outcome tables.

Enviar una solicitud para probar la configuración de autenticación

Use la aplicación Postman para enviar una solicitud a su recurso de API mediante el método para el que activó la autenticación de IAM.

Nota: Para autenticar manualmente las solicitudes que se envían a API Gateway con otra herramienta o entorno, utilice el proceso de firma Signature Version 4. Para obtener más información, consulte Firma de solicitudes.

  1. En Postman, en la pestaña Autorización, haga lo siguiente:
    En Tipo, elija **AWS Signature.
    **Para AccessKey y SecretKey, introduzca el ID de la clave de acceso de IAM y la clave de acceso secreta de un usuario de IAM. El usuario de IAM debe estar en el grupo de IAM que tiene acceso a su API.
  2. En el campo Introducir la URL de la solicitud, pegue la URL de invocación de la API. Si ha activado la autenticación de IAM en un método para un recurso de API concreto, añada el nombre del recurso al final de la URL de invocación.

Nota: La URL de solicitud completa con el nombre del recurso tiene el siguiente aspecto: https://restApiId.execute-api.region.amazonaws.com/stageName/resourceName

Una solicitud autenticada devuelve el código de respuesta 200 OK. Una solicitud no autorizada devuelve el mensaje Falta el token de autenticación y el código de respuesta 403 prohibido.

Información relacionada

How API Gateway resource policies affect authorization workflow