Model Armor vous aide à vous assurer que vos agents 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 garde-fous de sécurité du 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 jailbreak, la fuite 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 prompts et les réponses que vos agents 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 d'analyse directement dans les chemins 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 qu'il masque ou bloque 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 lors de l'analyse des éléments suivants :
- Requêtes entrantes du client (utilisateurs finaux ou applications appelantes) vers votre agent IA
- Réponses sortantes de l'agent IA vers le client
Lorsqu'un client envoie un prompt à l'agent, Agent Gateway intercepte le trafic et envoie la charge utile à Model Armor pour nettoyage. Si Model Armor émet un verdict ALLOW, Agent Gateway envoie le prompt à l'agent IA. Si Model Armor émet un verdict BLOCK, le client reçoit une erreur et le flux se termine avant d'atteindre l'agent IA.
Une fois que l'agent 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 IA et les systèmes externes, y compris les suivants :
- Grands modèles de langage (LLM) externes
- Agents 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 avez définis.
Si les données sortantes ne respectent pas vos règles de sécurité, Model Armor émet un verdict BLOCK. Agent Gateway met alors fin à la connexion pour empêcher les données nuisibles ou sensibles d'atteindre le LLM, l'outil ou l'agent 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 des API, vous devez disposer de l'autorisation serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez l'obtenir via le rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.
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 d'Agent Gateway.
Pour en savoir plus sur les charges utiles compatibles et non compatibles qui transitent par la passerelle, consultez la section Charges utiles compatibles et non compatibles de ce document.
Configurer Model Armor sur une passerelle
Pour configurer Model Armor sur une passerelle, procédez comme suit :
- Activez l'API Model Armor dans le projet où vous souhaitez créer les modèles Model Armor.
Créez un ou plusieurs modèles Model Armor dans la même région que celle 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 consoleGoogle Cloud , affichez les détails du modèle, puis cliquez sur Copier dans le presse-papiers à côté du nom du modèle.
Si vous créez les modèles Model Armor dans un projet différent de celui qui contient l'agent IA ou Agent Gateway et que vous utilisez VPC Service Controls, les deux projets doivent se trouver dans le même périmètre de service VPC Service Controls.
Configurez Agent Gateway dans la même région que celle où sont stockés les modèles Model Armor. Pour la passerelle client-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 sortant. Vous pouvez utiliser le même modèle pour les deux flux de trafic.
Attribuez les rôles IAM requis aux agents de service appropriés :
Client vers agent (entrée) : attribuez les rôles suivants à l'agent de service Agent de service du moteur de raisonnement AI Platform :
Rôle Utilisateur de Model Armor Callout (
roles/modelarmor.calloutUser) dans le projet contenant l'agent 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.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.iam.gserviceaccount.com \ --role=roles/modelarmor.userRemplacez 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 où (sortie) : attribuez à l'agent de service Service Extensions les rôles suivants :
- Les rôles Utilisateur de Model Armor Callout (
roles/modelarmor.calloutUser) et Consommateur Service Usage (roles/serviceusage.serviceUsageConsumer) dans le projet qui contient 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.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.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.iam.gserviceaccount.com \ --role=roles/modelarmor.userRemplacez 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.
- Les rôles Utilisateur de Model Armor Callout (
Pour obtenir des informations générales sur l'attribution d'un rôle, consultez Attribuer un rôle IAM unique.
Facultatif : Validation du modèle avant le déploiement
Avant de déployer vos modèles sur une passerelle, vous pouvez effectuer une vérification préalable au déploiement pour vous assurer que la configuration de votre modèle 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 de requêtes de test. Pour en savoir plus sur l'exécution de cette vérification avant le déploiement et obtenir la liste des requêtes de test validées, consultez Tester un modèle Model Armor.
Masquer les données sensibles des requêtes et des réponses
Vous pouvez demander à Model Armor de masquer les données sensibles (comme les numéros de pièce d'identité et les numéros de téléphone) des charges utiles. Pour utiliser cette fonctionnalité, procédez comme suit :
Définissez les paramètres avancés de Sensitive Data Protection dans votre modèle Model Armor, et incluez un modèle d'anonymisation.
Définissez le type d'application sur le modèle Model Armor sur
INSPECT_AND_BLOCK.
Si vous utilisez le type d'application INSPECT_AND_BLOCK, l'un des événements suivants se produit :
Si une charge utile ne respecte que le détecteur Sensitive Data Protection, Model Armor la masque conformément à vos paramètres Sensitive Data Protection avancés et à votre modèle d'anonymisation.
Si une charge utile enfreint plusieurs détecteurs, Model Armor n'effectue pas d'occultation. Il 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 n'occulte pas la charge utile.
Quel que soit votre type de mesure d'application (INSPECT_ONLY ou INSPECT_AND_BLOCK), les journaux Model Armor sont masqués conformément à vos paramètres Sensitive Data Protection avancés et à 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 compatibles et non compatibles
Cette section liste les types de charges utiles que Model Armor nettoie.
Trafic client vers agent (entrée)
Pour le trafic client-agent (entrant) utilisant le protocole ADK, Model Armor ne nettoie que les requêtes et 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 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.
Charges utiles A2A
Model Armor ne nettoie que les charges utiles suivantes du protocole A2A v1 :
- Opérations SendMessage
- Fiche d'agent
- Obtenir les opérations de la carte d'agent étendue
- Liaisons de protocole JSON-RPC
- Liaisons de protocole HTTP+JSON/REST
Model Armor autorise les charges utiles A2A suivantes sans nettoyage :
- Charges utiles des versions d'A2A antérieures à la v1
SendStreamingMessageGetTaskListTasksCancelTaskSubscribeToTask- Méthodes CRUD sur
TaskPushNotificationConfig - Charges utiles utilisant la liaison de protocole gRPC A2A (protobuf sur le réseau)
- Charges utiles d'erreur A2A
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 de l'outil MCP (cible d'injection de prompt par des auteurs d'outils MCP malveillants)
Model Armor autorise les charges utiles suivantes sans nettoyage :
tools/listresources/*notifications/*- HTTP/SSE diffusable pour MCP
- Erreurs de protocole MCP (par exemple, toutes les erreurs autres que les erreurs d'exécution d'outils)
Charges utiles LLM externes
Model Armor ne nettoie 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 des serveurs LLM compatibles avec l'API OpenAI (comme vLLM).
Les charges utiles qui ne sont pas listées ici sont autorisées sans nettoyage.
- Complétions de chat : Create, Delete, Get, List et Update (variantes sans streaming uniquement)
- Obtenir des messages de chat
- Réponses : Create, Get et Delete (variantes sans streaming uniquement)
- Erreurs de l'API OpenAI (y compris la variante de vLLM)
- Anciennes complétions
- Anciens assistants : créer, supprimer, lister, modifier et récupérer
- Anciens messages : créer, supprimer, lister, modifier et récupérer
- Anciens fils de discussion : créer, supprimer, modifier et récupérer
- Embeddings : créer
Filtrage des documents
La suppression des requêtes et des réponses contenant des documents ou des fichiers importés (comme des PDF) n'est pas possible dans cette intégration. Pour filtrer les documents, appelez directement l'API REST Model Armor. Pour en savoir plus, consultez Filtrage des documents dans la documentation de 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 consommé dans le projet de la 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 du système Model Armor, y compris la taille d'entrée et les limites de jetons, consultez Quotas et limites du système dans la documentation de Model Armor.