Model Armor peut être directement intégré à Gemini Enterprise Agent Platform à l'aide des paramètres de plancher ou des modèles. Model Armor s'intègre à Gemini Enterprise Agent Platform pour filtrer les requêtes envoyées aux modèles Gemini et les réponses reçues de ces modèles. Il inspecte ou bloque le trafic qui ne respecte pas les paramètres de plancher.
Model Armor assure la protection des requêtes et des réponses dans l'API Gemini de Vertex AI pour la méthode generateContent.
Vous devez activer Cloud Logging pour obtenir de la visibilité sur les résultats de la désinfection des requêtes et des réponses.
En plus de protéger les appels REST directs au service Gemini Enterprise Agent Platform, vous pouvez également utiliser Model Armor pour protéger d'autres interfaces qui donnent accès à l'API Gemini dans Vertex AI, comme les SDK Google Gen AI ou les SDK Firebase AI Logic.
Avant de commencer
Accordez l'autorisation d'utilisateur Model Armor au compte de service de la plate-forme d'agents Gemini Enterprise.
gcloud projects add-iam-policy-binding PROJECT_ID --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com' --role='roles/modelarmor.user'
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google Cloud .PROJECT_NUMBER: numéro de votre projet Google Cloud .
Configurer les paramètres de plancher
Vous utilisez les paramètres de plancher pour configurer les seuils de détection minimaux pour les modèles Model Armor. Ces paramètres permettent de vérifier que tous les modèles nouveaux et modifiés respectent les exigences liées aux paramètres de plancher.
Pour activer l'intégration de Model Armor et de Gemini Enterprise Agent Platform, vous pouvez définir des paramètres de plancher uniquement au niveau du projet en utilisant l'API ou la console Google Cloud .
Pour configurer les paramètres de plancher, consultez Configurer les paramètres de plancher.
Pour configurer les paramètres de plancher avec l'intégration de Gemini Enterprise Agent Platform, exécutez la commande suivante :
gcloud
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --add-integrated-services=VERTEX_AI
Cette commande active le mode d'application INSPECT_ONLY par défaut. Pour passer au mode INSPECT_AND_BLOCK, exécutez la commande suivante :
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --vertex-ai-enforcement-type=INSPECT_AND_BLOCK
Pour supprimer la plate-forme d'agents Gemini Enterprise des services intégrés, exécutez la commande suivante :
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --remove-integrated-services=VERTEX_AI
Pour supprimer tous les services intégrés configurés des paramètres de l'étage, exécutez la commande suivante :
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --clear-integrated-services
Remplacez PROJECT_ID par l'ID du projet pour les paramètres de plancher.
REST
curl -X PATCH \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{"filterConfig" : {"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}}, "integratedServices": ["AI_PLATFORM"], "aiPlatformFloorSetting":{"inspectOnly":true, "enableCloudLogging":true}, "enableFloorSettingEnforcement":true}' \ "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"
Remplacez PROJECT_ID par l'ID du projet contenant les paramètres de plancher.
Une fois les paramètres de base configurés pour activer la désinfection de Gemini Enterprise Agent Platform, Model Armor désinfecte tous les appels d'API generateContent vers les points de terminaison Gemini du projet à l'aide des paramètres de filtrage spécifiés.
L'exemple de code suivant montre comment utiliser la méthode generateContent.
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-2.5-flash:generateContent" -d '{ "contents": [ { "role": "user", "parts": [ { "text": "" } ] } ] , "generationConfig": { "responseModalities": ["TEXT"] ,"temperature": 0.2 ,"maxOutputTokens": 1024 ,"topP": 0.8 } }'
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google Cloud .LOCATION: emplacement Google Cloud du point de terminaison Gemini. Pour connaître les emplacements acceptés, consultez Emplacements pour l'API Model Armor.
L'exemple de code suivant montre la réponse de la méthode generateContent.
{ "promptFeedback": { "blockReason": "MODEL_ARMOR", "blockReasonMessage": "Blocked by Floor Setting. The prompt violated Responsible AI Safety settings (Harassment, Dangerous), Prompt Injection and Jailbreak filters." }, "usageMetadata": { "trafficType": "ON_DEMAND" }, "modelVersion": "gemini-2.5-flash", "createTime": "2025-03-26T13:14:36.961184Z", "responseId": "vP3jZ6DVOqLKnvgPqZL-8Ao" }
Définir le type d'application pour les paramètres de plancher
Pour configurer la façon dont Model Armor gère les détections, définissez le type d'application.
L'exemple suivant montre la configuration des paramètres de plancher avec le type d'application INSPECT_AND_BLOCK.
gcloud
gcloud model-armor floorsettings update \ --full-uri=projects/modelarmor-api-test/locations/global/floorSetting \ --vertex-ai-enforcement-type=INSPECT_AND_BLOCK
REST
export FLOOR_SETTING='{ "filterConfig": { "raiSettings": { "raiFilters": [ { "filterType": "HATE_SPEECH", "confidenceLevel": "LOW_AND_ABOVE" }, { "filterType": "DANGEROUS", "confidenceLevel": "LOW_AND_ABOVE" }, { "filterType": "SEXUALLY_EXPLICIT", "confidenceLevel": "LOW_AND_ABOVE" }, { "filterType": "HARASSMENT", "confidenceLevel": "LOW_AND_ABOVE" } ] }, "sdpSettings": { "basicConfig": { "filterEnforcement": "ENABLED" } }, "piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED", "confidenceLevel": "LOW_AND_ABOVE" }, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" } }, "integratedServices": ["AI_PLATFORM"], "aiPlatformFloorSetting": { "inspectAndBlock": true, "enableCloudLogging": true }, "enableFloorSettingEnforcement": true }' curl -X PATCH \ -d "$FLOOR_SETTING" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"
Remplacez PROJECT_ID par l'ID du projet contenant les paramètres de plancher.
Configurer des modèles Model Armor
Model Armor peut également être intégré à Gemini Enterprise Agent Platform à l'aide de modèles Model Armor. Les modèles vous permettent de configurer la façon dont Model Armor analyse les requêtes et les réponses, et de définir les configurations des filtres de sécurité.
Vous devez d'abord créer des modèles, puis les utiliser avec la méthode generateContent de Gemini. Pour en savoir plus sur les modèles, consultez Créer et gérer des modèles Model Armor.
Après avoir configuré le modèle Model Armor, transmettez l'ID du modèle en tant que paramètre lorsque vous appelez l'API Gemini à l'aide de la méthode generateContent. Gemini Enterprise Agent Platform transmet la demande à Model Armor pour traitement.
L'exemple de code suivant montre la requête envoyée à la méthode generateContent.
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-2.5-flash:generateContent" -d '{ "contents": [ { "role": "user", "parts": [ { "text": "PROMPT" } ] } ] , "generationConfig": { "responseModalities": ["TEXT"] ,"temperature": 0.2 ,"maxOutputTokens": 1024 ,"topP": 0.8 }, "model_armor_config": { "prompt_template_name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID", "response_template_name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID" } }'
Remplacez les éléments suivants :
PROJECT_ID: ID du projet Google Cloud .LOCATION: emplacement Google Cloud du point de terminaison Gemini. Les emplacements acceptés sontus-central1,us-east4,us-west1eteurope-west4.PROMPT: requête textuelle.TEMPLATE_ID: ID du modèle Model Armor.
L'exemple de code suivant montre la réponse de la méthode generateContent.
{ "promptFeedback": { "blockReason": "MODEL_ARMOR", "blockReasonMessage": "Blocked by Floor Setting. The prompt violated Responsible AI Safety settings (Harassment, Dangerous), Prompt Injection and Jailbreak filters." }, "usageMetadata": { "trafficType": "ON_DEMAND" }, "modelVersion": "gemini-2.5-flash", "createTime": "2025-03-26T13:14:36.961184Z", "responseId": "vP3jZ6DVOqLKnvgPqZL-8Ao" }
Priorité de la configuration
Lorsque vous utilisez Model Armor avec la plate-forme d'agents Gemini Enterprise, il est possible de définir des configurations de sécurité à plusieurs niveaux. Dans ce cas, Model Armor et Gemini Enterprise Agent Platform suivent un ordre de priorité spécifique :
Modèles Model Armor : toute configuration explicitement fournie dans la configuration définie dans la requête API est prioritaire. Ces paramètres remplacent toute autre configuration incompatible pour cette demande spécifique.
Paramètres de plancher Model Armor : si aucune configuration de remplacement n'est fournie dans la requête API, les paramètres de plancher Model Armor sont appliqués.
Filtres de sécurité de Gemini Enterprise Agent Platform : les filtres de sécurité par défaut intégrés à Gemini Enterprise Agent Platform ont la priorité la plus basse. Elles ne sont appliquées que si aucun modèle Model Armor ni aucun paramètre de plancher spécifiques ne sont définis.
Cette approche hiérarchique combine des normes minimales générales à l'échelle de l'organisation (à l'aide des paramètres de plancher) et un contrôle par requête (à l'aide de modèles), tout en s'appuyant sur les fonctionnalités de sécurité inhérentes à la plate-forme d'agents Gemini Enterprise comme base.
Remarques
Tenez compte des points suivants lorsque vous intégrez Model Armor à Gemini Enterprise Agent Platform :
- La suppression des informations sensibles pour le modèle d'anonymisation Sensitive Data Protection n'est pas prise en charge.
- La désinfection des requêtes et des réponses contenant des documents n'est pas prise en charge.
Gemini Enterprise Agent Platform ignore l'étape de désinfection Model Armor et continue de traiter la requête dans les conditions suivantes :
- Model Armor n'est pas disponible dans les régions où Gemini Enterprise Agent Platform est proposé.
- Model Armor est temporairement inaccessible.
- Une erreur se produit dans Model Armor.
Dans tous ces cas, des requêtes ou des réponses non filtrées peuvent parfois être exposées, car la requête se poursuit sans que la requête et la réponse soient nettoyées.
Bien que l'intégration soit conçue pour maintenir le service en cours d'exécution même en cas d'échec de la connexion, le mode
INSPECT_AND_BLOCKaffiche toujours les erreurs de configuration telles que les problèmes d'autorisation ou de quota.