Configuration d'une intégration de la Passerelle Kong AI avec la Sécurité AI de Cato

Prev Next

Cet article fournit des informations sur l'intégration de la Passerelle Kong AI avec la Sécurité AI de Cato pour surveiller et appliquer la politique pour vos Agents Internes.

Aperçu

La Sécurité AI de Cato vous permet d'inspecter et d'appliquer la politique pour le trafic AI qui circule via votre Passerelle Kong AI existante. Au lieu de configurer chaque application séparément, vous connectez la passerelle à une Protection Cato et appliquez une surveillance centralisée et une application de politique au trafic de la passerelle.

Cet article explique comment configurer une intégration de la Passerelle Kong AI, cartographier les Agents Internes, et valider l'application de la politique dans l'Explorateur d'Interactions.

Pré-requis

Avant de commencer, assurez-vous que les exigences suivantes sont remplies :

  • Licence Sécurité AI pour Applications
  • Autorisations administratives pour Sécurité AI > Gardes et Sécurité AI > Politique d'Interaction des Gardes
  • Les consommateurs de Kong s'authentifient avec le plugin d'Authentification de Clé de Kong
  • Accès pour créer et appliquer une configuration kong.yaml pour decK
  • Jeton d'accès personnel Konnect de Kong et nom de plan de contrôle. Créez le jeton à partir de la page des Jetons d'Accès Personnel dans Kong Konnect
  • Permission de déployer le plugin de Garde-Corps Custom de Kong AI
  • Application de test ou client qui envoie du trafic via la Passerelle Kong AI
  • Accès réseau de Kong au point de terminaison API de la Sécurité AI de Cato pour votre région CMA

Flux de Travail de Configuration

L'intégration inclut ces étapes :

Étape Tâche Résultat
1 Créer un AI Gateway Guard Cato crée la Garde et fournit des clés API pour Kong
2 Configurer Kong Kong envoie le trafic AI à Cato pour inspection
3 Vérifier le trafic de la passerelle Cato affiche le trafic de la Garde dans l'Explorateur d'Interactions
4 Cartographier les Agents Internes Cato attribue le trafic consommateur de Kong à un Agent Interne

Créer le AI Gateway Guard

Créer un AI Gateway Guard pour définir le point d'application de Cato pour le trafic de Kong.

Pour créer la Garde :

  1. Dans le menu de navigation, sélectionnez Sécurité IA > Gardes.
  2. Cliquez sur Nouveau.
  3. Dans Nom de Garde, entrez un nom pour la Garde. Par exemple, Kong AI Gateway.
  4. Dans Type, sélectionnez AI Gateway.
  5. Dans Type d'Intégration de Passerelle AI, sélectionnez Kong.
  6. Dans Hôte de Garde, sélectionnez Cato Cloud ou le Poste approprié pour votre déploiement.
  7. Cliquez sur Enregistrer.

Après avoir enregistré la Garde, elle est prête à recevoir du trafic de Kong. La Garde n'applique pas les règles tant que vous n'avez pas configuré une règle de politique.

Configurer la Passerelle Kong AI

Configurer le plugin de Garde-Corps Custom de Kong AI avec la clé API de Garde. Le plugin envoie du trafic AI à Cato pour inspection et bloque les requêtes lorsque Cato renvoie une action de blocage.

Récupérer les Détails de Connexion de la Garde

Pour récupérer les détails de connexion de la Garde :

  1. Dans le menu de navigation, sélectionnez Sécurité IA > Gardes.
  2. Sélectionnez la Garde de Passerelle Kong AI.
  3. Sélectionnez l'onglet Déploiement.
  4. Copiez l'une des Clés API de Garde.

Chaque Garde a deux clés API. Utilisez la clé inutilisée lors de la rotation des identifiants pour éviter d'interrompre l'inspection du trafic.

Configurer le Plugin de Garde-Corps Custom de Kong AI

Le plugin utilise les paramètres suivants :

Champ Desciption
mode_gardien Spécifie le trafic que Cato inspecte : INPUT, OUTPUT, ou BOTH
arrêt_si_erreur Lorsque true, Kong bloque le trafic s'il ne peut pas atteindre Cato. Réglez sur false pour autoriser le trafic lorsque Cato est indisponible
cle_api Authentifie Kong auprès de la Garde de Cato
base_api URL de base API de Sécurité AI de Cato pour votre région CMA

Cato inspecte uniquement les textes. Le contenu d'image n'est pas inspecté.

Pour configurer le plugin :

  1. Enregistrez la configuration suivante en tant que kong.yaml.

    _format_version: "3.0"
    plugins:
    - name: ai-custom-guardrail
      config:
        guarding_mode: BOTH
        text_source: concatenate_all_content
        stop_on_error: true
        params:
          api_key: "${{ env \"DECK_CATO_API_KEY\" }}"
          api_base: "<CATO_AI_SECURITY_API_BASE_URL>"
        request:
          url: $(conf.params.api_base)/fw/v1/analyze
          headers:
            Authorization: Bearer $(conf.params.api_key)
            Content-Type: application/json
            x-cato-gateway-key-alias: "$(get_key_alias)"
          body:
            messages: "$(build_messages)"
        response:
          block: "$(check_response.block)"
          block_message: "$(check_response.block_message)"
        ssl_verify: true
        functions:
          get_key_alias: |
            return function()
              local c = kong.client.get_consumer()
              return (c and (c.username or c.id)) or ""
            end
          check_response: |
            return function(resp)
              local ra = resp and resp.required_action
              local block = type(ra) == "table" and ra.action_type == "block_action"
              local reason
              if block then
                reason = ra.detection_message or "Bloqué par Cato Networks garde-fou"
              else
                reason = "Autorisé par Cato Networks garde-fou"
              end
              return {
                block = block,
                block_message = reason,
              }
            end
          build_messages: |
            return function(content, source)
              if source == "OUTPUT" then
                return { { role = "assistant", content = content } }
              end
              local body = kong.request.get_body()
              if body and body.messages then
                return body.messages
              end
              return { { role = "user", content = content } }
            end
    
  2. Remplacez <CATO_AI_SECURITY_API_BASE_URL> par l'URL de base API de Sécurité AI de Cato pour votre région CMA.

  3. Définissez les identifiants de Kong Konnect et Cato comme variables d'environnement :

    export KONNECT_TOKEN=<your-kong-konnect-personal-access-token>
    export DECK_KONNECT_TOKEN=$KONNECT_TOKEN
    export DECK_KONNECT_CONTROL_PLANE_NAME=<your-control-plane-name>
    export DECK_KONNECT_CONTROL_PLANE_REGION=<region>.api.konghq.com
    export DECK_CATO_API_KEY=<guard-api-key>
    
  4. Appliquez la configuration au plan de contrôle Kong :

    deck gateway sync kong.yaml
    

Stockez la clé API de Garde de manière sécurisée. Utilisez des variables d'environnement ou un gestionnaire de secrets, et ne validez pas la clé dans le contrôle des sources.

Comportement d'Intégration de Kong

  • Du côté de la réponse, Kong expose uniquement le texte de la réponse de l'assistant au plugin de Garde-Corps Custom. Les appels d'outils ne sont pas exposés en temps réel, donc Cato ne peut pas les inspecter ou les bloquer avant l'exécution. Cato les reçoit dans les requêtes suivantes pour la surveillance.
  • L'intégration échoue par défaut. Lorsque Cato est inaccessible, Kong bloque le trafic. Réglez arrêt_si_erreur sur false pour utiliser un comportement de fail-open lorsque la disponibilité est plus importante que l'application stricte.
  • Kong ne prend pas en charge l'inspection des Événements Envoyés par le Serveur (SSE) avec le plugin de Garde-Corps Custom. Lorsque le flux de réponse LLM, Cato peut inspecter uniquement les messages d'utilisateurs et les réponses d'outils.
  • L'intégration prend en charge le format API des Complétions de Chat OpenAI.

Vérifier le Trafic de Passerelle dans Cato

Utilisez l'Explorateur d'Interactions pour confirmer que le trafic de Kong atteint Cato.

Pour vérifier le trafic de la passerelle :

  1. Envoyez une invite de test d'une application via la Passerelle Kong AI.
  2. Dans le menu de navigation, sélectionnez Sécurité IA > Explorateur d'Interactions.
  3. Depuis la liste Garde, filtrez par votre Garde de Passerelle Kong AI.
  4. Confirmez que la session de test apparaît dans le tableau.

Avant de cartographier un Agent Interne, la colonne Agent Interne affiche un tiret (-) pour le trafic. C'est attendu.

Cartographier les Agents Internes à la Garde

Cartographiez chaque Agent Interne au nom de consommateur Kong avec lequel il s'authentifie. Cato utilise ces cartographies pour attribuer le trafic de Kong à l'Agent Interne correct.

Pour cartographier un Agent Interne :

  1. Dans Kong, identifiez le nom d'utilisateur consommateur pour l'Agent Interne.
  2. Dans le menu de navigation, sélectionnez Sécurité IA > Gardes.
  3. Sélectionnez la Garde de Passerelle Kong AI.
  4. Sélectionnez l'onglet Configuration.
  5. Sous Agents Internes Cartographiés, sélectionnez un Agent Interne dans la liste Sélectionner un Agent Interne à Cartographier.
  6. Dans Nom de consommateur Kong, entrez le nom d'utilisateur consommateur de l'étape 1.
  7. Cliquez sur Enregistrer.

La cartographie apparaît dans le tableau Agents Internes Cartographiés. Pour la supprimer, cliquez sur l'icône de suppression dans sa ligne.

Vérifier l'Attribution de l'Agent

Vérifiez que Cato attribue le trafic à l'Agent Interne cartographié.

Pour vérifier l'attribution de l'agent :

  1. Envoyez une demande de test via Kong en utilisant le consommateur cartographié.
  2. Dans le menu de navigation, sélectionnez Sécurité IA > Explorateur d'Interactions.
  3. Filtrez l'affichage par l'Agent Interne cartographié.
  4. Confirmez que la colonne Agent Interne affiche l'agent cartographié.

Lorsque la cartographie est correcte, l'Explorateur d'Interactions affiche le nom de l'Agent Interne au lieu d'un tiret.