Comment activer l'authentification IAM pour les API REST API Gateway ?

Dernière mise à jour : 06/10/2021

Je souhaite activer l'authentification AWS Identity and Access Management (IAM) pour accéder à mon API REST Amazon API Gateway (API Gateway). Comment puis-je procéder ?

Brève description

Activez l'authentification IAM pour une méthode d'API dans la console API Gateway. Ensuite, utilisez des politiques IAM et de ressources pour définir les autorisations des utilisateurs de votre API.

Pour plus d'informations sur les différentes fonctions de sécurité disponibles pour API Gateway, consultez Contrôle et gestion de l'accès à une API REST dans API Gateway.

Solution

Activer l'authentification IAM pour votre API REST

1.    Dans la console API Gateway, choisissez le nom de votre API.

2.    Dans le volet Resources (Ressources), choisissez une méthode (par exemple, GET ou POST) pour laquelle vous souhaitez activer l'authentification IAM.

3.    Dans le volet Exécution de la méthode, sélectionnez Demande de méthode.

4.    Sous Settings (Paramètres), pour Authorization (Autorisation), choisissez l'icône de crayon (Edit (Modifier)). Ensuite, choisissez AWS_IAM dans la liste déroulante, puis cliquez sur l'icône de coche (Update (Mettre à jour)).

5.    (Facultatif) Répétez les étapes 2 à 4 pour chaque méthode d'API pour laquelle vous souhaitez activer l'authentification IAM.

6.    Déployez votre API pour que les modifications prennent effet.

7.    Dans le volet Stage Editor (Éditeur d'étape), copiez l'URL d'appel. Vous aurez besoin de l'URL d'appel plus tard pour les tests.

Pour plus d'informations, consultez Configuration d'une méthode à l'aide de la console API Gateway. Obtenez également l'URL d'appel d'une API dans la console API Gateway.

Accorder l'autorisation d'API à un groupe d'utilisateurs IAM

1.    Déterminez les autorisations que vous souhaitez accorder à vos utilisateurs d'API. Pour plus d'informations, consultez Contrôle de l'accès à une API avec des autorisations IAM.

2.    Créez une politique IAM qui inclut les autorisations requises. Pour obtenir des exemples et des conseils de formatage, consultez les sections suivantes :
Contrôle de l'accès pour l'appel d'une API
Exemples de politiques IAM pour les autorisations d'exécution d'API
Exemples de politiques basées sur l'identité Amazon API Gateway
Remarque : pour suivre les instructions de test à la fin de cet article, vous devez autoriser les autorisations d'appel.

3.    Attachez votre politique IAM à un groupe IAM en effectuant l'une des opérations suivantes :
Attacher la politique à un groupe IAM existant.
-ou-
Attacher la politique lors de la création d'un groupe IAM.

Pour plus d'informations, consultez Création et attachement d'une politique à un utilisateur IAM.

Remarque : Il est recommandé d'accorder l'accès au niveau du groupe IAM.

(Facultatif) Configurer une politique de ressources API Gateway

Vous pouvez utiliser des politiques de ressources API Gateway (autorisations basées sur les ressources), ainsi que des politiques IAM (autorisations basées sur l'identité) pour gérer l'accès à votre API. Pour plus d'informations, consultez Authentification et politique de ressources IAM, et Politiques basées sur une identité et politiques basées sur une ressource.

Important : si vous refusez l'accès à votre API avec un type de politique IAM et que vous autorisez l'accès avec un autre type de politique, l'accès est refusé. Pour plus d'informations, consultez les tableaux des résultats de l'évaluation des politiques.

Envoyer une demande pour tester les paramètres d'authentification

Utilisez l'appli Postman pour envoyer une demande à votre ressource d'API à l'aide de la méthode pour laquelle vous avez activé l'authentification IAM.

Remarque : pour authentifier manuellement les demandes envoyées à API Gateway à l'aide d'un autre outil ou environnement, vous devez utiliser le processus de signature Signature Version 4. Pour plus d'informations, consultez Signature des demandes.

1.    Dans Postman, sur l'onglet Authorization (Autorisation), procédez comme suit :
Pour Type, choisissez AWS Signature.
Pour AccessKey et SecretKey, saisissez l'identifiant de la clé d'accès IAM et la clé d'accès secrète d'un utilisateur IAM. L'utilisateur IAM doit appartenir au groupe IAM qui a accès à votre API.

2.    Dans le champ Enter request URL (Saisir l'URL de demande), collez l'URL d'appel de votre API. Si vous avez activé l'authentification IAM sur une méthode pour une ressource d'API, ajoutez le nom de la ressource à la fin de l'URL d'appel.

Remarque : L'URL de demande complète avec le nom de la ressource ressemble à ce qui suit : https://restApiId.execute-api.region.amazonaws.com/stageName/resourceName

Une demande authentifiée avec succès renvoie un code de réponse 200 OK. Une demande non autorisée renvoie le messageMissing Authentication Token (Jeton d'authentification manquant) et le code de réponse 403 Forbidden (403 Interdit).


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?