Authentifier une API à l'aide d'une clé API

Avant de commencer

  • Assurez-vous que vous disposez des privilèges fonctionnels Manage APIs ou Activate / Deactivate APIs. Si vous êtes administrateur, vous devez avoir ce privilège.
  • Postman est installé dans votre système, ou vous pouvez utiliser la version web de Postman

A propos de cette tâche

L'exposition des API permet d'afficher la logique de l'application et les données sensibles, ce qui peut constituer un risque pour la sécurité d'une organisation. Sans authentification, les API sont vulnérables à l'accès non autorisé, à l'utilisation abusive et au détournement. Des utilisateurs ou des applications non authentifiés peuvent potentiellement accéder à des données ou à des ressources sensibles, effectuer des actions non autorisées ou surcharger l'API avec des demandes excessives. C'est pourquoi la sécurité de l'API devient un aspect important. L'un des moyens de sécuriser vos API consiste à mettre en œuvre des mécanismes d'authentification qui contrôlent leur exposition au moyen d'informations d'identification de l'utilisateur et de codes d'accès cryptés. Le mécanisme d'authentification fonctionne comme un gardien qui n'accorde l'accès qu'aux utilisateurs authentiques.

Vous pouvez utiliser différentes méthodes d'authentification de l'API telles que HTTP basic authentication, API key authentication, OAuth 2.0 authentication, JWT authentication. Le choix de la méthode d'authentification appropriée pour une API donnée dépend du niveau de sécurité nécessaire pour valider les clients et de la facilité de mise en œuvre.

Par exemple, l'authentification de base HTTP fonctionne bien pour restreindre l'accès du public aux données et aux ressources à faible risque, mais nécessite toujours un niveau minimum de contrôles de sécurité. L'authentification par clé API fonctionne bien dans les scénarios où les fournisseurs d'API veulent identifier des clients individuels et réglementer leurs autorisations en tant que n. Les clés d'API conviennent aux demandes d'API simples pour lesquelles vous n'avez pas besoin d'un niveau de sécurité élevé, tandis que les méthodes d'authentification OAuth 2.0 ou JWT offrent un niveau de sécurité plus élevé sous la forme d'une révocation des jetons et de jetons de rafraîchissement.

webMethods API Gateway fournit diverses méthodes d'authentification telles que Basic Auth, API key, OAuth 2.0, OAuth with OpenID, et JWT. L'exemple suivant illustre un scénario d'accès sécurisé aux API à l'aide de l'authentification basée sur la clé API. La méthode d'authentification par clé API utilise des chaînes générées par le système qui consistent en une longue série de lettres ou de chiffres pour créer des paires uniques d'informations d'identification et de jetons d'accès à l'API. Ce code de chiffres appelle des programmes à partir d'une application différente; la clé reconnaît alors le code, son développeur, l'utilisateur et l'application à partir de laquelle l'appel à l'API a été effectué. Lorsque le client authentifie la clé API, le serveur reconnaît son identité et lui permet d'accéder facilement aux données.

La figure illustre le mécanisme d'authentification basé sur la clé API.

authentifier_api

L'exemple suivant illustre les étapes pour sécuriser une API REST, Petstore, avec une clé API et comment utiliser cette clé API pour accéder à l'API.

Procédure

  1. Créer une API REST Petstore.
    1. Ouvrez le menu des options et sélectionnez APIs.
    2. Cliquez sur Créer une API.
    3. Sélectionnez Import API à partir de URL.
    4. Fournissez les informations suivantes :
      • URL- https://petstore.swagger.io/v2/swagger.json
      • Nom : Petstore
      • Version- 1.0
      • Administrateur d'équipe
    5. Cliquez sur Créer. L'API Petstore est créée et la page de détails de l'API Petstore s'affiche.
    6. Cliquez sur Activer pour activer l'API.
  2. Renforcez l'API avec la politique d'identification et d'accès pour configurer le type d'identification en tant que clé API.
    1. Cliquez sur Modifier.
    2. Cliquez sur l'onglet Politiques.
    3. Cliquez sur Identifier et accéder dans la section du catalogue des politiques.
    4. Cliquez sur + pour la politique Identifier et autoriser pour ajouter la politique.
    5. Fournissez les informations suivantes dans la section des propriétés de la politique.
      • Type d'affection - OR
      • Type d'identification - Clé API
      • Condition de recherche d'une application - Applications enregistrées
    6. Cliquez sur Sauvegarder. L'API est maintenant appliquée avec la politique nécessaire.
  3. Créez une application petstore app et associez l'API Petstore à l'application.
    L'ajout de l'API à l'application permet à cette dernière d'accéder à l'API. En tant que développeur d'API, lorsque vous appelez l'API au moment de l'exécution, vous devez fournir la clé d'API pour webMethods API Gateway pour identifier l'application.
    1. Cliquez sur Applications dans la barre de navigation du titre.
    2. Cliquez sur Créer une application.
    3. Fournissez les informations suivantes pour le nom de l' application aspetstore et la version 1.0.
    4. Cliquez sur Continuer à Identificateurs.
    5. Cliquez sur Continuer vers les API.
    6. Tapez le mot-clé " pet" dans le champ de recherche pour trouver l'API petstore et cliquez sur + pour ajouter l'API.
    7. Cliquez sur Sauvegarder. La demande est maintenant enregistrée et la page des détails de la demande s'affiche.
  4. Notez la clé API à utiliser pour accéder à l'API.
  5. Authentifiez-vous et accédez à l' API Petstore en utilisant la clé API. Utilisez l'application Postman pour appeler et accéder à l'API.
    1. Ouvrez Postman.
    2. Dans l'interface utilisateur de Postman, sélectionnez la méthode HTTP comme GET pour récupérer les détails des animaux par statut.
    3. Appeler le point final, http://<host>:<port>/gateway/Petstore/1.0/pet/findByStatus
    4. Dans l'onglet Autorisation, sélectionnez le type Clé API et fournissez les informations suivantes.
      • Clé- x-Gateway-APIKey
      • Valeur - La clé de l'API
      • Ajouter à l' en-tête
    5. Cliquez sur Envoyer. L'API REST est appelée avec succès et renvoie le code d'état 200. La réponse contient les données de recherche demandées.
      Si la clé API n'est pas valide, une erreur doit apparaître lorsque vous accédez à l'API, comme suit, avec le code d'état 401.

Etape suivante

Maintenant que vous avez accédé à l'API en toute sécurité, vous pouvez commencer à l'utiliser.