Ajouter des stratégies à un déploiement d’API

Vous pouvez configurer diverses stratégies de sécurité pour votre trafic API. Cette configuration nécessite que vous spécifiez les critères de sélection du trafic et les paramètres requis pour une stratégie. Procédez comme suit pour ajouter une stratégie à une définition d’API :

  1. Accédez à Sécurité > API Gateway > Politiques.

  2. Cliquez sur Ajouter.

  3. Spécifiez le nom d’un groupe de stratégies.

  4. Sélectionnez un déploiement dans la liste.

  5. Sélectionnez un service en amont dans la liste pour lequel vous souhaitez configurer des stratégies.

  6. Cliquez sur Ajouter pour sélectionner des sélecteurs de trafic et un type de stratégie.

    Sélecteur de trafic  : les critères de sélection du trafic incluent les chemins d’accès des ressources API ou les préfixes de chemin, les méthodes et la stratégie.

    Vous pouvez utiliser l’une des options suivantes pour spécifier des critères de sélection du trafic :

    • Ressources API  : sélectionnez une ressource API et ses méthodes pour lesquelles vous souhaitez appliquer une stratégie. Vous pouvez rechercher des ressources et des méthodes d’API avec un mot clé.

      Sélecteur de trafic

      Dans cet exemple, les ressources API avec /user qui ont la POST méthode sont répertoriées.

    • Règle personnalisée  : dans cet onglet, vous pouvez spécifier des préfixes de chemin personnalisés et plusieurs méthodes.

      La stratégie configurée s’applique à une demande d’API entrante qui correspond à la règle personnalisée pour la sélection du trafic API.

      Règle de stratégie personnalisée

      Dans cet exemple, la stratégie No-Auth s’applique aux ressources API qui ont le /pet préfixe et la GET méthode.

    Dans Stratégie, sélectionnez une stratégie dans la liste que vous souhaitez appliquer à la ressource et à la méthode API sélectionnées. Pour plus d’informations sur chaque stratégie, consultez la section Types de politiques.

  7. Facultatif, vous pouvez déplacer des types de stratégie pour définir une priorité. Les types de stratégie ayant une priorité plus élevée s’appliquent en premier.

  8. Cliquez sur Enregistrer pour ajouter une stratégie. Si vous souhaitez appliquer la stratégie immédiatement, cliquez sur Enregistrer et appliquer.

Types de stratégie

Lorsque vous configurez une stratégie API, vous pouvez sélectionner les stratégies suivantes que vous souhaitez appliquer à la ressource et à la méthode API :

Authentification et autorisation

Les ressources API sont hébergées sur un serveur d’applications ou d’API. Lorsque vous souhaitez appliquer des restrictions d’accès à ces ressources API, vous pouvez utiliser les stratégies d’authentification et d’autorisation. Ces stratégies vérifient si la demande d’API entrante dispose d’une autorisation nécessaire pour accéder à la ressource.

Utilisez les stratégies suivantes pour définir l’authentification et l’autorisation des ressources API sélectionnées :

‘No-Auth’

Utilisez cette stratégie pour ignorer l’authentification sur le trafic sélectionné.

‘Auth-Basique’

Cette stratégie spécifie l’authentification locale à utiliser avec le schéma d’authentification de base HTTP. Pour utiliser l’authentification locale, vous devez créer des comptes d’utilisateurs sur Citrix ADC.

OAuth

OAuth nécessite un fournisseur d’identité externe pour authentifier un client à l’aide d’OAuth2 et émettre un jeton d’accès. Lorsque le client fournit ce jeton en tant qu’informations d’identification d’accès à une passerelle API, le jeton est validé en fonction des valeurs configurées.

  • URI JWKS - URL d’un point de terminaison qui a JWK (JSON Web Key) pour la vérification JWT (JSON Web Token)

  • Emetteur - Identité (généralement une URL) du serveur d’authentification.

  • Audience - Identité du service ou de l’application pour lequel le jeton est applicable.

  • Revendications à enregistrer - Les autorisations d’accès sont représentées sous la forme d’un ensemble de revendications et de valeurs attendues. Spécifiez les valeurs de revendication au format CSV.

  • URI Introspect - URL de point de terminaison introspection du serveur d’authentification. Cette URL est utilisée pour vérifier les jetons d’accès opaques. Pour plus d’informations sur ces jetons, voir Configuration OAuth pour les jetons d’accès opaques.

    Après avoir spécifié l’ URI Introspect, spécifiez l’ ID client et le secret client pour accéder au serveur d’authentification.

  • Algorithmes autorisés - Cette option vous permet de restreindre certains algorithmes dans les jetons entrants. Par défaut, toutes les méthodes prises en charge sont autorisées. Cependant, vous pouvez vérifier les algorithmes requis pour le trafic sélectionné.

    Authentification JWT

En cas de validation réussie, la passerelle API accorde l’accès au client.

Important

Lorsque vous configurez une politique OAuth ou Auth-Basic pour les ressources d’API sélectionnées, configurez la politique de non-authentification pour les ressources d’API restantes. Cette configuration indique explicitement que vous souhaitez ignorer l’authentification pour les ressources restantes.

Politique d’autorisation

Cette stratégie vérifie les autorisations requises pour accéder à une ressource API. Les autorisations d’accès sont représentées sous la forme d’un ensemble de revendications et de valeurs attendues. Pour configurer cette stratégie, sélectionnez Ajouter une nouvelle revendication et spécifiez les éléments suivants :

  • Nom de la réclamation
  • Valeurs de réclamation

Politique d'autorisation

La passerelle APIimportante

nécessite à la fois des stratégies d’authentification et d’autorisation pour le trafic API. Par conséquent, vous devez configurer une stratégie d’autorisation avec une stratégie d’authentification. La politique d’authentification peut être OAuth ou [Auth-Basic] (#auth -basic).

Même si vous n’avez aucune vérification d’autorisation, vous devez créer une stratégie d’autorisation avec des revendications vides. Sinon, la demande est refusée avec une erreur 403.

Politique de limite de taux

Spécifiez la charge maximale donnée à la ressource API sélectionnée. Avec cette stratégie, vous pouvez surveiller le taux de trafic de l’API et prendre des mesures préventives. Pour configurer cette stratégie, spécifiez les éléments suivants :

  • Nom d’en-tête HTTP - Il s’agit d’une clé de sélection de trafic qui filtre le trafic pour identifier les requêtes API. De plus, la stratégie de limite de taux s’applique et surveille uniquement ces demandes d’API.

  • Valeurs d’ en-tête : ces valeurs d’en-tête sont séparées par des virgules pour le nom d’en-tête mentionné.

  • Seuil  : nombre maximal de demandes pouvant être autorisées dans l’intervalle spécifié. Si vous avez spécifié des valeurs d’en-tête, ce seuil s’applique à chaque valeur d’en-tête.

    Example-1:

    Lorsque vous spécifiez des valeurs d’en-tête ("key1","key2","key3") pour le nom de l’en-tête x-api-key et que vous définissez le seuil sur 80, le seuil défini s’applique à chaque valeur d’en-tête.

    Example-2:

    Si vous souhaitez spécifier des seuils différents pour chaque valeur d’en-tête, créez des politiques de limite de débit distinctes en utilisant le même nom d’en-tête HTTP.

    • Politique-1 : Spécifiez les valeurs d’en-tête ("key1","key2") pour le nom de l’en-tête x-api-key et définissez le seuil sur 80.

    • Politique-2 : Spécifiez les valeurs d’en-tête ("key3") pour le nom de l’en-tête x-api-key et définissez le seuil sur 30.

    Si vous ne spécifiez aucune valeur d’en-tête, le seuil s’applique au nom d’en-tête HTTP spécifié.

  • Tranche temporelle - Intervalle spécifié en microsecondes. Pendant cet intervalle, les demandes sont surveillées par rapport aux limites configurées. Par défaut, il est défini sur 1000 microsecondes (1 milliseconde).

  • Type de limite  : mode d’application de la stratégie de limite de taux. Vous pouvez sélectionner Burst ou Lisser le type de limite.

  • Action  : définit une action que vous souhaitez effectuer sur le trafic qui dépasse le seuil. Vous pouvez spécifier l’une des actions suivantes :

    • DROP : supprime les demandes au-delà des limites de trafic configurées.
    • RESET :Réinitialisela connexion pour les requêtes.
    • REDIRECT : redirige le trafic vers le redirect_url configuré.
    • RÉPONSE : Répond avec la réponse standard (429 Too many requests).

Politique de limite tarifaire

Politique WAF

Cette politique empêche les violations de sécurité, la perte de données et les éventuelles modifications non autorisées des sites Web qui accèdent à des informations sensibles sur les entreprises ou les clients.

Avant de configurer une politique WAF, créez un profil WAF dans Citrix ADM à l’aide du StyleBook.

Dans Nom du profil WAF, sélectionnez ou spécifiez le profil WAF que vous avez créé.

Politique WAF

Politique BOT

Cette stratégie identifie les robots défectueux et protège votre appliance contre les attaques de sécurité avancées.

Avant de configurer une politique BOT, créez un profil BOT dans Citrix ADM à l’aide du StyleBook.

Dans Nom du profil de bot, spécifiez le profil BOT que vous avez créé.

Politique BOT

Politique de réécriture des en-têtes

Cette stratégie vous aide à modifier l’en-tête des demandes d’API et des réponses. Si vous souhaitez remplacer la valeur dans l’en-tête HTTP, spécifiez ce qui suit :

  • Nom d’en-tête HTTP : nom de fichier que vous souhaitez modifier dans l’en-tête de la demande.

    Exemple : Host

  • Valeur d’en-tête : Facultatif, chaîne de valeur que vous souhaitez modifier dans le nom d’en-tête spécifié.

    Exemple : sample.com

  • Nouvelle valeur d’en-tête : Nouvelle valeur pour remplacer la valeur d’en-tête spécifiée.

    Si aucune valeur d’en-tête n’est spécifiée, elle remplace toute valeur reçue par la valeur spécifiée par le nom d’en-tête HTTP.

    Exemple : example.com

Stratégie de réécriture d'en-tête

Dans cet exemple, la stratégie de réécriture d’en-tête remplace sample.comexample.com dans le Host champ d’une demande d’API.

Réécriture du chemin URI

Cette politique vous permet de modifier le chemin d’URI des requêtes et réponses d’API. Si vous souhaitez remplacer un segment dans le chemin de l’URI, ajoutez une règle pour effectuer l’une des opérations suivantes :

  • Remplacer un segment de chemin  : lorsque vous sélectionnez ce type d’action, spécifiez les éléments suivants :

    • Segment detracé actuel : segment de tracé que vous souhaitez remplacer.
    • Nouveau segment de tracé  : nouveau segment de tracé qui remplace uniquement le segment de tracé actuel.

    Remplacer un segment de tracé

    Par exemple, pour modifier les paramètres régionaux du chemin de l’URI de l’anglais vers le chinois, spécifiez /en-us/ dans Current Path Segment. Et spécifiez /zh-zh dans Nouveau segment de chemin. Il remplace uniquement le segment de chemin et conserve le chemin URI restant.

  • Remplacer le chemin complet — Ce type d’action remplace complètement le chemin d’URI des requêtes et réponses d’API par le chemin spécifié. Si vous le spécifiez /example.html dans Nouveau segment de chemin, le chemin d’URI d’une demande ou d’une réponse d’API est remplacé par le chemin spécifié.

  • Supprimer le segment de chemin — Cette action supprime le segment spécifié de l’URI. Par exemple, pour supprimer les paramètres régionaux anglais du chemin d’URI, spécifiez /en-us/ dans Current Path Segment.

  • Insérer un segment de chemin — Cette action insère le segment spécifié dans le chemin de l’URI. Pour appliquer cette règle, spécifiez la position où vous souhaitez insérer le segment. Et le segment que vous souhaitez insérer.

    Insérer un segment de tracé

    Par exemple, si vous souhaitez insérer un segment juste après du texte, procédez comme suit :

    1. Spécifiez la position où vous souhaitez insérer un nouveau segment.
    2. Dans Segment de chemin actuel, spécifiez le texte après lequel un nouveau segment doit être ajouté.
    3. Dans Nouveau segment de chemin, spécifiez le segment que vous souhaitez ajouter.

Deny

Cette politique vous aide à empêcher les requêtes d’API d’atteindre vos ressources d’API.

Politique de refus

Ajouter des stratégies à un déploiement d’API