透過 Cloud Logging 存取 Gemini Enterprise 使用情形稽核記錄

本頁說明如何設定及存取 Gemini Enterprise 的使用稽核記錄。

基本概念

本節將介紹 Gemini Enterprise 中與可觀測性相關的重要概念。

概念 說明
用量稽核記錄 使用量稽核記錄會記錄 Google Cloud 資源中的管理活動和存取權。這些記錄會詳細說明誰在何時從何處執行了哪些動作。這些記錄檔對於安全稽核、法規遵循,以及瞭解資源的使用方式至關重要。

事前準備

設定稽核記錄前,請確認您擁有下列項目:

  • 開啟可觀測性設定。詳情請參閱「開啟可觀測性設定」。
  • 如要啟用稽核記錄,您必須具備 Gemini Enterprise 管理員 IAM 角色 (roles/discoveryengine.agentspaceAdmin)。
  • 如要存取 Cloud Logging,您必須具備「記錄檢視者」IAM 角色 (roles/logging.viewer)。
  • 確認您已建立 Gemini Enterprise 應用程式。如要建立應用程式,請參閱「建立應用程式」。

記錄資訊

下表彙整 Gemini Enterprise 記錄的用量資料:

服務路徑 記錄資料
SearchService.Search

記錄用於建立基準或做為 LLM 輸入內容的來源資料。

要求:
  • query
  • user_info

回覆:
  • attribution_token
  • results.id
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
  • answer.skipped_reasons
AssistantService.StreamAssist 要求:
  • name
  • query.text
  • query.parts
  • agents_spec

回覆:
  • 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 要求:
  • 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

回覆:
  • answer
  • 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.CreateAgentRequest 要求:
  • 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
GroundedGenerationService.GenerateGroundedContent 要求:
  • contents
  • location
  • generation_spec
  • system_instruction
  • safety_settings
  • user_labels
  • grounding_spec.explicit_search_queries
  • grounding_spec.grounding_sources

回覆:
  • content
  • grounding_metadata
  • 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 要求:
  • All fields in the request body

回覆:
  • 未記錄任何欄位

存取用量稽核記錄

如要存取及查看所有 Gemini Enterprise 使用情況稽核記錄,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往 Logs Explorer

  2. 選取已啟用稽核記錄的 Google Cloud 專案。

  3. 如要只顯示 Gemini Enterprise 記錄,請在查詢編輯器欄位中輸入下列查詢,然後按一下「Run Query」(執行查詢)

      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 條件進行精細存取權控管,請參閱「使用 IAM 控管存取權」。

預設存取控管

根據預設,Gemini Enterprise 會將 Cloud Logging 資料傳送至 _Default 值區。下列 IAM 角色可控管這個值區的存取權:

精細的存取控管機制

如果專案包含不同私密程度的記錄,您可以使用多種 Google Cloud 和 Cloud Logging 工具,設定更精細的存取權控管。

您可以使用下列選項設定精細的存取權控管:

選項 說明
IAM 條件 使用 IAM 條件設定精細的存取控管機制。詳情請參閱「記錄角色」。
記錄檢視 使用記錄檢視畫面,限制使用者只能存取記錄檔 bucket 中的部分記錄。詳情請參閱「設定記錄檔 bucket 的記錄檢視畫面」。
記錄接收器 使用記錄接收器將機密記錄檔轉送至 IAM 存取權限制較嚴格的獨立專案。詳情請參閱「將記錄檔轉送至支援的目的地」。
標記 您可以使用標記,管理專案中個別記錄值區的 IAM 存取權。詳情請參閱「使用標記管理記錄值區的存取權」。
欄位層級存取控管 使用欄位層級的存取控管機制,隱藏或限制存取記錄項目中的特定欄位。詳情請參閱「設定欄位層級存取權」。

後續步驟