Contrôle de l'accès à une API REST à l'aide de groupes d'utilisateurs Amazon Cognito en tant que mécanisme d'autorisation - Amazon API Gateway

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Contrôle de l'accès à une API REST à l'aide de groupes d'utilisateurs Amazon Cognito en tant que mécanisme d'autorisation

Au lieu d'utiliser des rôles et stratégies IAM ou des mécanismes d'autorisation Lambda (anciennement appelés mécanismes d'autorisation personnalisée), vous pouvez utiliser un groupe d'utilisateurs Amazon Cognito pour contrôler les personnes pouvant accéder à votre API dans Amazon API Gateway.

Pour utiliser un groupe d'utilisateurs Amazon Cognito avec votre API, vous devez d'abord créer un mécanisme d'autorisation de type COGNITO_USER_POOLS, puis configurer une méthode d'API permettant d'utiliser ce mécanisme d'autorisation. Une fois l'API déployée, le client doit d'abord connecter l'utilisateur au groupe d'utilisateurs, obtenir une identité ou un jeton d'accès pour l'utilisateur, puis appeler la méthode API avec l'un des jetons, qui sont généralement définis sur l'en-tête Authorization de la demande. L'appel d'API réussit uniquement si le jeton requis est fourni et qu'il est valide. Dans le cas contraire, le client n'est pas autorisé à effectuer l'appel, il ne dispose pas des informations d'identification qui peuvent être autorisées.

Le jeton d'identité est utilisé pour autoriser les appels d'API en fonction des requêtes d'identité de l'utilisateur connecté. Le jeton d'accès est utilisé pour autoriser les appels d'API en fonction des règles personnalisées des ressources protégées par un accès spécifié. Pour de plus amples informations, veuillez consulter Utilisation des jetons avec les groupes d'utilisateurs et Serveur de ressources et portées personnalisées.

Pour créer et configurer un groupe d'utilisateurs Amazon Cognito pour votre API, exécutez les tâches suivantes :

  • Utilisez la console Amazon Cognito, l'interface de ligne de commande CLI ou le kit SDK, ou encore l'API pour créer un groupe d'utilisateurs, ou utilisez-en un appartenant à un autre compte AWS.

  • Utilisez la console API Gateway, CLI/kit SDK, ou encore l'API pour créer un mécanisme d'autorisation API Gateway avec le groupe d'utilisateurs choisi.

  • Utilisez la console API Gateway, CLI/kit SDK, ou encore l'API pour activer le mécanisme d'autorisation sur les méthodes d'API sélectionnées.

Pour appeler des méthodes d'API avec un groupe d'utilisateurs activé, vos clients d'API effectuent les tâches suivantes :

  • Utilisez CLI/SDK ou l'API Amazon Cognito pour ajouter un utilisateur dans le groupe d'utilisateurs choisi et obtenir un jeton d'identité ou un jeton d'accès. Pour en savoir plus sur l'utilisation des SDK, consultez les Exemples de code pour Amazon Cognito AWS à l'aide des kits SDK .

  • Utilisez un cadre spécifique au client pour appeler l'API API Gateway déployée et fournir le jeton approprié dans l'en-tête Authorization.

En tant que développeur d'API, vous devez fournir à vos développeurs clients l'ID du groupe d'utilisateurs, un ID client et éventuellement les secrets client associés, qui sont définis dans le cadre groupe d'utilisateurs.

Note

Pour permettre à un utilisateur de se connecter avec les informations d'identification Amazon Cognito et d'obtenir également des informations d'identification temporaires à utiliser avec les autorisations d'un rôle IAM, utilisez les identités fédérées Amazon Cognito. Pour chaque méthode HTTP du point de terminaison de ressources d'API, définissez le type d'autorisation, la catégorie Method Execution, sur AWS_IAM.

Dans cette section, nous allons expliquer comment créer un groupe d'utilisateurs, intégrer une API API Gateway au groupe d'utilisateurs et appeler une API intégrée au groupe d'utilisateurs.