Mengakses log audit penggunaan Gemini Enterprise dengan Cloud Logging

Halaman ini menjelaskan cara menyiapkan dan mengakses log audit penggunaan untuk Gemini Enterprise.

Konsep utama

Bagian ini memperkenalkan konsep utama terkait observabilitas di Gemini Enterprise.

Konsep Deskripsi
Log audit penggunaan Log audit penggunaan adalah catatan aktivitas administratif dan akses dalam Google Cloud resource Anda. Log ini memberikan informasi mendetail tentang siapa yang melakukan tindakan apa, kapan, dan dari mana. Log ini penting untuk audit keamanan, kepatuhan, dan pemahaman tentang cara penggunaan resource Anda.

Sebelum memulai

Sebelum mengonfigurasi log audit, pastikan Anda memiliki hal berikut:

  • Aktifkan setelan observabilitas. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan setelan observabilitas.
  • Untuk mengaktifkan logging audit, Anda harus memiliki peran IAM Admin Gemini Enterprise (roles/discoveryengine.agentspaceAdmin).
  • Untuk mengakses Cloud Logging, Anda harus memiliki peran IAM Logs Viewer (roles/logging.viewer).
  • Pastikan Anda telah membuat aplikasi Gemini Enterprise. Untuk membuatnya, lihat Membuat aplikasi.

Informasi yang dicatat

Tabel berikut meringkas data penggunaan yang dicatat oleh Gemini Enterprise:

Jalur layanan Data yang dicatat
SearchService.Search

Mencatat data di sumber yang digunakan untuk grounding atau sebagai input LLM.

Permintaan:
  • query
  • user_info

Respons:
  • attribution_token
  • results.id
AssistantService.Assist

Mencatat permintaan dan respons dari asisten Gemini Enterprise.

Permintaan:
  • name
  • query.text
  • query.parts

Respons:
  • 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 Permintaan:
  • name
  • query.text
  • query.parts
  • agents_spec

Respons:
  • 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 Permintaan:
  • 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

Respons:
  • answer
  • answer_query_token
EngineService.CreateEngine Permintaan:
  • engine_id
  • engine.name
  • engine.create_time
  • engine.display_name
  • engine.update_time
  • engine.data_store_ids
  • engine.data_stores

Respons:
  • engine_id
  • engine.name
  • engine.create_time
  • engine.display_name
  • engine.update_time
  • engine.data_store_ids
  • engine.data_stores
EngineService.UpdateEngine Permintaan:
  • engine.name
  • engine.create_time
  • engine.display_name
  • engine.update_time
  • engine.data_store_ids
  • engine.data_stores
  • update_mask

Respons:
  • engine.name
  • engine.create_time
  • engine.display_name
  • engine.update_time
  • engine.data_store_ids
  • engine.data_stores
AgentService.SetIamPolicy Permintaan:
  • policy.bindings.roles
  • policy.bindings.members

Respons:
  • policy.bindings.roles
  • policy.bindings.members
AgentService.CreateAgent Permintaan:
  • parent
  • agent_id
  • agent.name
  • agent.display_name
  • agent.create_time
  • agent.update_time
  • agent.definition_case

Respons:
  • agent.name
  • agent.display_name
  • agent.create_time
  • agent.update_time
  • agent.definition_case
AgentService.UpdateAgent Permintaan:
  • agent.name
  • agent.display_name
  • agent.create_time
  • agent.update_time
  • agent.definition_case
  • update_mask

Respons:
  • agent.name
  • agent.display_name
  • agent.create_time
  • agent.update_time
  • agent.definition_case
AgentService.CreateAgentRequest Permintaan:
  • parent
  • agent_id
  • agent.name
  • agent.display_name
  • agent.create_time
  • agent.update_time
  • agent.definition_case

Respons:
  • agent.name
  • agent.display_name
  • agent.create_time
  • agent.update_time
  • agent.definition_case
GroundedGenerationService.GenerateGroundedContent Permintaan:
  • contents
  • location
  • generation_spec
  • system_instruction
  • safety_settings
  • user_labels
  • grounding_spec.explicit_search_queries
  • grounding_spec.grounding_sources

Respons:
  • content
  • grounding_metadata
  • grounding_score
DataConnectorService.UpdateDataConnector Permintaan:
  • data_connector.name
  • data_connector.create_time
  • data_connector.update_time
  • data_connector.data_source
  • data_connector.refresh_interval
  • data_connector.bap_config

Respons:
  • 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 Permintaan:
  • name
  • file_name

Respons:
  • session
  • file_id
AssistantService.UploadSessionFile Permintaan:
  • name
  • blob.filename

Respons:
  • file_id
UserEventService.WriteUserEvent Permintaan:
  • All fields in the request body

Respons:
  • Tidak ada kolom yang dicatat

Mengakses log audit penggunaan

Untuk mengakses dan melihat semua log audit penggunaan Gemini Enterprise, ikuti langkah-langkah berikut:

  1. Di Google Cloud konsol, buka halaman Logs Explorer.

    Buka Logs Explorer

  2. Pilih Google Cloud project yang logging auditnya Anda aktifkan.

  3. Untuk hanya menampilkan log Gemini Enterprise, masukkan kueri berikut di kolom editor kueri, lalu klik 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.*"
    

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda.

Mengontrol akses ke log

Anda dapat mengontrol akses ke log di Cloud Logging. Untuk panduan mendetail tentang metode kontrol akses, termasuk menggunakan IAM Conditions untuk akses yang sangat terperinci, lihat Kontrol akses dengan IAM.

Kontrol akses default

Secara default, Gemini Enterprise mengirimkan data Cloud Logging ke bucket _Default. Peran IAM berikut mengontrol akses ke bucket ini:

Kontrol akses yang sangat terperinci

Jika project Anda berisi log dengan tingkat sensitivitas yang bervariasi, Anda dapat menggunakan beberapa Google Cloud alat Cloud Logging untuk mengonfigurasi kontrol akses yang lebih terperinci.

Anda dapat mengonfigurasi kontrol akses yang sangat terperinci menggunakan opsi berikut:

Opsi Deskripsi
IAM Conditions Siapkan kontrol akses yang sangat terperinci menggunakan IAM Conditions. Untuk mengetahui informasi selengkapnya, lihat Peran Logging.
Tampilan log Gunakan tampilan log untuk membatasi akses pengguna ke subset log dalam bucket log. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi tampilan log di bucket log.
Sink log Gunakan sink log untuk merutekan log sensitif ke project terpisah dengan akses IAM yang lebih ketat. Untuk mengetahui informasi selengkapnya, lihat Merutekan log ke tujuan yang didukung.
Tag Gunakan tag untuk mengelola akses IAM ke setiap bucket log dalam project. Untuk mengetahui informasi selengkapnya, lihat Menggunakan tag untuk mengelola akses ke bucket log.
Kontrol akses tingkat kolom Gunakan kontrol akses tingkat kolom untuk menyembunyikan atau membatasi akses ke kolom tertentu dalam entri log. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi akses tingkat kolom.

Langkah berikutnya