使用 Cloud Logging 访问 Gemini Enterprise 用量审核日志

本页面介绍了如何为 Gemini Enterprise 设置和访问使用情况审核日志。

主要概念

本部分介绍了与 Gemini Enterprise 中的可观测性相关的主要概念。

概念 说明
使用情况审核日志 使用情况审核日志是 资源 Google Cloud 中的管理活动和访问情况的记录。它们提供了有关谁执行了什么操作、何时执行以及从何处执行的详细信息。这些日志对于安全审核、合规性以及了解资源的使用方式至关重要。

准备工作

在配置审核日志之前,请确保您已完成以下操作:

  • 启用可观测性设置。如需了解详情,请参阅 启用可观测性设置。
  • 如需启用审核日志记录,您必须拥有 Gemini Enterprise Admin IAM 角色 (roles/discoveryengine.agentspaceAdmin)。
  • 如需访问 Cloud Logging,您必须拥有 日志查看器 IAM 角色 (roles/logging.viewer)。
  • 确保您已创建 Gemini Enterprise 应用。如需创建应用,请参阅 创建应用。

记录的信息

下表总结了 Gemini Enterprise 记录的使用情况数据。 每个字段的标签如下:

  • 敏感:该字段可能包含提示、回答或其他客户 内容。只有在启用提示输入和回答输出的日志记录 设置后,系统才会记录该字段。如果该设置处于关闭状态,文本 值会被替换为 <elided>,其他值会被省略。如需了解详情,请参阅 启用可观测性设置。
  • 不敏感:无论该设置是否 启用,系统都会记录该字段。
  • 部分敏感:只有列出的子字段是敏感的。所有其他子字段都不敏感。
服务路径 记录的数据
SearchService.Search

记录用于接地或作为 LLM 输入的来源的数据。

请求:
  • query(敏感)
  • user_info(部分敏感)。只有以下子字段是敏感的:
    • time_zone
    • precise_location

回答:
  • attribution_token(不敏感)
  • results.id(不敏感)
  • results.document.name(不敏感)
AssistantService.Assist

记录来自 Gemini Enterprise 助理的请求和回答。

请求:
  • name(不敏感)
  • query.text(敏感)
  • query.parts(敏感)

回答:
  • 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(部分敏感)。除了 document_metadata.document 和 document_metadata.uri 之外,所有子字段都是敏感的。
  • answer.skipped_reasons(不敏感)
  • agent_info.agent(不敏感)
  • agent_info.display_name(敏感)
  • agent_info.core_assistant(不敏感)
  • agent_info.agent_kind(不敏感)
  • agent_info.spiffe_id(不敏感)
AssistantService.StreamAssist 请求:
  • name(不敏感)
  • query.text(敏感)
  • query.parts(敏感)
  • agents_spec(部分敏感)。只有以下子字段是敏感的:
    • agent_specs.input_variables
    • agent_specs.node_context.node_input
    • agent_specs.node_context.agent_description
    • agent_specs.node_context.node_instruction
    • agent_specs.artifact_spec.tagged_artifact_content

回答:
  • 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(部分敏感)。除了 document_metadata.document 和 document_metadata.uri 之外,所有子字段都是敏感的。
  • answer.skipped_reasons(不敏感)
  • agent_info.agent(不敏感)
  • agent_info.display_name(敏感)
  • agent_info.core_assistant(不敏感)
  • agent_info.agent_kind(不敏感)
  • agent_info.spiffe_id(不敏感)
  • model_info.model(不敏感)
  • model_info.requested_model(不敏感)
  • model_info.model_selection_mode(不敏感)

model_info.model 是助理为 该轮次运行的模型。如果请求未固定模型,则model_selection_mode 为MODEL_SELECTION_MODE_AUTO,requested_model 为空;如果请求固定了模型,则model_selection_mode 为MODEL_SELECTION_MODE_EXPLICIT,requested_model 包含所请求的模型。

轮次可以移交给运行不同 模型。model_info.model 不会报告该智能体的 模型,并且在此类智能体中完成所有工作的轮次会使 model_info.model 为空。

ConversationSearchService.AnswerQuery 请求:
  • serving_config(不敏感)
  • query.query_id(不敏感)
  • query.text(敏感)
  • session(不敏感)
  • user_pseudo_id(不敏感)
  • end_user_spec(部分敏感)。只有以下子字段是敏感的:
    • end_user_metadata.chunk_info.content
    • end_user_metadata.chunk_info.document_metadata.title
  • 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(不敏感)

回答:
  • answer(部分敏感)。只有以下子字段是敏感的:
    • answer_text
    • grounding_supports
    • references
    • blob_attachments
    • steps.actions
  • answer_query_token(不敏感)
EngineService.CreateEngine 请求:
  • engine_id(不敏感)
  • engine.name(不敏感)
  • engine.create_time(不敏感)
  • engine.display_name(不敏感)
  • engine.update_time(不敏感)
  • engine.data_store_ids(不敏感)
  • engine.data_stores(不敏感)

回答:
  • engine_id(不敏感)
  • engine.name(不敏感)
  • engine.create_time(不敏感)
  • engine.display_name(不敏感)
  • engine.update_time(不敏感)
  • engine.data_store_ids(不敏感)
  • engine.data_stores(不敏感)
EngineService.UpdateEngine 请求:
  • engine.name(不敏感)
  • engine.create_time(不敏感)
  • engine.display_name(不敏感)
  • engine.update_time(不敏感)
  • engine.data_store_ids(不敏感)
  • engine.data_stores(不敏感)
  • update_mask(不敏感)

回答:
  • engine.name(不敏感)
  • engine.create_time(不敏感)
  • engine.display_name(不敏感)
  • engine.update_time(不敏感)
  • engine.data_store_ids(不敏感)
  • engine.data_stores(不敏感)
AgentService.SetIamPolicy 请求:
  • policy.bindings.roles(不敏感)
  • policy.bindings.members(不敏感)

回答:
  • policy.bindings.roles(不敏感)
  • policy.bindings.members(不敏感)
AgentService.CreateAgent 请求:
  • parent(不敏感)
  • agent_id(不敏感)
  • agent.name(不敏感)
  • agent.display_name(敏感)
  • agent.create_time(不敏感)
  • agent.update_time(不敏感)
  • agent.definition_case(不敏感)

回答:
  • agent.name(不敏感)
  • agent.display_name(敏感)
  • agent.create_time(不敏感)
  • agent.update_time(不敏感)
  • agent.definition_case(不敏感)
AgentService.UpdateAgent 请求:
  • agent.name(不敏感)
  • agent.display_name(敏感)
  • agent.create_time(不敏感)
  • agent.update_time(不敏感)
  • agent.definition_case(不敏感)
  • update_mask(不敏感)

回答:
  • agent.name(不敏感)
  • agent.display_name(敏感)
  • agent.create_time(不敏感)
  • agent.update_time(不敏感)
  • agent.definition_case(不敏感)
AgentService.DeleteAgent 请求:
  • name(不敏感)

回答:
  • 系统不会记录任何字段
GroundedGenerationService.GenerateGroundedContent 请求:
  • contents(敏感)
  • location(不敏感)
  • generation_spec(部分敏感)。只有以下子字段是敏感的:
    • language_code
  • system_instruction(敏感)
  • safety_settings(不敏感)
  • user_labels(敏感)
  • grounding_spec.explicit_search_queries(敏感)
  • grounding_spec.grounding_sources(部分敏感)。只有以下子字段是敏感的:
    • inline_source
    • search_source.filter
    • api_source.manifest.api_spec.open_api_yaml
    • elastic_source.search_template
    • elastic_source.num_hits
    • parallel_ai_source.custom_configs
    • exa_ai_source.custom_configs

回答:
  • content(敏感)
  • grounding_metadata(部分敏感)。只有以下子字段是敏感的:
    • support_chunks,但 source 和 index 除外
    • google_maps_support_chunks,但 source 和 index 除外
    • api_calls.request_payload
    • api_calls.response_body
    • api_calls.uri
  • grounding_score(不敏感)
DataConnectorService.UpdateDataConnector 请求:
  • data_connector.name(不敏感)
  • data_connector.create_time(不敏感)
  • data_connector.update_time(不敏感)
  • data_connector.data_source(不敏感)
  • data_connector.refresh_interval(不敏感)
  • data_connector.bap_config(不敏感)

回答:
  • 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 请求:
  • name(不敏感)
  • file_name(敏感)

回答:
  • session(不敏感)
  • file_id(不敏感)
AssistantService.UploadSessionFile 请求:
  • name(不敏感)
  • blob.filename(敏感)

回答:
  • file_id(不敏感)
UserEventService.WriteUserEvent 请求:
  • 请求正文中的所有字段(部分敏感)。只有以下子字段是敏感的:
    • user_event.user_info.time_zone
    • user_event.user_info.precise_location
    • user_event.filter
    • user_event.attributes
    • user_event.panel.documents
    • user_event.panels.documents
    • user_event.search_info.search_query
    • user_event.completion_info.selected_suggestion
    • user_event.feedback.comment
    • user_event.feedback.conversation_info.query

回答:
  • 系统不会记录任何字段

访问使用情况审核日志

如需访问和查看所有 Gemini Enterprise 使用情况审核日志,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Logs Explorer 页面。

    转到日志浏览器

  2. 选择您为其启用了审核日志记录的 Google Cloud 项目。

  3. 如需仅显示 Gemini Enterprise 日志,请在查询 编辑器字段中输入以下查询,然后点击 运行查询:

      logName="projects/PROJECT_ID/logs/discoveryengine.googleapis.com%2Fgemini_enterprise_user_activity" OR logName=~"projects/PROJECT_ID/logs/discoveryengine.googleapis.com%2Fgen_ai.*"
    

    替换以下内容:

    • PROJECT_ID:您的项目的 ID。

控制对日志的访问权限

您可以在 Cloud Logging 中控制对日志的访问权限。如需详细了解访问权限控制方法(包括使用 IAM Condition 进行精细访问),请参阅 使用 IAM 进行访问权限控制。

默认访问权限控制

默认情况下,Gemini Enterprise 会将 Cloud Logging 数据发送到 _Default 存储桶。以下 IAM 角色控制对此存储桶的访问权限:

精细访问权限控制

如果您的项目包含不同敏感程度的日志,您可以使用 多个 Google Cloud 和 Cloud Logging 工具来配置更 精细的访问权限控制。

您可以使用以下选项配置精细访问权限控制:

选项 说明
IAM 条件 使用 IAM 条件设置精细访问权限控制。如需了解详情,请参阅 Logging 角色。
日志视图 使用日志视图将用户访问权限限制为日志存储桶中的部分 日志。如需了解详情,请参阅 在日志存储桶上配置日志视图。
日志接收器 使用日志接收器将敏感日志路由到具有更 严格 IAM 访问权限的单独项目。如需了解详情,请参阅 将日志路由到支持的目的地。
标记 使用标记管理对项目中各个日志存储桶的 IAM 访问权限。 如需了解详情,请参阅 使用标记管理对日志存储桶的访问权限。
字段级访问权限控制 使用字段级访问权限控制来隐藏或限制对日志条目中特定字段 的访问权限。如需了解详情,请参阅 配置字段级访问权限。

后续步骤