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 kemampuan observasi di Gemini Enterprise.

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

Sebelum memulai

Sebelum mengonfigurasi log audit, pastikan Anda memiliki hal berikut:

Informasi yang dicatat

Tabel berikut meringkas data penggunaan yang dicatat oleh Gemini Enterprise. Setiap kolom diberi label sebagai berikut:

  • Sensitif: Kolom dapat berisi perintah, respons, atau konten pelanggan lainnya. Log ini hanya dicatat jika setelan Aktifkan pencatatan input perintah dan output respons diaktifkan. Jika setelan nonaktif, nilai teks diganti dengan <elided> dan nilai lainnya dihapus. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan setelan kemampuan pengamatan.
  • Tidak sensitif: Kolom dicatat terlepas dari apakah setelan diaktifkan atau tidak.
  • Sebagian sensitif: Hanya sub-kolom yang tercantum yang sensitif. Semua sub-kolom lainnya tidak sensitif.
Jalur layanan Data yang dicatat dalam log
SearchService.Search

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

Permintaan:
  • query (sensitif)
  • user_info (sebagian sensitif). Hanya sub-kolom berikut yang sensitif:
    • time_zone
    • precise_location

Respons:
  • attribution_token (tidak sensitif)
  • results.id (tidak sensitif)
AssistantService.Assist

Mencatat permintaan dan respons dari asisten Gemini Enterprise.

Permintaan:
  • name (tidak sensitif)
  • query.text (sensitif)
  • query.parts (sensitif)

Respons:
  • assist_token (tidak sensitif)
  • answer.name (tidak sensitif)
  • answer.state (tidak sensitif)
  • answer.replies.grounded_content.text (sensitif)
  • answer.replies.grounded_content.text_grounding_metadata.segments (sensitif)
  • answer.replies.grounded_content.text_grounding_metadata.references (sebagian sensitif). Semua sub-kolom bersifat sensitif, kecuali document_metadata.document dan document_metadata.uri.
  • answer.skipped_reasons (tidak sensitif)
  • agent_info.agent (tidak sensitif)
  • agent_info.display_name (sensitif)
  • agent_info.core_assistant (tidak sensitif)
  • agent_info.agent_kind (tidak sensitif)
  • agent_info.spiffe_id (tidak sensitif)
AssistantService.StreamAssist Permintaan:
  • name (tidak sensitif)
  • query.text (sensitif)
  • query.parts (sensitif)
  • agents_spec (sebagian sensitif). Hanya sub-kolom berikut yang sensitif:
    • agent_specs.input_variables
    • agent_specs.node_context.node_input
    • agent_specs.node_context.agent_description
    • agent_specs.node_context.node_instruction
    • agent_specs.artifact_spec.tagged_artifact_content

Respons:
  • assist_token (tidak sensitif)
  • answer.name (tidak sensitif)
  • answer.state (tidak sensitif)
  • answer.replies.grounded_content.text (sensitif)
  • answer.replies.grounded_content.text_grounding_metadata.segments (sensitif)
  • answer.replies.grounded_content.text_grounding_metadata.references (sebagian sensitif). Semua sub-kolom bersifat sensitif, kecuali document_metadata.document dan document_metadata.uri.
  • answer.skipped_reasons (tidak sensitif)
  • agent_info.agent (tidak sensitif)
  • agent_info.display_name (sensitif)
  • agent_info.core_assistant (tidak sensitif)
  • agent_info.agent_kind (tidak sensitif)
  • agent_info.spiffe_id (tidak sensitif)
  • model_info.model (tidak sensitif)
  • model_info.requested_model (tidak sensitif)
  • model_info.model_selection_mode (tidak sensitif)

model_info.model adalah model yang dijalankan asisten untuk giliran. Jika permintaan tidak menyematkan model, model_selection_mode adalah MODEL_SELECTION_MODE_AUTO dan requested_model kosong; jika permintaan menyematkan satu model, model_selection_mode adalah MODEL_SELECTION_MODE_EXPLICIT dan requested_model menyimpan model yang diminta.

Giliran dapat dialihkan ke agen khusus yang menjalankan model lain. model_info.model tidak melaporkan model agen tersebut, dan giliran yang melakukan semua pekerjaannya di agen tersebut akan membuat model_info.model kosong.

ConversationSearchService.AnswerQuery Permintaan:
  • serving_config (tidak sensitif)
  • query.query_id (tidak sensitif)
  • query.text (sensitif)
  • session (tidak sensitif)
  • user_pseudo_id (tidak sensitif)
  • end_user_spec (sebagian sensitif). Hanya sub-kolom berikut yang sensitif:
    • end_user_metadata.chunk_info.content
    • end_user_metadata.chunk_info.document_metadata.title
  • answer_generation_spec.model_spec.model_version (tidak sensitif)
  • answer_generation_spec.prompt_spec.preamble (sensitif)
  • answer_generation_spec.include_citations (tidak sensitif)
  • answer_generation_spec.answer_language_code (sensitif)
  • answer_generation_spec.ignore_adversarial_query (tidak sensitif)
  • answer_generation_spec.ignore_non_answer_seeking_query (tidak sensitif)
  • answer_generation_spec.ignore_jail_breaking_query (tidak sensitif)

Respons:
  • answer (sebagian sensitif). Hanya sub-kolom berikut yang sensitif:
    • answer_text
    • grounding_supports
    • references
    • blob_attachments
    • steps.actions
  • answer_query_token (tidak sensitif)
EngineService.CreateEngine Permintaan:
  • engine_id (tidak sensitif)
  • engine.name (tidak sensitif)
  • engine.create_time (tidak sensitif)
  • engine.display_name (tidak sensitif)
  • engine.update_time (tidak sensitif)
  • engine.data_store_ids (tidak sensitif)
  • engine.data_stores (tidak sensitif)

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

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

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

Respons:
  • agent.name (tidak sensitif)
  • agent.display_name (sensitif)
  • agent.create_time (tidak sensitif)
  • agent.update_time (tidak sensitif)
  • agent.definition_case (tidak sensitif)
AgentService.UpdateAgent Permintaan:
  • agent.name (tidak sensitif)
  • agent.display_name (sensitif)
  • agent.create_time (tidak sensitif)
  • agent.update_time (tidak sensitif)
  • agent.definition_case (tidak sensitif)
  • update_mask (tidak sensitif)

Respons:
  • agent.name (tidak sensitif)
  • agent.display_name (sensitif)
  • agent.create_time (tidak sensitif)
  • agent.update_time (tidak sensitif)
  • agent.definition_case (tidak sensitif)
AgentService.DeleteAgent Permintaan:
  • name (tidak sensitif)

Respons:
  • Tidak ada kolom yang dicatat
GroundedGenerationService.GenerateGroundedContent Permintaan:
  • contents (sensitif)
  • location (tidak sensitif)
  • generation_spec (sebagian sensitif). Hanya sub-kolom berikut yang sensitif:
    • language_code
  • system_instruction (sensitif)
  • safety_settings (tidak sensitif)
  • user_labels (sensitif)
  • grounding_spec.explicit_search_queries (sensitif)
  • grounding_spec.grounding_sources (sebagian sensitif). Hanya sub-kolom berikut yang sensitif:
    • inline_source
    • search_source.filter
    • api_source.manifest.api_spec.open_api_yaml
    • elastic_source.search_template
    • elastic_source.num_hits
    • parallel_ai_source.custom_configs
    • exa_ai_source.custom_configs

Respons:
  • content (sensitif)
  • grounding_metadata (sebagian sensitif). Hanya sub-kolom berikut yang sensitif:
    • support_chunks, kecuali source dan index
    • google_maps_support_chunks, kecuali source dan index
    • api_calls.request_payload
    • api_calls.response_body
    • api_calls.uri
  • grounding_score (tidak sensitif)
DataConnectorService.UpdateDataConnector Permintaan:
  • data_connector.name (tidak sensitif)
  • data_connector.create_time (tidak sensitif)
  • data_connector.update_time (tidak sensitif)
  • data_connector.data_source (tidak sensitif)
  • data_connector.refresh_interval (tidak sensitif)
  • data_connector.bap_config (tidak sensitif)

Respons:
  • data_connector.name (tidak sensitif)
  • data_connector.create_time (tidak sensitif)
  • data_connector.update_time (tidak sensitif)
  • data_connector.data_source (tidak sensitif)
  • data_connector.refresh_interval (tidak sensitif)
  • data_connector.bap_config (tidak sensitif)
AssistantService.AddContextFile Permintaan:
  • name (tidak sensitif)
  • file_name (sensitif)

Respons:
  • session (tidak sensitif)
  • file_id (tidak sensitif)
AssistantService.UploadSessionFile Permintaan:
  • name (tidak sensitif)
  • blob.filename (sensitif)

Respons:
  • file_id (tidak sensitif)
UserEventService.WriteUserEvent Permintaan:
  • Semua kolom di isi permintaan (sebagian sensitif). Hanya sub-kolom berikut yang sensitif:
    • user_event.user_info.time_zone
    • user_event.user_info.precise_location
    • user_event.filter
    • user_event.attributes
    • user_event.panel.documents
    • user_event.panels.documents
    • user_event.search_info.search_query
    • user_event.completion_info.selected_suggestion
    • user_event.feedback.comment
    • user_event.feedback.conversation_info.query

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 konsol Google Cloud , buka halaman Logs Explorer.

    Buka Logs Explorer

  2. Pilih Google Cloud project yang mengaktifkan log audit.

  3. Untuk menampilkan hanya 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 penggunaan kondisi IAM untuk akses terperinci, lihat Kontrol akses dengan IAM.

Kontrol akses default

Secara default, Gemini Enterprise mengirim 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 berbagai tingkat sensitivitas, Anda dapat menggunakan beberapa alat Google Cloud dan Cloud Logging untuk mengonfigurasi kontrol akses yang lebih terperinci.

Anda dapat mengonfigurasi kontrol akses terperinci menggunakan opsi berikut:

Opsi Deskripsi
IAM Conditions Siapkan kontrol akses terperinci menggunakan kondisi IAM. Untuk informasi selengkapnya, lihat Peran logging.
Tampilan log Gunakan tampilan log untuk membatasi akses pengguna ke sebagian 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