La seguridad es una parte crucial de cualquier aplicación y cuando hablamos de API, no es diferente. La autorización en API Gateway es una parte vital para garantizar que solo los usuarios autorizados tengan acceso a los recursos de API. En este capítulo, exploraremos en profundidad la seguridad en API Gateway, centrándonos en la autorización.
¿Qué es la autorización en API Gateway?
La autorización en API Gateway es el proceso de determinar qué puede hacer un usuario autenticado. Por ejemplo, un usuario autenticado podría tener permiso para crear, leer, actualizar y eliminar recursos (CRUD) en una API, mientras que otro usuario podría tener solo permisos de lectura.
AWS API Gateway ofrece varias opciones para el control de acceso, incluida AWS Identity and Access Management (IAM), autorizadores Lambda (anteriormente conocidos como autorizadores personalizados) y grupos de usuarios de Amazon Cognito.
Autorización con AWS IAM
AWS IAM es un servicio que le ayuda a controlar el acceso a los recursos de AWS. Con IAM, puede crear y administrar usuarios y grupos de AWS, y utilizar permisos para permitir o denegar el acceso a los recursos de AWS.
Para utilizar IAM con API Gateway, primero debe crear una política de IAM que otorgue permisos para invocar operaciones de API. Luego, asocia esta política a un usuario, grupo o rol de IAM. Cuando un cliente realiza una llamada API, API Gateway verifica que la persona que llama tenga las credenciales requeridas y que la política de IAM asociada permita la llamada.
Autorización con autorizadores Lambda
Los autorizadores Lambda son funciones Lambda que usted crea para controlar el acceso a sus API. Cuando un cliente realiza una solicitud a una API con un autorizador Lambda, el autorizador Lambda ejecuta la lógica de autorización que usted definió para determinar si la persona que llama está autorizada para invocar. la API.
Los autorizadores de Lambda devuelven políticas de autorización que utiliza API Gateway para permitir o denegar el acceso a la API. Puede crear autorizadores Lambda que autoricen el acceso en función de tokens de identidad (por ejemplo, un token JWT emitido por un proveedor de identidad), o puede crear autorizadores Lambda que autoricen el acceso en función de solicitudes de autorización personalizadas. p>
Autorización con grupos de usuarios de Amazon Cognito
Amazon Cognito User Pools es un servicio que le ayuda a administrar los usuarios y sus autenticaciones. Con los grupos de usuarios, puede crear un directorio de usuarios para su aplicación, permitir que los usuarios se registren e inicien sesión y recuperar tokens para los usuarios.
Para utilizar grupos de usuarios con API Gateway, primero debe crear un grupo de usuarios y configurar API Gateway para utilizar el grupo de usuarios como autorizador. Cuando un cliente realiza una llamada API, API Gateway verifica que el token del usuario sea válido y que el usuario esté autorizado para realizar la llamada.
Conclusión
En resumen, la autorización en API Gateway es una parte esencial de la seguridad de API. Ya sea que utilice IAM, autorizadores Lambda o grupos de usuarios, es importante que configure correctamente la autorización para proteger sus recursos API. Recuerde que la seguridad es un aspecto continuo del desarrollo de software y debe considerarse en cada etapa del ciclo de vida del desarrollo.