Application d'exigences de sécurité à une API

Pour faire appliquer des exigences de sécurité à une API, appliquez des composants de schéma de sécurité créés précédemment qui définissent différents aspects de la configuration de la sécurité d'API.

A propos de cette tâche

Remarque :
  • Cette tâche concerne la configuration d'une définition d'API OpenAPI 3.0. Pour plus de détails sur la configuration d'une définition d'API OpenAPI 2.0 , voir Edition d'une définition d'API OpenAPI 2.0.
  • Les API OpenAPI 3.0 sont prises en charge uniquement avec le DataPower® API Gatewayet non avec le DataPower Gateway (v5 compatible).
  • Pour plus de détails sur les limitations actuelles de la prise en charge d' OpenAPI 3.0 , voir Prise en charge d'OpenAPI 3.0 dans IBM® API Connect.

Vous pouvez effectuer cette tâche soit à l'aide de l'application d'interface utilisateur API Designer , soit à l'aide de l'interface utilisateur API Manager basée sur un navigateur.

Pour plus d'informations sur la création et la configuration des composants du schéma de sécurité, consultez la section « Définition des composants du schéma de sécurité ».

Les restrictions qui s'appliquent lorsque vous appliquez des schémas de sécurité à une API sont les suivantes :
  • Vous ne pouvez pas appliquer plus de deux schémas de sécurité de clé d'API à une API.
  • Si vous appliquez un schéma de sécurité de clé d'API à la valeur confidentielle client, vous devez également appliquer un schéma de sécurité de clé d'API à l'ID client.
  • Si vous avez besoin que le développeur d'applications fournisse à la fois l'ID client et la valeur confidentielle client, vous devez appliquer deux schémas de sécurité de clé d'API distincts.
  • Vous ne pouvez disposer que d'un schéma de clé d'API de type ID client, que l'ID client soit envoyé dans l'en-tête de requête ou comme paramètre de requête.
  • Vous ne pouvez disposer que d'un schéma de clé d'API de type valeur confidentielle client, que la valeur confidentielle client soit envoyée dans l'en-tête de requête ou comme paramètre de requête.
  • Vous ne pouvez pas appliquer plusieurs schémas de sécurité de base à une API. Si vous appliquez un schéma de sécurité de base, vous ne pouvez pas appliquer en même temps un schéma de sécurité OAuth.
  • Vous ne pouvez pas appliquer plus d'une définition de sécurité OAuth à une API.

Une exigence de sécurité spécifie un ou plusieurs composants de schéma de sécurité dont les conditions doivent toutes être satisfaites pour que l'appel de l'API réussisse. Vous pouvez définir plusieurs exigences de sécurité. Dans ce cas, une application peut appeler votre API si elle satisfait l'une des exigences de sécurité que vous avez définies.

À tout moment, vous pouvez accéder directement au fichier YAML source d' OpenAPI en cliquant sur l'icône Source OpenAPI Icône Source. Pour revenir au formulaire de conception, cliquez sur l'icône Formulaire Icône de formulaire.

Procédure

  1. Ouvrez l'API à des fins d'édition, comme décrit dans Edition d'une définition d'API OpenAPI 3.0.
  2. Développez Général.
  3. Pour créer une nouvelle exigence de sécurité pour l'API, procédez comme suit :
    1. Cliquez sur l'icône « Ajouter OpenAPI 3.0 Icône d'ajout d'API » située à côté de « Sécurité » dans le volet de navigation.
    2. Sélectionnez les schémas de sécurité à inclure dans cette exigence de sécurité. Les schémas de sécurité répertoriés sont ceux qui ont été définis dans les composants de schéma de sécurité; voir « Définition des composants de schéma de sécurité ».

      Si le schéma de sécurité sélectionné est de type « OAuth2 », sélectionnez les domaines requis; les domaines disponibles à la sélection sont ceux qui ont été spécifiés dans le composant du schéma de sécurité; pour plus d'informations, consultez la section « Définition des composants du schéma de sécurité « OAuth2 ».

      Si vous appliquez le schéma de sécurité OAuth2 à une API qui est imposée par le DataPower API Gateway, vous devez uniquement sélectionner des champs d'application si la vérification avancée des champs d'application après la génération de jetons n'est pas activée dans le fournisseur natif OAuth associé au schéma de sécurité. Si une portée par défaut a été définie dans le fournisseur d' OAuth s natif et que la requête API ne contient aucune portée, la portée par défaut est utilisée. Pour plus d'informations, consultez la section Configuration des portées pour un fournisseur d' OAuth s natif.

      Remarque : l'exigence supplémentaire suivante s'applique aux schémas de sécurité qui seront utilisés avec un fournisseur tiers d' OAuth. Si vous sélectionnez un schéma de sécurité OAuth pour protéger une API de consommateur, vous devez également inclure un schéma de sécurité de clé d'API, car X-IBM-Client-Id ou client_id doit être inclus dans les données d'identification de sécurité pour que les paramètres de configuration de plan appropriés puissent être appliqués.
    3. Cliquez sur Créer. Les sélections de schéma de sécurité sont affichées. Vous pouvez les modifier à nouveau avant de les sauvegarder.
    4. Cliquez sur Soumettre lorsque vous avez terminé.
  4. Pour modifier une exigence de sécurité existante, procédez comme suit :
    1. Cliquez sur Sécurité dans le panneau de navigation. Toutes les exigences de sécurité précédemment définies sont répertoriées. Les schémas de sécurité inclus dans chaque exigence de sécurité sont affichés.
    2. Pour modifier les paramètres de sécurité d'une exigence de sécurité, cliquez sur l'icône d'édition située Icône d'édition des exigences de sécurité à côté de l'exigence concernée, puis modifiez vos choix en fonction de vos besoins.
    3. Cliquez sur Soumettre lorsque vous avez terminé, puis cliquez sur Sauvegarder.
    4. Pour supprimer une exigence de sécurité, cliquez sur l'icône de suppression Icône de suppression des exigences de sécuritécorrespondante, cliquez sur Supprimer pour confirmer, puis cliquez sur Enregistrer.
    5. Pour désactiver la sécurité de l'API, décochez la case Exiger l'une des exigences de sécurité suivantes , puis cliquez sur Sauvegarder.

Etape suivante

Pour plus d'informations sur LDAP et l'authentification URL, consultez LDAP authentication et l'authentification URL user registry.