Publié le: Jul 30, 2021

Aujourd'hui, nous lançons un moyen flexible et simple pour mettre en œuvre une politique d'autorisation personnalisée avec AWS Lambda pour les appels d'API GraphQL d'AWS AppSync.

AWS AppSync est un service GraphQL géré qui simplifie le développement des applications en vous permettant de créer une API flexible pour accéder à des données, les manipuler et les combiner depuis une ou plusieurs sources de données, et ce en toute sécurité et avec moins d'appels réseau. Avec AWS AppSync, vous créez des API GraphQL avec lesquelles vos applications interagissent via Internet. Bien que les points de terminaison d'API soient publiquement accessibles, ils interdisent systématiquement les accès non autorisés. Une méthode d'autorisation, un jeton dans l'en-tête de la requête ou la signature d'une requête avec des informations d'identification AWS, s'avère toujours requise pour accéder à votre API AppSync. Jusqu'à il y a peu, AppSync offrait quatre modes d'autorisation :

  • Les clés d'API
  • Les groupes d'utilisateurs Amazon Cognito
  • OpenID Connect
  • AWS Identity and Access Management (IAM)

Nous avons ajouté un nouveau mode d'autorisation basé sur AWS Lambda pour les cas d'utilisation ayant des exigences particulières non entièrement satisfaites par les modes d'autorisation existants. Celui-ci vous permet ainsi de mettre en œuvre des stratégies d'autorisation personnalisée pour sécuriser vos API GraphQL.

À chaque fois qu'une requête est envoyée sur AppSync, la fonction Lambda de votre choix reçoit un jeton d'autorisation du client et exécute la politique d'autorisation souhaitée définie par le développeur. AppSync reçoit une charge utile de Lambda après l'invocation, autorise ou refuse l'appel d'API et intègre les données de contexte spécifique pour les appels autorisés de Lambda aux résolveurs GraphQL dans AppSync.

Désormais capable de mettre en œuvre une politique d'autorisation personnalisée avec AWS Lambda, AppSync offre la flexibilité nécessaire pour répondre à toutes vos exigences d'autorisation. Vous pouvez combiner et faire correspondre l'autorisation basée sur AWS Lambda avec l'ensemble des modes d'autorisation AppSync existants dans une seule API et lier des fournisseurs d'autorisation spécifiques à des types, champs ou opérations dans le schéma GraphQL.

Les mécanismes d'autorisation Lambda sont actuellement disponibles dans toutes les régions AWS où AppSync est proposé. Pour en savoir plus, consultez cet article de blog et la documentation AppSync.