מבוא ליומני ביקורת ב-BigQuery
אתם יכולים להשתמש ביומני הביקורת של BigQuery כדי לעקוב אחרי פעילויות ניהול וגישה לנתונים בפרויקטים שלכם. יומנים הם קובצי טקסט שנוצרים באופן אוטומטי ומתעדים מי ביצע פעולות ספציפיות, כמו יצירת טבלאות או הרצת משימות, כדי לעזור לכם לשמור על האבטחה ולהבטיח תאימות. במאמר הזה מוסבר מתי להשתמש ביומני ביקורת ומוצגת סקירה כללית של הפורמט שלהם.
ב-Google Cloud נכתבים גם יומנים, כולל יומני ביקורת שמספקים תובנות לגבי בעיות תפעוליות שקשורות לשימוש שלכם בשירותי Google Cloud . למידע נוסף על הטיפול של Google Cloud ברישום ביומנים, קראו את המאמרים Cloud Logging וסקירה כללית על יומני הביקורת של Cloud.
יומני ביקורת לעומת תצוגות של INFORMATION_SCHEMA
הפרויקטים שלכם ב- Google Cloud כוללים רק יומני ביקורת של משאבים שמשויכים ישירות לפרויקט ב- Google Cloud . משאבים אחרים ב- Google Cloud , כמו תיקיות, ארגונים וחשבונות לחיוב, מכילים יומני ביקורת משלהם.
יומני הביקורת עוזרים לענות על השאלה "מי עשה מה, איפה ומתי?" במשאבי Google Cloud . יומני הביקורת הם המקור המהימן למידע על פעילות המערכת לפי משתמש ודפוסי גישה, והם צריכים להיות המקור העיקרי לשאלות בנושא ביקורת או אבטחה.
תצוגות של INFORMATION_SCHEMA ב-BigQuery הן מקור נוסף לתובנות שאפשר להשתמש בהן יחד עם מדדים ויומנים. התצוגות האלה מכילות מטא-נתונים על משימות, מערכי נתונים, טבלאות וישויות אחרות של BigQuery. לדוגמה, אתם יכולים לקבל מטא-נתונים בזמן אמת על המשימות שהופעלו ב-BigQuery במהלך פרק זמן מסוים. לאחר מכן, תוכלו לקבץ או לסנן את התוצאות לפי פרויקט, משתמש, טבלאות שאליהן בוצעה הפניה ומאפיינים אחרים.
תצוגות INFORMATION_SCHEMA מספקות מידע לביצוע ניתוח מפורט יותר של עומסי העבודה ב-BigQuery, כמו:
- מהו השימוש הממוצע ב-slots לכל השאילתות בשבעת הימים האחרונים בפרויקט נתון?
- אילו שגיאות סטרימינג התרחשו ב-30 הדקות האחרונות, מקובצות לפי קוד שגיאה?
יומני הביקורת של BigQuery מכילים רשומות ביומן של קריאות ל-API, אבל הם לא מתארים את ההשפעה של הקריאות ל-API. קבוצת משנה של קריאות ל-API יוצרת משימות (כמו שאילתה וטעינה) שהמידע שלהן מתועד בתצוגות של INFORMATION_SCHEMA. לדוגמה, אתם יכולים למצוא מידע על הזמן והמשבצות שנוצלו על ידי שאילתה ספציפית בתצוגות INFORMATION_SCHEMA, אבל לא ביומני הביקורת.
כדי לקבל תובנות לגבי הביצועים של עומסי העבודה ב-BigQuery, אפשר לעיין במטא-נתונים של משימות, במטא-נתונים של סטרימינג ובמטא-נתונים של הזמנות.
למידע נוסף על סוגי יומני הביקורת ששירותי Google Cloud כותבים, קראו את המאמר סוגים של יומני ביקורת.
הפורמט של יומן הביקורת
שירותיGoogle Cloud כותבים יומני ביקורת בפורמט JSON מובנה. סוג הנתונים הבסיסי של רשומות ביומן ב- Google Cloud הוא המבנה LogEntry. המבנה הזה מכיל את שם היומן, המשאב שיצר את הרשומה ביומן, חותמת הזמן (UTC) ומידע בסיסי אחר.
היומנים כוללים פרטים על האירוע שנרשם בשדה משנה שנקרא שדה המטען הייעודי (payload). ביומני ביקורת, השדה של המטען הייעודי נקרא 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 מוסבר איך מנהלים את הגישה למידע הזה.
מפת טלמטריה
בטבלה הבאה מפורטים המאפיינים והמשאבים של BigQuery, ולידם נתוני הטלמטריה של המעקב התפעולי, השירותים והמשאבים של ה-API שנבדקו ומאמרי העזרה של יומני הביקורת. אתם יכולים להשתמש בו כדי למצוא את נתוני הטלמטריה שאתם צריכים כדי לפתור בעיות, לבצע אופטימיזציה של הביצועים, לשלוט בעלויות, לבדוק את השימוש ולשמור על תאימות.
בניגוד להרבה שירותי Google Cloud שכותבים יומני משימות תפעוליות ב-Cloud Logging, ב-BigQuery נכתבים נתוני טלמטריה של משימות תפעוליות בתצוגות של סכימת מידע כמו INFORMATION_SCHEMA.JOBS. התצוגות האלה מתעדות את שלבי הביצוע של השאילתות, את השימוש ב-slots, את הבייטים שחויבו ואת כל המשימות שנשלחו, כולל משימות שנכשלו ומשימות שעדיין לא הסתיימו.
ב-BigQuery משתמשים ב-Logging בעיקר כדי להפיק יומני ביקורת של Cloud, שמתעדים פעילות אדמין ופעילות גישה לנתונים. כשבודקים את הפעילות הזו, אפשר לראות מי ניגש למשאבים או לנתונים, איפה ומתי.
יומני ביקורת לא נוצרים בכל שיבוש או כשל במשימה. לדוגמה, משימות שנכשלו לא יוצרות אירועים מסוג TableDataRead או TableDataChange, והשדה jobCompletedEvent מתעד רק משימות שהושלמו בהצלחה. במאמר סקירה כללית על יומני הביקורת של BigQuery, בקטע גישה לנתונים, מפורטים תרחישים שבהם לא נוצרים יומני ביקורת.
בטבלה הבאה, כוכבית (*) בשם של תצוגת INFORMATION_SCHEMA מציינת וריאציות של תצוגות ספציפיות להיקף, כמו _BY_PROJECT, _BY_USER, _BY_FOLDER ו-_BY_ORGANIZATION.
| תכונה או משאב | מעקב תפעולי | יומני ביקורת של Cloud |
|---|---|---|
| שאילתות ומשימות |
תצוגות של סכימת מידע:
Console:
thought
מדדים: מדדי Cloud Monitoring, כמו |
שירות API:
המשאבים שנבדקים: משימות ב- יומני ביקורת: יומני גישה לנתונים באמצעות |
| טבלאות ותצוגות |
תצוגות של סכימת מידע:
Metrics: מדדי מעקב, כמו |
שירותי API: המשאבים שנבדקים: טבלאות, תצוגות ותצוגות מהותיות ב- יומני ביקורת: יומני גישה לנתונים באמצעות |
| מערכי נתונים |
תצוגות של סכימת מידע:
|
שירות API:
משאבים שנבדקים: מערכי נתונים, כללי מדיניות IAM של מערכי נתונים ורשימות ACL של מערכי נתונים ב- יומני ביקורת: יומני Admin Activity ו-Data Access באמצעות |
| משבצות והזמנות |
תצוגות של סכימת מידע:
Console:
מדדים: מדדי מעקב, כמו |
שירות API:
המשאבים שנבדקים: הזמנות, התחייבויות לקיבולת והקצאות של הזמנות ב- יומני ביקורת: יומני פעילות אדמין ויומני גישה לנתונים, שנועדו ליצור, לשנות, למחוק ולפרט הזמנות, התחייבויות למכסת נפח והקצאות של פרויקטים או תיקיות. יומני ביקורת של BigQuery Reservation API |
| אבטחה ברמת העמודה ואנונימיזציה של נתונים |
תצוגות של סכימת מידע:
|
שירותי API:
משאבים שנבדקים: טקסונומיות ותגי מדיניות ב- יומני ביקורת: יומני Admin Activity ו-Data Access לניהול טקסונומיה ותגי מדיניות ולשינויים במדיניות IAM (תגי מדיניות ביקורת), ניהול מדיניות נתונים ועדכונים של מקבלי מענקים (רישום ביומן ביקורת של מדיניות נתונים ב-BigQuery) ויומני |
| פונקציות, כולל פונקציות UDF ותהליכים מאוחסנים |
תצוגות של סכימת מידע:
|
שירות API:
משאבים שעוברים ביקורת: פונקציות בהגדרת המשתמש (UDF), פונקציות של טבלאות ופרוצדורות מאוחסנות ב- יומני ביקורת: יומני Admin Activity ו-Data Access באמצעות |
| חיבורים חיצוניים |
תצוגות של סכימת מידע:
|
שירות API:
משאבים שנבדקים: חיבורים ומדיניות IAM של חיבורים ב- יומני ביקורת: יומני Admin Activity ו-Data Access ליצירת חיבורים, עדכוני פרטי כניסה, מחיקה, הצגה ברשימה ושינויים במדיניות IAM. יומני ביקורת של BigQuery Connection API |
| BigQuery sharing |
תצוגות של סכימת מידע:
מרכז בקרה: שיתוף מרכז הבקרה של מדדי השימוש. |
שירות API:
משאבים שנבדקים: חילופי נתונים, כרטיסי מוצר, מינויים וכללי מדיניות IAM של חילופי נתונים או כרטיסי מוצר ב- יומני ביקורת: יומני פעילות אדמין ויומני גישה לנתונים של החלפת נתונים ויצירת רישומים, עדכונים, מחיקה, שינויים במדיניות IAM ופעולות של מנויים. שיתוף של רישום ביומן ביקורת |
| שירות העברת נתונים ל-BigQuery |
מדדים ויומנים:
|
שירות API:
משאבים מבוקרים: הגדרות העברה, הפעלות של העברות ומקורות נתונים ב- יומני ביקורת: יומני פעילות אדמין ויומני גישה לנתונים שקשורים ליצירה, לעדכון, למחיקה, להצגה ברשימה ולהפעלה של הגדרות העברה והרצות של העברות. יומני ביקורת של שירות העברת הנתונים ל-BigQuery |
| קטלוגים וטבלאות של BigLake |
תצוגות של סכימת מידע: |
שירותי API: משאבים מבוקרים: קטלוגים של מטא-סטורים, מסדי נתונים, טבלאות ומחיצות ב- יומני ביקורת: יומני Admin Activity ו-Data Access לפעולות של מדיניות IAM בקטלוג, במסד הנתונים, במרחב השמות, בטבלה, במחיצה ובקטלוג. רישום ביומן ביקורת של BigLake |
| BigQuery Migration Service |
סטטוס ודוחות:
|
שירות API:
משאבים מבוקרים: תהליכי עבודה של העברה, משימות משנה של העברה ובקשות לתרגום SQL ב- יומני ביקורת: יומני Data Access ליצירה, להפעלה, להצגה, למחיקה ולצפייה ברשימה של תהליכי עבודה ומשימות משנה של העברה, ולתרגום של שאילתות SQL. רישום ביומן הביקורת של BigQuery Migration Service |
המאמרים הבאים
- במאמר תגי מדיניות ביקורת מוסבר איך להשתמש ב-Cloud Logging כדי לבדוק פעילויות שקשורות לתגי מדיניות.
- במאמר סקירה כללית על יומני ביקורת ב-BigQuery מוסבר איך משתמשים ב-BigQuery כדי לנתח את הפעילות שנרשמה ביומן.