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

Si nous fournissons une traduction de la version anglaise du guide, la version anglaise du guide aura préséance en cas de contradiction. La traduction sera une traduction automatique.

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 plus d'informations, consultez les sections Utilisation de jetons avec des groupes d'utilisateurs et Serveur de ressources et règles 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, le kit SDK ou l'API pour créer un groupe d'utilisateurs — ou utilisez-en un appartenant à un autre compte AWS.

  • Utilisez la console API Gateway, l'interface de ligne de commande, le kit SDK ou l'API pour créer un mécanisme d'autorisation API Gateway avec le groupe d'utilisateurs choisi.

  • Utilisez la console API Gateway l'interface de ligne de commande ou le 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 l'interface de ligne de commande Amazon Cognito, le kit SDK ou l'API pour ajouter un utilisateur dans le groupe d'utilisateurs choisi et obtenir un jeton d'identité ou un jeton d'accès.

  • Utilisez une infrastructure 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 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.