Ce document explique comment configurer Model Armor pour enregistrer les opérations suivantes :
- Opérations qui créent, mettent à jour ou suppriment un modèle
- Opérations qui nettoient un prompt utilisateur ou une réponse de modèle
Model Armor utilise des journaux d'audit pour enregistrer les activités d'administration et de gestion des ressources. Pour en savoir plus, consultez la section Journaux d'audit de Model Armor.
Pour en savoir plus sur la tarification des journaux, consultez la page Tarifs de Cloud Logging. Des frais d'utilisation de Model Armor peuvent également s'appliquer en fonction du volume de données traitées. Pour en savoir plus, consultez la page Tarifs de Model Armor .
Avant de commencer
Effectuez ces tâches avant de passer aux autres tâches décrites dans ce document.
Obtenir les autorisations requises
Pour obtenir les autorisations nécessaires pour configurer la journalisation de Model Armor, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Model Armor (roles/modelarmor.admin) sur le modèle Model Armor.
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.
Activer les API
Vous devez activer l'API Model Armor avant de pouvoir utiliser Model Armor.
Console
Activer l'API Model Armor
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.Sélectionnez le projet dans lequel vous souhaitez activer Model Armor.
gcloud
Avant de commencer, suivez ces étapes à l'aide de la Google Cloud CLI avec l'API Model Armor :
Dans la Google Cloud console, activez Cloud Shell.
En bas de la Google Cloud console, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel la Google Cloud CLI est déjà installée, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
Définissez le remplacement du point de terminaison de l'API à l'aide de la gcloud CLI.
Définir le remplacement du point de terminaison de l'API à l'aide de la gcloud CLI
Cette étape n'est requise que si vous utilisez la gcloud CLI pour activer l'API Model Armor. Vous devez définir manuellement le remplacement du point de terminaison de l'API pour vous assurer que la gcloud CLI achemine correctement les requêtes vers le service Model Armor.
Exécutez la commande suivante pour définir le point de terminaison de l'API pour le service Model Armor.
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"
Remplacez LOCATION par la région dans laquelle vous souhaitez utiliser Model Armor.
Configurer le nettoyage du trafic
Pour les serveurs MCP (Model Context Protocol) gérés par Google, configurez le nettoyage du trafic via les paramètres de plancher. Pour en savoir plus, consultez Configurer la protection des serveurs MCP Google et Google Cloud distants. (Bêta)
Configurer la journalisation dans les modèles
Les modèles définissent les filtres et les seuils pour différentes catégories de sécurité. Lorsque vous créez ou mettez à jour un modèle Model Armor, vous pouvez spécifier si Model Armor enregistre certaines opérations. Utilisez les indicateurs suivants dans les métadonnées du modèle :
log_template_operations: valeur booléenne qui active la journalisation des opérations de création, de mise à jour, de lecture et de suppression de modèles.log_sanitize_operations: valeur booléenne qui active la journalisation des opérations de nettoyage. Les journaux incluent le prompt et la réponse, les résultats d'évaluation de Model Armor et d'autres champs de métadonnées.
Console
Dans la Google Cloud console, accédez à la page Model Armor.
Vérifiez que vous consultez le projet sur lequel vous avez activé Model Armor.
Sur la page Model Armor, cliquez sur Créer un modèle. Pour en savoir plus sur la création de modèles, consultez Créer un modèle Model Armor.
Dans la section Configurer la journalisation, sélectionnez les opérations pour lesquelles vous souhaitez configurer la journalisation.
Cliquez sur Créer.
REST
curl -X POST \
-d '{ "filterConfig": {}, "templateMetadata": { "logTemplateOperations": true, "logSanitizeOperations": true } }' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID"
Remplacez les éléments suivants :
PROJECT_ID: ID du projet auquel appartient le modèle.LOCATION: l'emplacement du modèle.TEMPLATE_ID: ID du modèle.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python et installez le SDK Model Armor pour Python.
request = modelarmor_v1.CreateTemplateRequest( parent="projects/PROJECT_ID/locations/LOCATION", template_id="TEMPLATE_ID", template={ "name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID", "filter_config": {}, "template_metadata": { "log_template_operations": True, "log_sanitize_operations": True } } ) response = client.create_template(request=request)
Remplacez les éléments suivants :
PROJECT_ID: ID du projet auquel appartient le modèle.LOCATION: l'emplacement du modèle.TEMPLATE_ID: ID du modèle.
Configurer la journalisation dans les paramètres de plancher
Les paramètres de plancher établissent des filtres de sécurité de base pour tous les modèles Gemini dans Vertex AI et les serveurs MCP (Model Context Protocol) gérés par Google (bêta) au sein de votre projet. Lorsque vous mettez à jour les paramètres de plancher de Model Armor, vous pouvez spécifier si les opérations de nettoyage de Model Armor sont enregistrées.
Vous pouvez activer la journalisation des opérations de nettoyage pour Vertex AI et les serveurs MCP gérés par Google individuellement. Lorsqu'elle est activée, les journaux incluent le prompt et la réponse (pour Vertex AI) ou les appels d'outils et les réponses d'outils (pour les serveurs MCP), les résultats d'évaluation de Model Armor et d'autres champs de métadonnées.
Console
Dans la Google Cloud console, accédez à la page Model Armor.
Vérifiez que vous consultez le projet sur lequel vous avez activé Model Armor.
Accédez à l'onglet Paramètres de plancher.
Dans la section Journaux, sélectionnez Serveur MCP géré par Google.
Cliquez sur Enregistrer.
gcloud
Vous pouvez utiliser l'un des indicateurs suivants pour gérer la journalisation des opérations de nettoyage dans les paramètres de plancher.
Pour activer la journalisation, utilisez l'un des indicateurs suivants :
- Pour Vertex AI, utilisez l'indicateur
--enable-vertex-ai-cloud-logging. - Pour les serveurs MCP gérés par Google, utilisez l'indicateur
--enable-google-mcp-server-cloud-logging.
Pour désactiver la journalisation, utilisez l'un des indicateurs suivants :
- Pour Vertex AI, utilisez l'indicateur
--no-enable-vertex-ai-cloud-logging. Pour les serveurs MCP gérés par Google, utilisez l'indicateur
--no-enable-google-mcp-server-cloud-logging.
L'exemple de commande suivant active la journalisation des opérations de nettoyage pour Vertex AI et les serveurs MCP gérés par Google :
gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--enable-vertex-ai-cloud-logging \
--enable-google-mcp-server-cloud-logging
Remplacez PROJECT_ID par l'ID de votre projet.
REST
Vous pouvez utiliser la méthode UpdateFloorSetting pour mettre à jour les paramètres de plancher afin d'activer la journalisation des opérations de nettoyage. Lorsque vous utilisez cette méthode, veillez à définir le paramètre approprié sur "true" pour activer la journalisation :
Pour Vertex AI, définissez
aiPlatformFloorSetting.enableCloudLoggingsurtrue.Pour les serveurs MCP gérés par Google, définissez
googleMcpServerFloorSetting.enableCloudLoggingsurtrue.
L'exemple de commande suivant active la journalisation des opérations de nettoyage pour Vertex AI et les serveurs MCP gérés par Google :
curl -X PATCH \
-d '{ "aiPlatformFloorSetting":{ "enableCloudLogging": true}, "googleMcpServerFloorSetting":{ "enableCloudLogging": true}}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting?updateMask=aiPlatformFloorSetting.enableCloudLogging,googleMcpServerFloorSetting.enableCloudLogging"
Remplacez PROJECT_ID par l'ID de votre projet.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python et installez le SDK Model Armor pour Python.
from google.cloud.modelarmor import v1 as modelarmor_v1
from google.protobuf import field_mask_pb2
# TODO: Initialize the ModelArmorClient, "client"
# client = modelarmor_v1.ModelArmorClient()
project_id = "PROJECT_ID"
location = "global"
floor_setting_name = f"projects/{project_id}/locations/{location}/floorSetting"
request = modelarmor_v1.UpdateFloorSettingRequest(
floor_setting=modelarmor_v1.FloorSetting(
name=floor_setting_name,
ai_platform_floor_setting=modelarmor_v1.FloorSetting.AiPlatformFloorSetting(
enable_cloud_logging=True
),
google_mcp_server_floor_setting=modelarmor_v1.FloorSetting.GoogleMcpServerFloorSetting(
enable_cloud_logging=True
),
),
update_mask=field_mask_pb2.FieldMask(
paths=["ai_platform_floor_setting.enable_cloud_logging", "google_mcp_server_floor_setting.enable_cloud_logging"]
)
)
try:
response = client.update_floor_setting(request=request)
print("Successfully updated floor settings logging.")
print(response)
except Exception as e:
print(f"An error occurred: {e}")
Remplacez PROJECT_ID par l'ID de votre projet.
Afficher les journaux
Pour afficher les journaux Model Armor, vous pouvez utiliser l'explorateur de journaux dans Logging. Pour ce faire, procédez comme suit :
- Accédez à l'explorateur de journaux dans la Google Cloud console. Pour en savoir plus, consultez la page Afficher les journaux à l'aide de l'explorateur de journaux.
- Filtrez les journaux par nom de service
modelarmor.googleapis.com. - Recherchez les entrées liées aux opérations que vous avez activées dans votre modèle. Pour obtenir la liste de tous les noms de service et types de ressources surveillés, consultez la page Ressources surveillées et services.
Filtrer les journaux Model Armor
Vous pouvez utiliser des libellés de journaux pour filtrer les journaux Model Armor pour les opérations de nettoyage et la journalisation des modèles. Pour ce faire, procédez comme suit :
Exécutez la requête suivante dans l'explorateur de journaux pour filtrer les journaux des opérations de nettoyage.
jsonPayload.@type="type.googleapis.com/google.cloud.modelarmor.logging.v1.SanitizeOperationLogEntry"
Pour affiner davantage les journaux des opérations de nettoyage, vous pouvez spécifier un nom de client ou un ID de corrélation dans la requête.
Utiliser un nom de client : lorsque Model Armor est intégré à des services tels que Vertex AI ou Gemini Enterprise, vous pouvez utiliser le nom du client pour filtrer les journaux d'une intégration spécifique.
jsonPayload.@type="type.googleapis.com/google.cloud.modelarmor.logging.v1.SanitizeOperationLogEntry" labels."modelarmor.googleapis.com/client_name"="CLIENT_NAME"Utiliser un ID de corrélation :
labels."modelarmor.googleapis.com/client_correlation_id"="CORRELATION_ID"
Remplacez les éléments suivants :
CLIENT_NAME: nom de votre client, par exempleVERTEX_AI.CORRELATION_ID: identifiant unique que vous générez pour une requête spécifique.
Mettre en corrélation les journaux et les événements associés
Pour mettre en corrélation les journaux et les événements d'une interaction spécifique, vous pouvez utiliser un ID de corrélation client. Cet ID est un identifiant unique que vous générez (par exemple, un UUID) qui suit une requête spécifique dans votre système. Pour définir un ID de corrélation client dans un en-tête curl, utilisez l'option -H pour inclure un en-tête personnalisé dans votre requête.
Voici l'exemple de format :
uuid=$(uuidgen) \
curl -X POST -d '{"userPromptData": { "text": "USER_PROMPT" } }' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "MA-Client-Correlation-Id:${uuid}" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID:sanitizeUserPrompt"
curl -X POST \
-d '{"modelResponseData": { "text": "MODEL_RESPONSE" }, "userPrompt": "USER_PROMPT" }' \
-H "Content-Type: application/json" \
-H "MA-Client-Correlation-Id:${uuid}" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID:sanitizeModelResponse"
Remplacez les éléments suivants :
PROJECT_ID: ID du projet auquel appartient le modèle.LOCATION: l'emplacement du modèle.TEMPLATE_ID: ID du modèle.USER_PROMPT: prompt fourni au modèle.MODEL_RESPONSE: réponse reçue du modèle.