מבוא ליומני ביקורת ב-BigQuery

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

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

יומני ביקורת לעומת תצוגות INFORMATION_SCHEMA

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

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

תצוגות INFORMATION_SCHEMA ב-BigQuery הן מקור נוסף לתובנות שתוכלו להשתמש בהן לצד מדדים ויומנים. התצוגות האלה מכילות מטא-נתונים על משימות, מערכי נתונים, טבלאות וישויות אחרות ב-BigQuery. לדוגמה, אפשר לקבל מטא-נתונים בזמן אמת לגבי משימות BigQuery שהופעלו במהלך תקופה מסוימת. לאחר מכן, תוכלו לקבץ או לסנן את התוצאות לפי פרויקט, משתמש, טבלאות שהייתה אליהן הפניה ומאפיינים אחרים.

תצוגות INFORMATION_SCHEMA מספקות מידע לביצוע ניתוח מפורט יותר של עומסי העבודה ב-BigQuery, כמו:

  • מהו ממוצע ניצול המשבצות לכל השאילתות ב-7 הימים האחרונים בפרויקט נתון?
  • אילו שגיאות סטרימינג התרחשו ב-30 הדקות האחרונות, מקובצות לפי קוד שגיאה?

יומני הביקורת של BigQuery מכילים רשומות של קריאות ל-API, אבל הם לא מתארים את ההשפעה של הקריאות ל-API. קבוצת משנה של קריאות ל-API יוצרת משימות (כמו שאילתה וטעינה) שהמידע שלהן נרשם בתצוגות INFORMATION_SCHEMA. לדוגמה, אפשר למצוא מידע על הזמן והמשבצות שבהם נעשה שימוש בשאילתה ספציפית בתצוגות INFORMATION_SCHEMA, אבל לא ביומני הביקורת.

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

מידע נוסף על סוגי יומני הביקורת ששירותי Google Cloud כותבים זמין במאמר סוגים של יומני ביקורת.

הפורמט של יומן הביקורת

שירותיGoogle Cloud כותבים יומני ביקורת בפורמט JSON מובנה. סוג הנתונים הבסיסי של רשומות ביומן הוא המבנה LogEntry. Google Cloud המבנה הזה מכיל את שם היומן, המשאב שיצר את רשומת היומן, חותמת הזמן (UTC) ומידע בסיסי אחר.

היומנים כוללים פרטים של האירוע שנרשם בשדה משנה שנקרא שדה המטען הייעודי. ביומני ביקורת, שם שדה המטען הייעודי הוא protoPayload. הסוג של השדה הזה (protoPayload.@type) מוגדר כ-type.googleapis.com/google.cloud.audit.AuditLog, מה שמציין שהשדה משתמש במבנה היומן AuditLog.

לפעולות במערכי נתונים, בטבלאות ובמשימות, BigQuery כותב יומני ביקורת בשני פורמטים שונים, אבל בשני הפורמטים יש את אותו סוג בסיס AuditLog.

הפורמט הישן כולל את השדות והערכים הבאים:

  • הערך בשדה resource.type הוא bigquery_resource.
  • ‫BigQuery כותב את הפרטים על פעולה בשדה protoPayload.serviceData. הערך של השדה הזה משתמש במבנה היומן AuditData.

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

  • הערך בשדה resource.type הוא bigquery_project או bigquery_dataset. למשאב bigquery_project יש רשומות ביומן לגבי משימות, ולמשאב bigquery_dataset יש רשומות ביומן לגבי אחסון.
  • ‫BigQuery כותב את הפרטים על פעולה בשדה protoPayload.metadata. הערך של השדה הזה הוא במבנה BigQueryAuditMetadata.

מומלץ לעיין ביומנים בפורמט החדש. מידע נוסף זמין במדריך להעברת יומני ביקורת.

זו דוגמה מקוצרת לרשומה ביומן שבה מוצגת פעולה שנכשלה:

{
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "status": {
      "code": 5,
      "message": "Not found: Dataset myproject:mydataset was not found in location US"
    },
    "authenticationInfo": { ... },
    "requestMetadata":  { ... },
    "serviceName": "bigquery.googleapis.com",
    "methodName": "google.cloud.bigquery.v2.JobService.InsertJob",
    "metadata": {
  },
  "resource": {
    "type": "bigquery_project",
    "labels": { .. },
  },
  "severity": "ERROR",
  "logName": "projects/myproject/logs/cloudaudit.googleapis.com%2Fdata_access",
  ...
}

בפעולות על הזמנות ב-BigQuery, השדה protoPayload משתמש במבנה AuditLog, והשדות protoPayload.request ו-protoPayload.response מכילים מידע נוסף. הגדרות השדות מפורטות ב-BigQuery Reservation API. מידע נוסף זמין במאמר בנושא מעקב אחרי הזמנות ב-BigQuery.

להבנה עמוקה יותר של הפורמט של יומני הביקורת, קראו את המאמר הסבר על יומני הביקורת.

מגבלות

גודל ההודעות ביומן מוגבל ל-100,000 בייט. מידע נוסף זמין במאמר בנושא רשומה קטומה ביומן.

חשיפה ובקרת גישה

יומני ביקורת של BigQuery יכולים לכלול מידע שמשתמשים עשויים להחשיב כרגיש, כמו טקסט SQL, הגדרות סכמה ומזהים של משאבים כמו טבלאות ומערכי נתונים. מידע על ניהול הגישה לנתונים האלה זמין במסמכי התיעוד בנושא בקרת גישה ב-Cloud Logging.

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