Sécuriser AWS API Gateway à l’aide de Cognito

Au lieu d’utiliser les rôles et les politiques IAM pour sécuriser votre API, vous pouvez le faire en utilisant les groupes d’utilisateurs dans Amazon Cognito.

Veuillez créer les groupes d’utilisateurs Amazon Cognito pertinents avant de commencer ce tutoriel.

Intégrer le groupe d’utilisateurs Cognito à l’API Gateway

Rendez-vous à la Amazon API Gateway Console. Dans la barre de navigation de gauche, sélectionnez l’API SecurePets.

Sélectionnez ensuite Autorisateurs pour l’API SecurePets.

Dans la colonne Autorisateurs, près du centre de l’écran, sélectionnez Créer et indiquez que vous créez un Autorisateur de groupe d’utilisateurs Cognito.

Configurez votre autorisateur en suivant les étapes suivantes :

  1. Choisissez la région Cognito dans laquelle vous avez créé votre groupe d’utilisateurs.

  2. Vous pouvez personnaliser le champ Nom de l’autorisateur(il sera automatiquement renseigné avec le nom du groupe d’utilisateurs choisi si vous le laissez tel quel).

  3. Customize the Identity token source field. By default, this field is set to method.request.header.Authorization, which sets the name of the incoming request header containing the API caller’s identity token to Authorization.

  4. Vous pouvez ajouter une expression régulière au champ Regex de l’identifiant client de l’application pour valider les identifiants des clients associés au groupe d’utilisateurs.

When you’ve finished configuring your authorizer, click Create to integrate the User Pool with your API.

Activer l’autorisateur de groupe d’utilisateurs dans les méthodes

Pour chaque méthode pour laquelle vous souhaitez que le groupe d’utilisateurs joue le rôle d’autorisateur, vous devez autoriser le groupe d’utilisateurs à le faire pour cette méthode particulière.

Pour activer l’autorisateur du groupe d’utilisateurs sur la méthode GET:

  1. Après avoir sélectionné l’API SecurePets, choisissez la méthode GET indiquée sous /pets.

  2. Cliquez sur Requête de méthode.

  3. Sous Paramètres d’autorisation, cliquez sur l’icône de modification à côté du champ Autorisation.

  4. Choisissez le groupe d’utilisateurs Cognito approprié dans la liste. Cliquez sur l’icône du crochet pour enregistrer votre sélection.

Répétez ce processus pour toutes les méthodes supplémentaires pour lesquelles vous souhaitez que le groupe d’utilisateurs Cognito agisse en tant qu’autorisateur (GET et PURCHASE pour /pets, ainsi que POST pour /purchase).