Accès aux ressources avec API Gateway après la connexion - Amazon Cognito

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.

Accès aux ressources avec API Gateway après la connexion

Les jetons des groupes d'utilisateurs Amazon Cognito sont couramment utilisés pour autoriser les demandes adressées à une API REST API Gateway. Les portées OAuth 2.0 des jetons d'accès peuvent autoriser une méthode et un chemin, comme HTTP GET pour/app_assets. Les jetons d'identification peuvent servir d'authentification générique à une API et peuvent transmettre les attributs utilisateur au service principal. API Gateway propose des options d'autorisation personnalisées supplémentaires, telles que les autorisateurs JWT pour HTTP et les autorisateurs APIs Lambda qui peuvent appliquer une logique plus fine.

Le schéma suivant illustre une application qui accède à une API REST avec les étendues OAuth 2.0 d'un jeton d'accès.

Schéma de flux d'une application qui s'authentifie auprès d'un groupe d'utilisateurs Amazon Cognito et autorise l'accès aux ressources d'API avec Amazon API Gateway.

Votre application doit collecter les jetons provenant de sessions authentifiées et les ajouter en tant que jetons porteurs à un Authorization en-tête de la demande. Configurez l'autorisateur que vous avez configuré pour l'API, le chemin et la méthode afin d'évaluer le contenu du jeton. API Gateway renvoie des données uniquement si la demande répond aux conditions que vous avez définies pour votre autorisateur.

L'API API Gateway peut éventuellement approuver l'accès à partir d'une application de différentes manières :

  • Le jeton d'accès est valide, n'a pas expiré et contient la portée OAuth 2.0 correcte. L'autorisateur de groupes d'utilisateurs Amazon Cognito pour une API REST est une implémentation courante avec un faible obstacle à l'entrée. Vous pouvez également évaluer le corps, les paramètres de la chaîne de requête et les en-têtes d'une demande adressée à ce type d'autorisateur.

  • Le jeton d'identification est valide et n'a pas expiré. Lorsque vous transmettez un jeton d'identification à un autorisateur Amazon Cognito, vous pouvez effectuer une validation supplémentaire du contenu du jeton d'identification sur votre serveur d'applications.

  • Un groupe, une réclamation, un attribut ou un rôle dans un jeton d'accès ou d'identification répond aux exigences que vous définissez dans une fonction Lambda. Un autorisateur Lambda analyse le jeton dans l'en-tête de la demande et l'évalue pour une décision d'autorisation. Vous pouvez créer une logique personnalisée dans votre fonction ou envoyer une demande d'API à Amazon Verified Permissions.

Vous pouvez également autoriser les requêtes adressées à une API AWS AppSync GraphQL à l'aide de jetons provenant d'un groupe d'utilisateurs.