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 条件を使用して、きめ細かいアクセス制御を設定します。詳細については、ロギングのロールをご覧ください。
ログビュー ログビューを使用して、ログバケット内の ログのサブセットへのユーザー アクセスを制限します。詳細については、 ログバケットでログビューを構成するをご覧ください。
ログシンク ログシンクを使用して、機密ログを、より 制限の厳しい IAM アクセス権を持つ別のプロジェクトにルーティングします。詳細については、 サポートされている宛先にログをルーティングするをご覧ください。
タグ タグを使用して、プロジェクト内の個々のログバケットへの IAM アクセスを管理します。 詳細については、 タグを使用してログバケットへのアクセスを管理するをご覧ください。
フィールド レベルのアクセス制御 フィールド レベルのアクセス制御を使用して、ログエントリ内の特定のフィールド へのアクセスを非表示にするか、制限します。詳細については、 フィールド レベルのアクセスを構成するをご覧ください。

次のステップ