Configurer Model Armor sur une passerelle

Model Armor vous aide à vous assurer que vos agents d'IA respectent vos normes de sécurité et de gouvernance sans que vous ayez à implémenter une logique de filtrage directement dans les agents. Lorsque vous configurez Model Armor avec Agent Gateway, Model Armor applique les garde-fous de sécurité du contenu de votre organisation en inspectant tous les prompts et toutes les réponses qui transitent par la passerelle. Cette fonctionnalité vous permet d'appliquer des consignes de sécurité liées au contenu de manière cohérente à tous les agents régis par la passerelle. Model Armor vous aide à atténuer les risques tels que l'injection de prompt, les tentatives de jailbreaking, les fuites d'informations sensibles et la génération de contenus nuisibles. Pour en savoir plus, consultez Filtres Model Armor.

Modèles Model Armor

Pour configurer Model Armor sur une passerelle, créez des modèles qui spécifient comment filtrer les requêtes et les réponses que vos agents d'IA reçoivent et renvoient. Les modèles fournissent des filtres et des seuils personnalisés pour plusieurs catégories de sécurité. Pour en savoir plus, consultez Modèles Model Armor.

Model Armor intègre des fonctionnalités de filtrage directement dans les canaux de communication régis par Agent Gateway. En transmettant le contenu via Model Armor, la passerelle applique vos modèles de sécurité du contenu. Dans votre modèle, vous pouvez configurer Model Armor pour masquer ou bloquer le contenu qui ne respecte pas vos modèles.

Trafic Ingress et sortant

Grâce à Agent Gateway, Model Armor peut aider à protéger les flux de trafic suivants.

Client vers agent (entrée d'agent)

Vous définissez des modèles que Model Armor utilise pour évaluer les requêtes et les réponses dans le trafic client-agent. Vous pouvez appliquer un seul modèle aux deux directions ou configurer des modèles différents pour chacune d'elles.

Model Armor suit les modèles lorsqu'il filtre les éléments suivants :

  • Requêtes entrantes du client (utilisateurs finaux ou applications appelantes) à votre agent d'IA
  • Réponses sortantes de l'agent d'IA au client

Lorsqu'un client envoie un prompt à l'agent, Agent Gateway intercepte le trafic et envoie la charge utile à Model Armor pour la nettoyer. Si Model Armor émet un verdict ALLOW, Agent Gateway envoie la requête à l'agent d'IA. Si Model Armor émet un verdict BLOCK, le client reçoit une erreur et le flux se termine avant d'atteindre l'agent d'IA.

Une fois que l'agent d'IA a traité la requête et généré une réponse, Agent Gateway intercepte le flux sortant avant qu'il n'atteigne le client. Model Armor évalue la réponse et émet un verdict. En fonction du verdict, Agent Gateway autorise ou bloque entièrement la réponse.

Agent vers n'importe quelle destination (sortie d'agent)

Vous définissez des modèles que Model Armor utilise pour évaluer les requêtes et les réponses dans le trafic Agent-to-Anywhere. Vous pouvez appliquer un seul modèle aux deux directions ou configurer des modèles différents pour chacune d'elles.

Model Armor suit les modèles lors du filtrage des communications entre votre agent d'IA et les systèmes externes, y compris les suivants :

  • Grands modèles de langage (LLM) externes
  • Agents d'IA tiers
  • Serveurs MCP (Model Context Protocol)

Lorsqu'un agent IA communique avec un système externe, Agent Gateway intercepte le trafic de sortie et appelle Model Armor. Model Armor évalue la charge utile en fonction des modèles de sortie que vous définissez.

Si les données sortantes ne respectent pas vos règles de sécurité, Model Armor émet un verdict BLOCK. Agent Gateway met ensuite fin à la connexion pour empêcher les données sensibles ou dangereuses d'atteindre le LLM, l'outil ou l'agent d'IA externe.

Avant de commencer

Activez l'API Model Armor, si ce n'est pas déjà fait.

Rôles requis pour activer les API

Pour activer les API, vous devez disposer de l'autorisation serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation grâce au rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation grâce au rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.

Activer l'API

Rôles requis

Pour obtenir les autorisations nécessaires pour créer des modèles Model Armor, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Model Armor (roles/modelarmor.admin) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour connaître les rôles requis pour utiliser Agent Gateway, consultez Rôles requis dans la documentation Agent Gateway.

Pour en savoir plus sur les charges utiles compatibles et non compatibles qui transitent par la passerelle, consultez Charges utiles compatibles et non compatibles dans ce document.

Configurer Model Armor sur une passerelle

Pour configurer Model Armor sur une passerelle, procédez comme suit :

  1. Activez l'API Model Armor dans le projet dans lequel vous souhaitez créer les modèles Model Armor.
  2. Créez un ou plusieurs modèles Model Armor dans la même région où vous prévoyez d'ajouter la passerelle. Vous pouvez utiliser le même modèle pour le trafic entrant et sortant.

    Notez les noms des modèles. Pour copier le nom d'un modèle dans la console Cloud de Confiance , affichez les détails du modèle, puis cliquez sur  Copier dans le presse-papiers à côté du nom du modèle.

  3. Configurez Agent Gateway dans la même région que celle où sont stockés les modèles Model Armor. Pour la passerelle Client-to-Agent (entrée), spécifiez les modèles Model Armor que vous avez créés pour le trafic entrant. Pour la passerelle Agent-to-Anywhere (sortie), spécifiez les modèles Model Armor que vous avez créés pour le trafic de sortie. Vous pouvez utiliser le même modèle pour les deux flux de trafic.

  4. Attribuez les rôles IAM requis aux agents de service appropriés :

    • Client vers agent (entrée) : accordez les rôles suivants à l'agent de service AI Platform Reasoning Engine :

      • Le rôle Utilisateur de Model Armor Callout (roles/modelarmor.calloutUser) dans le projet contenant l'agent d'IA.

      • Le rôle Utilisateur Model Armor (roles/modelarmor.user) dans le projet contenant le modèle Model Armor.

      gcloud projects add-iam-policy-binding AGENT_RUNTIME_PROJECT_ID \
          --member=serviceAccount:service-AGENT_RUNTIME_PROJECT_NUMBER@gcp-sa-aiplatform-re.s3ns-system.iam.gserviceaccount.com \
          --role=roles/modelarmor.calloutUser
      gcloud projects add-iam-policy-binding MODEL_ARMOR_PROJECT_ID \
          --member=serviceAccount:service-AGENT_RUNTIME_PROJECT_NUMBER@gcp-sa-aiplatform-re.s3ns-system.iam.gserviceaccount.com \
          --role=roles/modelarmor.user
      

      Remplacez les éléments suivants :

      • AGENT_RUNTIME_PROJECT_ID : ID du projet dans lequel vous avez créé l'agent.
      • AGENT_RUNTIME_PROJECT_NUMBER : numéro du projet dans lequel vous avez créé l'agent.
      • MODEL_ARMOR_PROJECT_ID : ID du projet contenant le modèle Model Armor.
    • Agent vers n'importe quelle destination (sortie) : attribuez les rôles suivants à l'agent de service Service Extensions :

      • Les rôles Utilisateur de Model Armor Callout (roles/modelarmor.calloutUser) et Consommateur Service Usage (roles/serviceusage.serviceUsageConsumer) dans le projet contenant la passerelle.
      • Le rôle Utilisateur Model Armor (roles/modelarmor.user) dans le projet contenant le modèle Model Armor.
      gcloud projects add-iam-policy-binding GATEWAY_PROJECT_ID \
          --member=serviceAccount:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.s3ns-system.iam.gserviceaccount.com \
          --role=roles/modelarmor.calloutUser
      gcloud projects add-iam-policy-binding GATEWAY_PROJECT_ID \
          --member=serviceAccount:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.s3ns-system.iam.gserviceaccount.com \
          --role=roles/serviceusage.serviceUsageConsumer
      gcloud projects add-iam-policy-binding MODEL_ARMOR_PROJECT_ID \
          --member=serviceAccount:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.s3ns-system.iam.gserviceaccount.com \
          --role=roles/modelarmor.user
      

      Remplacez les éléments suivants :

      • GATEWAY_PROJECT_ID : ID du projet dans lequel vous avez créé la passerelle.
      • GATEWAY_PROJECT_NUMBER : numéro du projet dans lequel vous avez créé la passerelle.
      • MODEL_ARMOR_PROJECT_ID : ID du projet contenant le modèle Model Armor.

      Pour obtenir des instructions, consultez Déléguer l'autorisation à Model Armor.

    Pour obtenir des informations générales sur l'attribution d'un rôle, consultez Attribuer un seul rôle IAM.

Facultatif : Vérification de la validation du modèle avant le déploiement

Avant de déployer vos modèles sur une passerelle, vous pouvez effectuer une vérification avant déploiement pour vous assurer que la configuration de vos modèles applique correctement vos règles de sécurité.

Vous pouvez valider votre modèle en interrogeant directement la méthode sanitizeUserPrompt à l'aide d'un ensemble d'invites de test. Pour savoir comment exécuter cette vérification avant le déploiement et obtenir la liste des invites de test validées, consultez Valider la configuration de votre modèle.

Masquer les données sensibles des requêtes et des réponses

Vous pouvez demander à Model Armor de masquer les données sensibles (numéros d'identité nationaux et numéros de téléphone, par exemple) dans les charges utiles. Pour utiliser cette fonctionnalité, procédez comme suit :

Si vous utilisez le type d'application INSPECT_AND_BLOCK, l'une des situations suivantes se produit :

  • Si une charge utile ne viole que le détecteur Sensitive Data Protection, Model Armor la masque en fonction de vos paramètres avancés Sensitive Data Protection et de votre modèle d'anonymisation.

  • Si une charge utile enfreint plusieurs détecteurs, Model Armor ne procède pas à la suppression, mais bloque l'intégralité de la charge utile.

Si vous utilisez le type d'application INSPECT_ONLY au lieu de INSPECT_AND_BLOCK, Model Armor ne masque pas la charge utile.

Quel que soit votre type d'application (INSPECT_ONLY ou INSPECT_AND_BLOCK), les journaux Model Armor sont masqués en fonction de vos paramètres avancés Sensitive Data Protection et de votre modèle d'anonymisation.

Pour obtenir la liste complète des détecteurs Model Armor (également appelés filtres), consultez Filtres Model Armor.

Charges utiles acceptées et non acceptées

Cette section liste les types de charges utiles que Model Armor assainit.

Trafic client vers agent (entrée)

Pour le trafic client-agent (entrée) utilisant le protocole ADK, Model Armor n'assainit que les requêtes et les réponses reasoningEngines.streamQuery pour les agents créés à l'aide d'Agent Development Kit (ADK) et exécutés sur Vertex AI Agent Engine.

Toutes les autres charges utiles ReasoningEngine et les réponses d'erreur ReasoningEngine ne sont pas envoyées à Model Armor. Les charges utiles non ADK (telles que les charges utiles Langchain) ne sont pas non plus envoyées à Model Armor.

Trafic Agent vers n'importe quelle destination (sortie)

Pour le trafic Agent-to-Anywhere (sortie), les charges utiles suivantes sont acceptées.

Charge utile A2A

Model Armor n'assainit que les charges utiles suivantes du protocole A2A v1 :

Model Armor autorise les charges utiles A2A suivantes sans assainissement :

Charges utiles MCP

Model Armor ne nettoie que les charges utiles MCP suivantes :

  • Requête et réponse tools/call
  • Requête et réponse prompts/get
  • Erreurs d'exécution des outils MCP (cible pour l'injection d'invite par des auteurs d'outils MCP malveillants)

Model Armor autorise les charges utiles suivantes sans assainissement :

  • tools/list
  • resources/*
  • notifications/*
  • HTTP/SSE diffusable pour MCP
  • Erreurs de protocole MCP (par exemple, toutes les erreurs autres que les erreurs d'exécution de l'outil)

Charge utile LLM externe

Model Armor n'assainit que les charges utiles suivantes du protocole de l'API OpenAI (sortie), qui inclut les modèles GPT sur openai.com ainsi que tous les autres modèles via les serveurs LLM compatibles avec l'API OpenAI (tels que vLLM). Les charges utiles qui ne sont pas listées ici sont autorisées sans assainissement.

Examen des documents

Le nettoyage des requêtes et des réponses contenant des documents ou des fichiers importés (tels que des PDF) n'est pas pris en charge dans cette intégration. Pour filtrer des documents, appelez directement l'API REST Model Armor. Pour en savoir plus, consultez Filtrage des documents dans la documentation Model Armor.

Quotas et limites du système

Le quota est consommé dans le projet où résident les modèles Model Armor. Si la passerelle se trouve dans un autre projet, le quota ExternalProcessor est également utilisé dans le projet de passerelle.

Pour en savoir plus sur les quotas qui s'appliquent lorsque vous utilisez Model Armor avec d'autres services, consultez Gérer les quotas.

Pour obtenir des informations générales sur les quotas et les limites système de Model Armor, y compris sur les limites de taille d'entrée et de jetons, consultez Quotas et limites système dans la documentation de Model Armor.

Étapes suivantes