Configurer la journalisation d'audit de l'utilisation pour Gemini Enterprise

Ce guide explique comment les administrateurs peuvent activer et surveiller la journalisation des audits d'utilisation pour Gemini Enterprise via l'API. Les journaux d'audit d'utilisation permettent aux organisations de suivre les opérations des utilisateurs, les métadonnées et le contenu principal à des fins d'audit et d'observabilité.

Vous pouvez gérer l'audit de l'utilisation de Gemini Enterprise à l'aide des paramètres ObservabilityConfig de l'application Gemini Enterprise. L'activation de l'observabilité permet de capturer les données de requête et de réponse, y compris les requêtes et les métadonnées d'ancrage, et de les stocker dans Cloud Logging.

Avant de commencer

Avant de configurer les journaux d'audit, assurez-vous de disposer des rôles IAM suivants :

Activer la journalisation d'audit de l'utilisation pour les applications

Les sections suivantes décrivent comment activer la journalisation d'audit de l'utilisation lors de la création d'une application ou pour une application existante.

Activer la journalisation d'audit de l'utilisation lors de la création d'une application

Vous pouvez activer la journalisation d'audit de l'utilisation lorsque vous créez une application en incluant les paramètres observabilityConfig dans la commande de création de l'application. Pour créer une application avec la journalisation d'audit d'utilisation activée, exécutez la commande suivante :

REST

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines?engineId=APP_ID" \
-d '{
  "name": "projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID",
  "displayName": "APP_DISPLAY_NAME",
  "solutionType": "SOLUTION_TYPE_SEARCH",
  "searchEngineConfig": {
    "searchTier": "SEARCH_TIER_ENTERPRISE",
    "searchAddOns": ["SEARCH_ADD_ON_LLM"],
    "requiredSubscriptionTier": "SUBSCRIPTION_TIER_SEARCH_AND_ASSISTANT"
  },
  "industryVertical": "GENERIC",
  "appType": "APP_TYPE_INTRANET",
  "observabilityConfig": {
    "observabilityEnabled": true,
    "sensitiveLoggingEnabled": true
  }
}'

Remplacez les éléments suivants :

  • ENDPOINT_LOCATION : région multirégionale pour votre requête API. Spécifiez l'une des valeurs suivantes :
    • us pour la multirégion des États-Unis
    • eu pour la multirégion de l'UE
    • global pour l'emplacement "Global"
    Pour en savoir plus, consultez Spécifier une multirégion pour votre datastore.
  • PROJECT_ID : par l'ID du projet.
  • LOCATION : région multirégionale de votre data store : global, us ou eu
  • APP_ID : ID de l'application que vous souhaitez créer.
  • APP_DISPLAY_NAME : nom à afficher de l'application que vous souhaitez créer.

Activer la journalisation d'audit de l'utilisation pour une application existante

Pour activer la journalisation d'audit de l'utilisation sur une application existante, exécutez la commande suivante :

REST

curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID?updateMask=observabilityConfig" \
-d '{
  "observabilityConfig": {
    "observabilityEnabled": true,
    "sensitiveLoggingEnabled": true
  }
}'

Remplacez les éléments suivants :

  • ENDPOINT_LOCATION : région multirégionale pour votre requête API. Spécifiez l'une des valeurs suivantes :
    • us pour la multirégion des États-Unis
    • eu pour la multirégion de l'UE
    • global pour l'emplacement "Global"
    Pour en savoir plus, consultez Spécifier une multirégion pour votre datastore.
  • PROJECT_ID : par l'ID du projet.
  • LOCATION : région multirégionale de votre data store : global, us ou eu
  • APP_ID : ID de l'application.

Informations consignées

Le tableau suivant récapitule les données d'utilisation enregistrées par Gemini Enterprise :

Chemin de service Données enregistrées
SearchService.Search

Enregistre les données sur les sources utilisées pour l'ancrage ou comme entrée LLM.

Demande :
  • query
  • user_info

Réponse :
  • attribution_token
  • results.id
AssistantService.Assist

Enregistre la requête et la réponse de l'assistant Gemini Enterprise.

Demande :
  • name
  • query.text
  • query.parts

Réponse :
  • assist_token
  • answer.name
  • answer.state
  • answer.replies.grounded_content.text
  • answer.replies.grounded_content.text_grounding_metadata.segments
  • answer.replies.grounded_content.text_grounding_metadata.references
  • answer.skipped_reasons
AssistantService.StreamAssist Demande :
  • name
  • query.text
  • query.parts
  • agents_spec

Réponse :
  • assist_token
  • answer.name
  • answer.state
  • answer.replies.grounded_content.text
  • answer.replies.grounded_content.text_grounding_metadata.segments
  • answer.replies.grounded_content.text_grounding_metadata.references
  • answer.skipped_reasons
ConversationSearchService.AnswerQuery Demande :
  • serving_config
  • query.query_id
  • query.text
  • session
  • user_pseudo_id
  • end_user_spec
  • answer_generation_spec.model_spec.model_version
  • answer_generation_spec.prompt_spec.preamble
  • answer_generation_spec.include_citations
  • answer_generation_spec.answer_language_code
  • answer_generation_spec.ignore_adversarial_query
  • answer_generation_spec.ignore_non_answer_seeking_query
  • answer_generation_spec.ignore_jail_breaking_query

Réponse :
  • answer
  • answer_query_token
EngineService.CreateEngine Demande :
  • engine_id
  • engine.name
  • engine.create_time
  • engine.display_name
  • engine.update_time
  • engine.data_store_ids
  • engine.data_stores

Réponse :
  • engine_id
  • engine.name
  • engine.create_time
  • engine.display_name
  • engine.update_time
  • engine.data_store_ids
  • engine.data_stores
EngineService.UpdateEngine Demande :
  • engine.name
  • engine.create_time
  • engine.display_name
  • engine.update_time
  • engine.data_store_ids
  • engine.data_stores
  • update_mask

Réponse :
  • engine.name
  • engine.create_time
  • engine.display_name
  • engine.update_time
  • engine.data_store_ids
  • engine.data_stores
AgentService.SetIamPolicy Demande :
  • policy.bindings.roles
  • policy.bindings.members

Réponse :
  • policy.bindings.roles
  • policy.bindings.members
AgentService.CreateAgent Demande :
  • parent
  • agent_id
  • agent.name
  • agent.display_name
  • agent.create_time
  • agent.update_time
  • agent.definition_case

Réponse :
  • agent.name
  • agent.display_name
  • agent.create_time
  • agent.update_time
  • agent.definition_case
AgentService.UpdateAgent Demande :
  • agent.name
  • agent.display_name
  • agent.create_time
  • agent.update_time
  • agent.definition_case
  • update_mask

Réponse :
  • agent.name
  • agent.display_name
  • agent.create_time
  • agent.update_time
  • agent.definition_case

Accéder aux journaux d'utilisation

Pour accéder aux journaux d'audit de l'utilisation et les afficher, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Sélectionnez le projet Google Cloud pour lequel vous avez activé la journalisation d'audit.

  3. Pour n'afficher que les journaux Gemini Enterprise, saisissez la requête suivante dans le champ de l'éditeur de requête, puis cliquez sur Exécuter la requête :

      logName="projects/PROJECT_ID/logs/discoveryengine.googleapis.com%2Fgemini_enterprise_user_activity
    

    Remplacez les éléments suivants :

    • PROJECT_ID : par l'ID du projet.

Désactiver les journaux d'audit d'utilisation pour une application

Pour désactiver la journalisation d'audit de l'utilisation, exécutez la commande suivante :

REST

curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID?updateMask=observabilityConfig" \
-d '{
  "observabilityConfig": {
    "observabilityEnabled": false,
    "sensitiveLoggingEnabled": false
  }
}'

Remplacez les éléments suivants :

  • ENDPOINT_LOCATION : région multirégionale pour votre requête API. Spécifiez l'une des valeurs suivantes :
    • us pour la multirégion des États-Unis
    • eu pour la multirégion de l'UE
    • global pour l'emplacement "Global"
    Pour en savoir plus, consultez Spécifier une multirégion pour votre datastore.
  • PROJECT_ID : par l'ID du projet.
  • LOCATION : région multirégionale de votre data store : global, us ou eu
  • APP_ID : ID de l'application.