Passer au contenu principal
Au lieu d’utiliser des rôles et des politiques IAM pour sécuriser votre API, vous pouvez le faire à l’aide des groupes d’utilisateurs d’Amazon Cognito. Veuillez créer les groupes d’utilisateurs Amazon Cognito appropriés avant de commencer ce tutoriel.

Intégrer le Cognito User Pool à l’API d’API Gateway

Accédez à la console Amazon API Gateway. Dans le volet de navigation de gauche, sélectionnez l’API SecurePets. Ensuite, sélectionnez Authorizers pour l’API SecurePets. Dans la colonne Authorizers, près du centre de l’écran, choisissez Create et indiquez que vous créez un Cognito User Pool Authorizer. Pour configurer votre autorisateur :
  1. Choisissez la région Cognito dans laquelle vous avez créé votre User Pool.
  2. Personnalisez le champ Authorizer name, au besoin (il sera automatiquement rempli avec le nom du User Pool sélectionné; vous pouvez donc le laisser tel quel).
  3. Personnalisez le champ Identity token source. Par défaut, ce champ est défini sur method.request.header.Authorization, ce qui attribue à Authorization le nom de l’en-tête de requête entrant qui contient le jeton d’identité de l’appelant de l’API.
  4. Au besoin, ajoutez une expression régulière au champ App client ID regex pour valider les ID client associés au User Pool.
Lorsque vous avez terminé de configurer votre autorisateur, cliquez sur Create pour intégrer le User Pool à votre API.

Activez l’autorisateur User Pool sur les méthodes

Pour chaque méthode pour laquelle vous voulez que le User Pool serve d’autorisateur, vous devez l’activer pour cette méthode en particulier. Pour activer l’autorisateur User Pool sur la méthode GET :
  1. Après avoir sélectionné l’API SecurePets, sélectionnez la méthode GET affichée sous /pets.
  2. Cliquez sur Method Request.
  3. Sous Paramètres d’autorisation, cliquez sur l’icône de modification à côté du champ Authorization.
  4. Dans la liste, choisissez l’autorisateur Cognito User Pool approprié. Cliquez sur l’icône de coche pour enregistrer votre sélection.
Répétez cette procédure pour toute autre méthode pour laquelle vous voulez que le Cognito User Pool serve d’autorisateur (GET et PURCHASE pour /pets, ainsi que POST pour /purchase).