Publicado en: Jul 30, 2021

Hoy lanzamos una forma flexible y sencilla de implementar una lógica de autorización personalizada con AWS Lambda para las llamadas a la API GraphQL de AWS AppSync.

AWS AppSync es un servicio de GraphQL administrado que simplifica el desarrollo de aplicaciones, ya que permite crear una API flexible para obtener acceso seguro a datos de una o más fuentes de datos con menos llamadas de red. Con AWS AppSync, puede crear API de GraphQL con las que sus aplicaciones interactúan a través de Internet. Aunque los puntos de enlace de la API son de acceso público, nunca permiten el acceso no autorizado. Para acceder a la API de AppSync, siempre se requiere un método de autorización, como un token en el encabezado de la solicitud o la firma de la propia solicitud con las credenciales de AWS. Hasta hace poco, AppSync ofrecía cuatro modos de autorización diferentes:

  • Claves API
  • Grupos de usuarios de Amazon Cognito
  • OpenID Connect
  • AWS Identity and Access Management (IAM)

Hemos agregado un nuevo modo de autorización basado en AWS Lambda para los casos de uso que tienen requisitos específicos que no están totalmente cubiertos por los modos de autorización existentes, lo que le permite implementar estrategias de autorización personalizadas para asegurar las API de GraphQL.

Cada vez que una solicitud llega a AppSync, la función Lambda elegida recibirá un token de autorización del cliente y ejecutará la lógica de autorización deseada definida por el desarrollador. AppSync recibirá una carga de Lambda después de la invocación, permitirá o denegará las llamadas a la API según corresponda, e capturará datos de contexto específicos para las llamadas autorizadas de Lambda en las resoluciones de GraphQL en AppSync.

AppSync ahora cuenta la capacidad de implementar una lógica de autorización personalizada con AWS Lambda, proporcionando así la flexibilidad necesaria para satisfacer todos sus requisitos de autorización. Puede mezclar y combinar la autorización basada en AWS Lambda con cualquiera de los modos de autorización existentes de AppSync en una sola API y vincular proveedores de autorización específicos a tipos, campos u operaciones en el esquema de GraphQL.

Los Autorizadores de Lambda están disponibles actualmente en todas las regiones de AWS en las que AppSync está disponible. Para obtener más detalles, consulte nuestra publicación de blog y la documentación de AppSync.