Cloud Logging で Gemini Enterprise の使用状況監査ログにアクセスする

このページでは、Gemini Enterprise の使用状況監査ログを設定してアクセスする方法について説明します。

主なコンセプト

このセクションでは、Gemini Enterprise のオブザーバビリティに関連する主なコンセプトについて説明します。

コンセプト 説明
使用状況監査ログ 使用状況監査ログは、 Google Cloud リソース内の管理アクティビティとアクセスを記録したものです。これらのログには、誰が、いつ、どこから、どのような操作を行ったかに関する詳細な情報が記録されます。これらのログは、セキュリティ監査、コンプライアンス、リソースの使用状況の把握に不可欠です。

始める前に

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

ログに記録される情報

次の表に、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 コンソールで、[ログ エクスプローラ] ページに移動します。

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

  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 条件を使用してきめ細かいアクセスを実現するなど、アクセス制御方法の詳細なガイダンスについては、IAM によるアクセス制御をご覧ください。

デフォルトのアクセス制御

デフォルトでは、Gemini Enterprise は Cloud Logging データを _Default バケットに送信します。次の IAM ロールは、このバケットへのアクセスを制御します。

細分化されたアクセス制御

プロジェクトにさまざまな機密レベルのログが含まれている場合は、複数の Google Cloud と Cloud Logging ツールを使用して、よりきめ細かいアクセス制御を構成できます。

次のオプションを使用して、きめ細かいアクセス制御を構成できます。

オプション 説明
IAM の条件 IAM 条件を使用してきめ細かいアクセス制御を設定する。詳細については、Logging のロールをご覧ください。
ログビュー ログビューを使用して、ログバケット内のログのサブセットに対するユーザー アクセスを制限します。詳細については、ログバケットのログビューを構成するをご覧ください。
ログシンク ログシンクを使用して、機密性の高いログを IAM アクセスがより制限されている別のプロジェクトにルーティングします。詳細については、サポートされている宛先にログを転送するをご覧ください。
タグ タグを使用して、プロジェクト内の個々のログバケットに対する IAM アクセスを管理します。詳細については、タグを使用してログバケットへのアクセスを管理するをご覧ください。
フィールド レベルのアクセス制御 フィールド レベルのアクセス制御を使用して、ログエントリ内の特定のフィールドへのアクセスを非表示にしたり、制限したりします。詳細については、フィールド レベルのアクセスを構成するをご覧ください。

次のステップ