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

Dernière mise à jour : 19/12/2019

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

Brève description

Activez l'authentification IAM pour une méthode d'API dans la console API Gateway. Ensuite, utilisez les stratégies IAM (ainsi que les stratégies des ressources) pour désigner des autorisations pour les utilisateurs de votre API.

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

Solution

Activer l'authentification IAM pour votre API

  1. Dans la console API Gateway, choisissez le nom de votre API.
  2. Dans le volet Resources 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 Paramètres, pour Autorisation, sélectionnez l'icône en forme de crayon (Modifier). Sélectionnez AWS_IAM dans le menu déroulant, puis l'icône en forme de coche (Mettre à jour).
  5. (Facultatif) Répétez les étapes 2 à 4 pour chaque méthode d'API supplémentaire pour laquelle vous souhaitez activer l'authentification IAM.
  6. Déployez votre API pour que les modifications prennent effet.
  7. Dans le volet Éditeur d'étapes, notez l'URL d'appel que vous devrez utiliser ultérieurement pour les tests.

Pour plus d'informations, consultez les sections Configurer une méthode à l'aide de la console API Gateway et Obtenir 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. Par exemple, vous pouvez accorder des autorisations afin que les utilisateurs puissent uniquement appeler votre API, ou vous pouvez accorder des autorisations qui permettent aux utilisateurs de créer et de gérer des API dans votre compte AWS. Pour plus d'informations, consultez la section Contrôler l'accès à une API avec des autorisations IAM.
  2. Créez un document de stratégie IAM qui dispose des autorisations requises. Pour obtenir des exemples et des conseils de mise en forme, consultez les sections suivantes :
    Contrôler l'accès pour l'appel d'une API
    Exemples de stratégies IAM pour les autorisations d'exécution d'API
    Exemples de stratégies IAM pour la gestion des API API Gateway
    Remarque : pour suivre les instructions de test à la fin de cet article, vous devez autoriser les autorisations d'appel.
  3. Attachez votre stratégie IAM à un groupe IAM en effectuant l'une des opérations suivantes :
    Attacher la stratégie à un groupe IAM existant
    Attacher la stratégie lors de la création d'un nouveau groupe IAM

Pour plus d'informations, consultez la section Création et attachement d'une stratégie à un utilisateur IAM.

Remarque : vous pouvez accorder l'accès aux API à des utilisateurs IAM au cas par cas, mais nous vous recommandons d'accorder l'accès au niveau du groupe IAM.

(Facultatif) Configurer une stratégie de ressources API Gateway

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

Remarque : si vous refusez l'accès à votre API avec une stratégie de ressources et autorisez l'accès avec une stratégie IAM (ou vice versa), l'accès est toujours refusé. Veillez à concevoir votre structure d'autorisations de manière à ce que ces fonctions de sécurité fonctionnent ensemble comme prévu pour votre cas d'utilisation. Pour plus d'informations, consultez les Tableaux des résultats de l'évaluation des stratégies.

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

À titre de test, utilisez l'application Postman pour envoyer une demande à votre ressource d'API via la méthode (par exemple, GET ou POST) 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 la section Signature des demandes dans la documentation de référence d'API REST API Gateway.

  1. Dans Postman, sous l'onglet Authorization, procédez comme suit :
    Pour Type, sélectionnez Signature AWS.
    Pour AccessKey et SecretKey, saisissez l'ID de clé d'accès IAM et la clé d'accès secrète d'un utilisateur IAM qui se trouve dans le groupe IAM ayant accès à votre API.
  2. Dans le champ URL (Saisir l'URL de demande), collez l'URL d'appel que vous avez notée précédemment. Si vous avez activé l'authentification IAM sur une méthode pour une ressource d'API particulière, ajoutez le nom de la ressource à la fin de l'URL d'appel. L'URL de demande complète avec le nom de ressource ressemble à ceci :
    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 erreur de requête non autorisée renvoie le message « Missing Authentication Token » (« Jeton d'authentification manquant ») et un code de réponse 403 Forbidden (403 Interdit).


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

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?