Gemini Enterprise の使用状況監査ロギングを構成する

このガイドでは、管理者が API を使用して Gemini Enterprise の使用状況監査ロギングを有効にしてモニタリングする方法について説明します。使用状況監査ログを使用すると、組織は監査とオブザーバビリティの目的で、ユーザー操作、メタデータ、コア コンテンツを追跡できます。

Gemini Enterprise の使用状況監査は、Gemini Enterprise アプリの ObservabilityConfig 設定を使用して管理できます。オブザーバビリティを有効にすると、プロンプトやグラウンディング メタデータなどのリクエストとレスポンスのデータがキャプチャされ、Cloud Logging に保存されます。

始める前に

監査ログを構成する前に、次の IAM ロールがあることを確認してください。

アプリの使用状況の監査ロギングを有効にする

以降のセクションでは、新しいアプリを作成するとき、または既存のアプリで、使用状況監査ロギングを有効にする方法について説明します。

アプリの作成時に使用状況監査ロギングを有効にする

新しいアプリを作成するときに、アプリ作成コマンドに observabilityConfig 設定を含めることで、使用状況監査ロギングを有効にできます。使用状況監査ロギングを有効にして新しいアプリを作成するには、次のコマンドを実行します。

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
  }
}'

次のように置き換えます。

  • ENDPOINT_LOCATION: API リクエストのマルチリージョン。次のいずれかの値を指定します。
    • 米国のマルチリージョンの場合は us
    • EU のマルチリージョンの場合は eu
    • グローバル ロケーションの場合は global
    詳細については、データストアのマルチリージョンを指定するをご覧ください。
  • PROJECT_ID: 実際のプロジェクトの ID。
  • LOCATION: データストアのマルチリージョン(globaluseu
  • APP_ID: 作成するアプリの ID。
  • APP_DISPLAY_NAME: 作成するアプリの表示名。

既存のアプリの使用状況監査ロギングを有効にする

既存のアプリで使用状況監査ロギングを有効にするには、次のコマンドを実行します。

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
  }
}'

次のように置き換えます。

  • ENDPOINT_LOCATION: API リクエストのマルチリージョン。次のいずれかの値を指定します。
    • 米国のマルチリージョンの場合は us
    • EU のマルチリージョンの場合は eu
    • グローバル ロケーションの場合は global
    詳細については、データストアのマルチリージョンを指定するをご覧ください。
  • PROJECT_ID: 実際のプロジェクトの ID。
  • LOCATION: データストアのマルチリージョン(globaluseu
  • APP_ID: アプリの ID。

ログに記録される情報

次の表に、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

使用状況ログにアクセスする

使用状況監査ログにアクセスして表示する手順は次のとおりです。

  1. Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。

    [ログ エクスプローラ] に移動

  2. 監査ロギングを有効にした Google Cloud プロジェクトを選択します。

  3. Gemini Enterprise ログのみを表示するには、クエリエディタ フィールドに次のクエリを入力し、[クエリを実行] をクリックします。

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

    次のように置き換えます。

    • PROJECT_ID: 実際のプロジェクトの ID。

アプリの使用状況監査ログをオフにする

使用状況の監査ロギングをオフにするには、次のコマンドを実行します。

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
  }
}'

次のように置き換えます。

  • ENDPOINT_LOCATION: API リクエストのマルチリージョン。次のいずれかの値を指定します。
    • 米国のマルチリージョンの場合は us
    • EU のマルチリージョンの場合は eu
    • グローバル ロケーションの場合は global
    詳細については、データストアのマルチリージョンを指定するをご覧ください。
  • PROJECT_ID: 実際のプロジェクトの ID。
  • LOCATION: データストアのマルチリージョン(globaluseu
  • APP_ID: アプリの ID。