Accéder aux journaux d'audit de l'utilisation de Gemini Enterprise avec Cloud Logging

Cette page explique comment configurer les journaux d'audit d'utilisation pour Gemini Enterprise et y accéder.

Concepts clés

Cette section présente les concepts clés liés à l'observabilité dans Gemini Enterprise.

Concept Description
Journaux d'audit de l'utilisation Les journaux d'audit d'utilisation sont des enregistrements des activités d'administration et des accès dans vos ressources Google Cloud . Ils fournissent des informations détaillées sur qui a effectué quelle action, quand et d'où. Ces journaux sont essentiels pour l'audit de sécurité, la conformité et la compréhension de l'utilisation de vos ressources.

Avant de commencer

Avant de configurer les journaux d'audit, assurez-vous de disposer des éléments suivants :

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
AgentService.CreateAgentRequest 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
GroundedGenerationService.GenerateGroundedContent Demande :
  • contents
  • location
  • generation_spec
  • system_instruction
  • safety_settings
  • user_labels
  • grounding_spec.explicit_search_queries
  • grounding_spec.grounding_sources

Réponse :
  • content
  • grounding_metadata
  • grounding_score
DataConnectorService.UpdateDataConnector Demande :
  • data_connector.name
  • data_connector.create_time
  • data_connector.update_time
  • data_connector.data_source
  • data_connector.refresh_interval
  • data_connector.bap_config

Réponse :
  • data_connector.name
  • data_connector.create_time
  • data_connector.update_time
  • data_connector.data_source
  • data_connector.refresh_interval
  • data_connector.bap_config
AssistantService.AddContextFile Demande :
  • name
  • file_name

Réponse :
  • session
  • file_id
AssistantService.UploadSessionFile Demande :
  • name
  • blob.filename

Réponse :
  • file_id
UserEventService.WriteUserEvent Demande :
  • All fields in the request body

Réponse :
  • Aucun champ n'est consigné

Accéder aux journaux d'audit d'utilisation

Pour accéder à tous les journaux d'audit de l'utilisation de Gemini Enterprise 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" OR logName=~"projects/PROJECT_ID/logs/discoveryengine.googleapis.com%2Fgen_ai.*"
    

    Remplacez les éléments suivants :

    • PROJECT_ID : par l'ID du projet.

Contrôler l'accès aux journaux

Vous pouvez contrôler l'accès aux journaux dans Cloud Logging. Pour obtenir des conseils détaillés sur les méthodes de contrôle des accès, y compris sur l'utilisation des conditions IAM pour un accès précis, consultez Contrôle des accès avec IAM.

Contrôle des accès par défaut

Par défaut, Gemini Enterprise envoie les données Cloud Logging au bucket _Default. Les rôles IAM suivants contrôlent l'accès à ce bucket :

Contrôle précis des accès

Si votre projet contient des journaux avec différents niveaux de sensibilité, vous pouvez utiliser plusieurs outils Google Cloud et Cloud Logging pour configurer un contrôle des accès plus précis.

Vous pouvez configurer un contrôle précis des accès à l'aide des options suivantes :

Option Description
Conditions IAM Configurez contrôle des accès précis à l'aide des conditions IAM. Pour en savoir plus, consultez Rôles Logging.
Vues de journaux Utilisez des vues de journaux pour limiter l'accès des utilisateurs à un sous-ensemble de journaux dans un bucket de journaux. Pour en savoir plus, consultez Configurer des vues de journaux dans un bucket de journaux.
Récepteurs de journaux Utilisez des récepteurs de journaux pour acheminer les journaux sensibles vers un projet distinct avec un accès IAM plus restrictif. Pour en savoir plus, consultez Acheminer les journaux vers des destinations compatibles.
Tags Utilisez des tags pour gérer l'accès IAM à des buckets de journaux individuels dans un projet. Pour en savoir plus, consultez Utiliser des tags pour gérer l'accès aux buckets de journaux.
Contrôle d'accès au niveau du champ Utilisez le contrôle des accès au niveau du champ pour masquer ou restreindre l'accès à des champs spécifiques dans les entrées de journal. Pour en savoir plus, consultez Configurer l'accès au niveau des champs.

Étapes suivantes