27,5. Authentification et autorisation dans les API avec API Gateway et Lambda : utilisation de jetons JWT pour l'authentification et l'autorisation

L'authentification et l'autorisation sont des éléments fondamentaux de toute application. Ils garantissent que l'utilisateur est bien celui qu'il prétend être (authentification) et qu'il a la permission de faire ce qu'il essaie de faire (autorisation). Dans le contexte des API REST, cela est particulièrement important car ces API sont souvent exposées sur Internet et constituent donc des cibles potentielles d'abus.

Une manière courante d'implémenter l'authentification et l'autorisation dans les API REST consiste à utiliser des jetons JWT (JSON Web Tokens). JWT est un standard ouvert qui définit un moyen compact et indépendant de transmettre des informations entre les parties sous forme d'objet JSON. Ces informations peuvent être vérifiées et fiables car elles sont signées numériquement. Les JWT peuvent être signés à l'aide d'un secret (avec l'algorithme HMAC) ou d'une paire de clés publique/privée utilisant RSA ou ECDSA.

Dans un scénario typique, l'utilisateur s'authentifie en fournissant des informations d'identification, telles qu'un nom d'utilisateur et un mot de passe. Si les informations d'identification sont correctes, le serveur génère un jeton JWT et le renvoie au client. Le client inclut ensuite ce jeton dans chaque requête ultérieure adressée au serveur. Le serveur vérifie le token et, s'il est valide, traite la requête. Si le jeton n'est pas valide (par exemple, s'il a expiré), le serveur rejette la demande.

Authentification et autorisation avec API Gateway et Lambda

AWS API Gateway et AWS Lambda sont deux services puissants qui peuvent être utilisés pour créer et héberger des API REST. Ils prennent également en charge l'authentification et l'autorisation à l'aide de jetons JWT.

API Gateway peut être configurée pour exiger un jeton JWT pour certaines routes. Cela se fait à l'aide d'une fonctionnalité appelée « Autorisateurs de jetons JWT ». Un autorisateur de jeton JWT est une fonction Lambda qui reçoit un jeton JWT, vérifie sa validité et renvoie une politique d'accès qui spécifie les actions que le détenteur du jeton est autorisé à effectuer.

Voici un exemple de la façon dont cela pourrait fonctionner :

  1. Le client s'authentifie en fournissant ses informations d'identification.
  2. Le serveur vérifie les informations d'identification et, si elles sont correctes, génère un jeton JWT et le renvoie au client.
  3. Le client inclut le jeton JWT dans chaque requête ultérieure adressée au serveur.
  4. API Gateway reçoit la requête et extrait le jeton JWT.
  5. API Gateway appelle la fonction Lambda JWT Token Authorizer, en transmettant le jeton JWT comme argument.
  6. La fonction Lambda vérifie la validité du jeton JWT. Si le jeton est valide, la fonction Lambda renvoie une politique d'accès qui spécifie les actions que le détenteur du jeton est autorisé à effectuer.
  7. API Gateway vérifie la stratégie d'accès renvoyée par la fonction Lambda. Si la stratégie autorise l'action demandée, API Gateway traite la demande. Si la stratégie n'autorise pas l'action demandée, API Gateway rejette la demande.

Ce processus garantit que seuls les utilisateurs authentifiés disposant des autorisations appropriées peuvent accéder à vos API REST.

Conclusion

L'authentification et l'autorisation sont des éléments fondamentaux de toute application et l'utilisation de jetons JWT est un moyen efficace d'implémenter ces fonctionnalités dans les API REST. AWS API Gateway et AWS Lambda offrent une prise en charge robuste de l'authentification et de l'autorisation à l'aide de jetons JWT, ce qui en fait un excellent choix pour développer des API REST sécurisées.

Répondez maintenant à l’exercice sur le contenu :

Quel est le rôle de l'autorisateur de jetons JWT dans l'authentification et l'autorisation avec API Gateway et Lambda ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Image de l'article Authentification et autorisation dans les API avec API Gateway et Lambda : configuration des politiques de sécurité dans API Gateway 135

Page suivante de lebook gratuit :

Authentification et autorisation dans les API avec API Gateway et Lambda : configuration des politiques de sécurité dans API Gateway

Temps de lecture estimé : 0 minutes

Téléchargez l'application pour obtenir une certification gratuite et écouter des cours en arrière-plan, même avec l'écran éteint.

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte