גישה ליומני ביקורת של השימוש ב-Gemini Enterprise באמצעות Cloud Logging

בדף הזה מוסבר איך להגדיר יומני ביקורת של השימוש ב-Gemini Enterprise ואיך לגשת אליהם.

מושגים מרכזיים

בקטע הזה נסביר על מושגי מפתח שקשורים לניטור ב-Gemini Enterprise.

קונספט תיאור
יומני ביקורת יומני ביקורת של שימוש הם רשומות של פעילויות אדמין וגישות למשאבים ב- Google Cloud . הם מספקים מידע מפורט על המשתמש שביצע את הפעולה, מתי היא בוצעה ומאיפה. היומנים האלה חיוניים לביקורת אבטחה, לתאימות ולהבנת אופן השימוש במשאבים.

לפני שמתחילים

לפני שמגדירים יומני ביקורת, צריך לוודא שיש לכם:

המידע שנרשם ביומן

בטבלה הבאה מפורטים נתוני השימוש שנרשמים ב-Gemini Enterprise. כל שדה מתויג באופן הבא:

  • רגיש: השדה יכול להכיל הנחיות, תשובות או תוכן אחר של לקוחות. המידע הזה נרשם ביומן רק אם ההגדרה הפעלת הרישום ביומן של קלט ההנחיות ופלט התשובות מופעלת. כשההגדרה מושבתת, ערכי הטקסט מוחלפים ב-<elided> וערכים אחרים מושמטים. מידע נוסף מופיע במאמר בנושא הפעלת הגדרות של יכולת תצפית.
  • לא רגיש: השדה נרשם ביומן גם אם ההגדרה מופעלת וגם אם לא.
  • רגיש באופן חלקי: רק שדות המשנה שברשימה רגישים. כל שאר שדות המשנה לא רגישים.
נתיב השירות נתונים שנרשמו ביומן
SearchService.Search

מתעד את הנתונים על המקורות ששימשו לעיגון או כקלט של ה-LLM.

בקשה:
  • query (רגיש)
  • ‫user_info (רגיש באופן חלקי). רק שדות המשנה הבאים נחשבים רגישים:
    • time_zone
    • precise_location

תשובה:
  • ‫attribution_token (לא רגיש)
  • ‫results.id (לא רגיש)
  • ‫results.document.name (לא רגיש)
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 (רגיש באופן חלקי). כל שדות המשנה רגישים, חוץ מdocument_metadata.document וdocument_metadata.uri.
  • ‫answer.skipped_reasons (לא רגיש)
  • ‫agent_info.agent (לא רגיש)
  • agent_info.display_name (רגיש)
  • ‫agent_info.core_assistant (לא רגיש)
  • ‫agent_info.agent_kind (לא רגיש)
  • ‫agent_info.spiffe_id (לא רגיש)
AssistantService.StreamAssist בקשה:
  • ‫name (לא רגיש)
  • query.text (רגיש)
  • query.parts (רגיש)
  • agents_spec (רגיש באופן חלקי). רק שדות המשנה הבאים נחשבים רגישים:
    • 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

תשובה:
  • ‫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 (רגיש באופן חלקי). כל שדות המשנה רגישים, חוץ מdocument_metadata.document וdocument_metadata.uri.
  • ‫answer.skipped_reasons (לא רגיש)
  • ‫agent_info.agent (לא רגיש)
  • agent_info.display_name (רגיש)
  • ‫agent_info.core_assistant (לא רגיש)
  • ‫agent_info.agent_kind (לא רגיש)
  • ‫agent_info.spiffe_id (לא רגיש)
  • ‫model_info.model (לא רגיש)
  • ‫model_info.requested_model (לא רגיש)
  • ‫model_info.model_selection_mode (לא רגיש)

‫model_info.model הוא המודל שהעוזר הדיגיטלי הפעיל בסבב. אם הבקשה לא מצמידה מודל, הערך של model_selection_mode הוא MODEL_SELECTION_MODE_AUTO והערך של requested_model ריק. אם הבקשה מצמידה מודל, הערך של model_selection_mode הוא MODEL_SELECTION_MODE_EXPLICIT והערך של requested_model הוא המודל שהתבקש.

במהלך השיחה, הסוכן יכול להעביר את הטיפול לסוכן ייעודי שפועל באמצעות מודל אחר. ‫model_info.model לא מדווח על המודל של הסוכן הזה, ופנייה שכל העבודה שלה מתבצעת בסוכן כזה משאירה את model_info.model ריק.

ConversationSearchService.AnswerQuery בקשה:
  • ‫serving_config (לא רגיש)
  • ‫query.query_id (לא רגיש)
  • query.text (רגיש)
  • ‫session (לא רגיש)
  • ‫user_pseudo_id (לא רגיש)
  • ‫end_user_spec (רגיש באופן חלקי). רק שדות המשנה הבאים נחשבים רגישים:
    • end_user_metadata.chunk_info.content
    • end_user_metadata.chunk_info.document_metadata.title
  • ‫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_text
    • grounding_supports
    • references
    • blob_attachments
    • steps.actions
  • ‫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.DeleteAgent בקשה:
  • ‫name (לא רגיש)

תשובה:
  • לא נרשמו שדות
GroundedGenerationService.GenerateGroundedContent בקשה:
  • contents (רגיש)
  • ‫location (לא רגיש)
  • generation_spec (רגיש באופן חלקי). רק שדות המשנה הבאים נחשבים רגישים:
    • language_code
  • system_instruction (רגיש)
  • ‫safety_settings (לא רגיש)
  • user_labels (רגיש)
  • grounding_spec.explicit_search_queries (רגיש)
  • grounding_spec.grounding_sources (רגיש באופן חלקי). רק שדות המשנה הבאים נחשבים רגישים:
    • 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

תשובה:
  • content (רגיש)
  • grounding_metadata (רגיש באופן חלקי). רק שדות המשנה הבאים נחשבים רגישים:
    • support_chunks, למעט source וindex
    • ‫google_maps_support_chunks, למעט source ו-index
    • api_calls.request_payload
    • api_calls.response_body
    • api_calls.uri
  • ‫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 בקשה:
  • כל השדות בגוף הבקשה (רגישות חלקית). רק שדות המשנה הבאים נחשבים רגישים:
    • 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

תשובה:
  • לא נרשמו שדות

גישה ליומני ביקורת

כדי לגשת לכל יומני הביקורת של Gemini Enterprise ולצפות בהם, פועלים לפי השלבים הבאים:

  1. נכנסים לדף Logs Explorer במסוף Google Cloud .

    כניסה לדף Logs Explorer

  2. בוחרים את Google Cloud הפרויקט שבו הפעלתם את יומני הביקורת.

  3. כדי להציג רק את היומנים של Gemini Enterprise, מזינים את השאילתה הבאה בשדה של עורך השאילתות ולוחצים על 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.*"
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫PROJECT_ID: מזהה הפרויקט.

שליטה בגישה ליומנים

אתם יכולים לשלוט בגישה ליומנים ב-Cloud Logging. במאמר בקרת גישה באמצעות IAM מוסבר בפירוט על שיטות לבקרת גישה, כולל שימוש בתנאי IAM לגישה מפורטת.

בקרת גישה כברירת מחדל

כברירת מחדל, Gemini Enterprise שולח נתוני Cloud Logging לקטגוריה _Default. תפקידי ה-IAM הבאים שולטים בגישה לקטגוריה הזו:

בקרת גישה פרטנית

אם הפרויקט שלכם מכיל יומנים עם רמות רגישות שונות, אתם יכולים להשתמש בכמה כלים של Google Cloud ו-Cloud Logging כדי להגדיר בקרת גישה מפורטת יותר.

אפשר להגדיר בקרת גישה פרטנית באמצעות האפשרויות הבאות:

אפשרות תיאור
תנאי IAM להגדיר בקרת גישה פרטנית באמצעות תנאי IAM. מידע נוסף זמין במאמר בנושא תפקידים ביומן.
תצוגות ביומן אתם יכולים להשתמש בתצוגות של יומנים כדי להגביל את הגישה של המשתמשים לקבוצת משנה של יומנים בתוך קטגוריית יומנים. מידע נוסף מופיע במאמר הגדרת תצוגות של יומנים בקטגוריית יומנים.
יעדי יומנים אפשר להשתמש ב-log sinks כדי להפנות יומנים רגישים לפרויקט נפרד עם גישת IAM מגבילה יותר. מידע נוסף זמין במאמר ניתוב יומנים ליעדים נתמכים.
תגים להשתמש בתגים כדי לנהל את הגישה של IAM לקטגוריות יומנים ספציפיות בפרויקט. מידע נוסף זמין במאמר בנושא שימוש בתגים לניהול הגישה למאגרי יומנים.
בקרת גישה ברמת השדה להשתמש בבקרת גישה ברמת השדה כדי להסתיר או להגביל את הגישה לשדות ספציפיים ברשומות ביומן. מידע נוסף זמין במאמר הגדרת גישה ברמת השדה.

המאמרים הבאים

  • כדי להשבית את הרישום ביומן של קלט ההנחיות ופלט התשובות, אפשר לעיין במאמר בנושא השבתת הגדרות הניטור.