שליחת שאילתות על ממצאים של Sensitive Data Protection ב-BigQuery

בדף הזה מפורטות דוגמאות לשאילתות שאפשר להשתמש בהן כדי לנתח ממצאים של Sensitive Data Protection שיוצאו ל-BigQuery.

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

מידע נוסף על כל הפעולות ש-Sensitive Data Protection יכול לבצע אחרי הבדיקה מופיע במאמר פעולות.

למידע נוסף על הפעלת שאילתות, ראו את המאמרים הבאים:

העמודות בטבלת BigQuery

העמודות בטבלה של הממצאים המיוצאים מבוססות על המאפיינים של האובייקט Finding.

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

בעבודת הבדיקה או בהפעלת העבודה, מגדירים את השדות הבאים לשמות של העמודות שמזהות באופן ייחודי כל שורה בטבלה – כלומר, העמודות שמשמשות כמפתח ראשי:

  • אם משתמשים במסוף Google Cloud , צריך להגדיר את השדה שדות לזיהוי (מופרדים בפסיקים).
  • אם אתם משתמשים ב-DLP API, צריך להגדיר את המאפיין identifyingFields.

כשמסיימים את הבדיקה ומייצאים את הממצאים ל-BigQuery, כל ממצא יכיל את הערכים התואמים של העמודות שציינתם. הערכים האלה יופיעו בשדה location.content_locations.record_location.record_key.id_values. אחר כך תוכלו להשתמש בערכים האלה כדי לקשר את הממצא בחזרה לשורה הספציפית בטבלה ב-BigQuery שנבדקה.

שאילתות לדוגמה

אפשר להשתמש בשאילתות לדוגמה הבאות כדי לנתח את הממצאים. אפשר גם להשתמש בשאילתות בכלי להמחשה כמו Data Studio. השאילתות האלה נועדו לעזור לכם להתחיל להריץ שאילתות על נתוני הממצאים.

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

  • PROJECT_ID: מזהה הפרויקט
  • DATASET: השם של מערך הנתונים ב-BigQuery
  • TABLE_ID: מזהה הטבלה

בחירת מספר המופעים של כל סוג מידע

מסוף Google Cloud

SELECT info_type.name,
COUNT(info_type.name) AS count
FROM `PROJECT_ID.DATASET.TABLE_ID`
GROUP BY info_type.name
ORDER BY count DESC;

שורת פקודה

bq query --use_legacy_sql=false ' SELECT info_type.name,
COUNT(info_type.name) AS count
FROM `PROJECT_ID.DATASET.TABLE_ID`
GROUP BY info_type.name ORDER BY count DESC;'

בחירת הספירה של כל infoType לפי יום

מסוף Google Cloud

SELECT info_type.name, cast(TIMESTAMP_SECONDS(create_time.seconds) as date) as day,
COUNT(locations.container_name) AS count
FROM `PROJECT_ID.DATASET.TABLE_ID`,
UNNEST(location.content_locations) AS locations
GROUP BY info_type.name, day
ORDER BY count DESC;

שורת פקודה

bq query --use_legacy_sql=false ' SELECT info_type.name,
cast(TIMESTAMP_SECONDS(create_time.seconds) as date) as day,
COUNT(locations.container_name) AS count FROM `PROJECT_ID.DATASET.TABLE_ID`,
UNNEST(location.content_locations) AS locations
GROUP BY info_type.name, day ORDER BY count DESC;'

בחירת הספירה של כל סוג מידע בכל מאגר

מסוף Google Cloud

SELECT info_type.name, locations.container_name,
COUNT(locations.container_name) AS count
FROM `PROJECT_ID.DATASET.TABLE_ID`,
UNNEST(location.content_locations) AS locations
GROUP BY locations.container_name, info_type.name
ORDER BY count DESC;

שורת פקודה

bq query --use_legacy_sql=false ' SELECT info_type.name, locations.container_name,
COUNT(locations.container_name) AS count FROM `PROJECT_ID.DATASET.TABLE_ID`,
UNNEST(location.content_locations) AS locations
GROUP BY locations.container_name,info_type.name ORDER BY count DESC;'

בחירת סוגי הממצאים שנמצאו בכל עמודה בטבלה

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