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

Lecture de 4 minute(s)
0

Je souhaite activer une authentification Gestion des identités et des accès AWS (AWS IAM) pour accéder à mon API REST Amazon API Gateway (API Gateway). Comment faire ?

Brève description

Activez l’authentification IAM pour une méthode d’API dans la console API Gateway. Utilisez ensuite les politiques IAM et les politiques de ressources pour attribuer des autorisations aux utilisateurs de votre API.

Pour en savoir plus sur les différentes fonctionnalités de sécurité disponibles pour API Gateway, consultez la page Contrôle et gestion de l’accès à une API REST dans API Gateway.

Résolution

Activation de l’authentification IAM pour votre API

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

2.    Dans le volet Ressources, choisissez la méthode (telle que GET ou POST) pour laquelle vous souhaitez activer l’authentification IAM.

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

4.    Sous Paramètres, dans Autorisation, choisissez l’icône en forme de crayon (Modifier). Choisissez ensuite AWS_IAM dans la liste déroulante, puis cliquez sur l’icône en forme de coche (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, copiez l’**URL d’invocation.**Vous l’utiliserez ultérieurement à des fins de test.

Pour en savoir plus, consultez les pages Configuration d’une méthode à l’aide de la console API Gateway et Obtention de l’URL d’invocation d’une API dans la console API Gateway.

Octroi d’une autorisation d’accès à l’API à un groupe d’utilisateurs IAM

1.    Déterminez les autorisations que vous souhaitez accorder aux utilisateurs de l’API. Pour en savoir plus, consultez la page 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 mise en forme, consultez les pages suivantes :
Contrôle de l’accès pour invoquer 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 pouvoir suivre les instructions de test à la fin de cet article, vous devez autoriser les autorisations d’invocation.

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

Pour en savoir plus, consultez la page Créer et attacher une politique à un utilisateur IAM.

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

(Facultatif) Configuration d’une politique de ressources API Gateway

Vous pouvez également utiliser les politiques de ressources API Gateway (autorisations basées sur les ressources) ainsi que les politiques IAM (autorisations basées sur l’identité) pour gérer l’accès à votre API. Pour en savoir plus, consultez les pages Politique de ressources et d’authentification IAM et Politiques basées sur l’identité et politiques basées sur les ressources.

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 sera refusé. Pour en savoir plus, consultez la page Tableaux des résultats d’évaluation de politiques.

Envoi d’une demande pour tester les paramètres d’authentification

Utilisez l’application Postman afin d’envoyer une demande à votre ressource d’API en utilisant 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 de Signature Version 4. Pour en savoir plus, consultez la page Signatures des demandes.

1.    Dans Postman, dans l’onglet Authorization, procédez comme suit :
Dans Type, choisissez AWS Signature.
Pour AccessKey et SecretKey, saisissez l’ID de clé d’accès IAM et la clé d’accès secret d’un utilisateur IAM. Cet utilisateur IAM doit appartenir au groupe IAM ayant accès à votre API.

2.    Dans le champ Enter request URL, collez l’URL d’invocation de votre API. Si vous avez activé l’authentification IAM sur une méthode pour une ressource d’API spécifique, vous devez ajouter le nom de la ressource à la fin de l’URL d’invocation.

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 renvoie un code de réponse 200 OK. Une demande non autorisée renvoie le message Jeton d’authentification manquant et un code de réponse 403 Forbidden.


Informations connexes

Comment les politiques de ressources API Gateway affectent le flux de travail d’autorisation