אם הגדרתם את שירות גילוי המידע הרגיש כך שישלח את כל פרופילי הנתונים שנוצרו בהצלחה ל-BigQuery, תוכלו להריץ שאילתות על פרופילי הנתונים האלה כדי לקבל תובנות לגבי הנתונים שלכם. אפשר גם להשתמש בכלים להצגה חזותית כמו Data Studio כדי ליצור דוחות בהתאמה אישית שמותאמים לצרכים העסקיים שלכם. אפשרות אחרת היא להשתמש בדוח מוכן מראש ש-Sensitive Data Protection מספק, לשנות אותו ולשתף אותו לפי הצורך.
בדף הזה מוצגות דוגמאות לשאילתות SQL שאפשר להשתמש בהן כדי לקבל מידע נוסף על פרופילי הנתונים. בנוסף, תלמדו איך ליצור תצוגה חזותית של פרופילי נתונים ב-Data Studio.
מידע נוסף על פרופילי נתונים זמין במאמר סקירה כללית של גילוי מידע אישי רגיש.
לפני שמתחילים
בדף הזה מניחים שהגדרתם פרופילים ברמת הארגון, התיקייה או הפרויקט. במסגרת ההגדרה של הסריקה לגילוי נתונים, מוודאים שהפעולה שמירת עותקים של פרופיל הנתונים ב-BigQuery מופעלת. מידע נוסף על יצירת הגדרות לסריקת גילוי זמין במאמר בנושא יצירת הגדרות לסריקה.
טבלת הפלט
במסמך הזה, הטבלה שמכילה את פרופילי הנתונים שיוצאו נקראת טבלת הפלט.
חשוב לוודא שמזהה הפרויקט, מזהה מערך הנתונים ומזהה הטבלה של טבלת הפלט זמינים. ההרשאות האלה נדרשות כדי לבצע את הפעולות שמתוארות בדף הזה.
התצוגה latest
כש-Sensitive Data Protection מייצאת פרופילי נתונים לטבלת הפלט, היא גם יוצרת את התצוגה latest. התצוגה הזו היא טבלה וירטואלית שסיננו מראש את הנתונים שלה, והיא כוללת רק את תמונות המצב העדכניות ביותר של פרופילי הנתונים. לתצוגה latest יש את אותה סכימה כמו לטבלת הפלט, כך שאפשר להשתמש בשתיהן לסירוגין בשאילתות SQL ובדוחות Data Studio. התוצאות יכולות להיות שונות כי טבלת הפלט מכילה תמונות מצב ישנות יותר של פרופילי הנתונים.
התצוגה latest מאוחסנת באותו מיקום שבו מאוחסנת טבלת הפלט. השם שלו הוא בפורמט הבא:
OUTPUT_TABLE_latest_VERSION
מחליפים את מה שכתוב בשדות הבאים:
- OUTPUT_TABLE: המזהה של הטבלה שמכילה את פרופילי הנתונים המיוצאים.
- VERSION: מספר הגרסה של התצוגה.
לדוגמה, אם שם טבלת הפלט הוא table-profile, אז לתצוגה latest
יש שם כמו table-profile_latest_v1.
כשמשתמשים בתצוגה latest בשאילתות SQL, צריך להשתמש בשם המלא של התצוגה, שכולל את מזהה הפרויקט, מזהה מערך הנתונים, מזהה הטבלה והסיומת – לדוגמה, myproject.mydataset.table-profile_latest_v1.
PROJECT_ID.DATASET_ID.OUTPUT_TABLE_latest_VERSION
בחירה בין טבלת הפלט לבין התצוגה latest
בתצוגה latest מוצגות רק תמונות המצב העדכניות ביותר של פרופיל הנתונים, ואילו בטבלת הפלט מוצגות כל תמונות המצב של פרופיל הנתונים, כולל תמונות מצב לא עדכניות. לדוגמה, שאילתה בטבלת הפלט יכולה להחזיר כמה פרופילים של נתוני עמודות לאותה עמודה – אחד לכל פעם שהעמודה הזו עברה פרופיל.
כשבוחרים בין שימוש בטבלת הפלט לבין שימוש בתצוגה בשאילתות SQL או בדוחות Data Studio, כדאי לשקול את הנקודות הבאות:latest
התצוגה
latestשימושית אם יש לכם נכסי נתונים שעברו פרופיל מחדש ואתם רוצים לראות רק את הפרופילים האחרונים – לא את הגרסאות הקודמות שלהם. כלומר, אתם רוצים לראות את המצב הנוכחי של הנתונים בפרופיל.טבלת הפלט שימושית אם רוצים לקבל תצוגה היסטורית של הנתונים שנוצרו בפרופיל. לדוגמה, אתם מנסים לקבוע אם הארגון שלכם אי פעם שמר סוג מידע מסוים, או שאתם רוצים לראות את השינויים שנעשו בפרופיל נתונים מסוים.
שאילתות SQL לדוגמה
בקטע הזה מופיעות דוגמאות לשאילתות שאפשר להשתמש בהן כשמנתחים פרופילים של נתונים. הוראות להרצת השאילתות האלה מופיעות במאמר בנושא הרצת שאילתות אינטראקטיביות.
בדוגמאות הבאות, מחליפים את TABLE_OR_VIEW באחד מהערכים הבאים:
- השם של טבלת הפלט, שהיא הטבלה שמכילה את פרופילי הנתונים המיוצאים – לדוגמה,
myproject.mydataset.table-profile. - השם של התצוגה
latestשל טבלת הפלט – לדוגמה,myproject.mydataset.table-profile_latest_v1.
בכל מקרה, צריך לכלול את מזהה הפרויקט ואת מזהה קבוצת הנתונים.
מידע נוסף מופיע בקטע בחירה בין טבלת הפלט לבין תצוגת latest בדף הזה.
כדי לפתור בעיות שנתקלתם בהן, אפשר לעיין במאמר בנושא הודעות שגיאה.
רשימה של כל העמודות עם ציון גבוה של טקסט חופשי וראיות להתאמות של infoType אחרות
SELECT
column_profile.table_full_resource,
column_profile.COLUMN,
other_matches.info_type.name,
column_profile.profile_last_generated
FROM
`TABLE_OR_VIEW`
LEFT JOIN UNNEST(column_profile.other_matches) AS other_matches
WHERE
column_profile.free_text_score = 1
AND ( column_profile.column_info_type.info_type.name>""
OR ARRAY_LENGTH(column_profile.other_matches)>0 )
במאמר אסטרטגיות מומלצות לצמצום הסיכון לנתונים מוסבר איך לטפל בבעיות האלה.
מידע נוסף על המדדים ציון טקסט חופשי וסוגי מידע אחרים זמין במאמר פרופילים של נתונים בעמודות.
תציג רשימה של כל הטבלאות שמכילות עמודה של מספרי כרטיסי אשראי
SELECT
column_profile.table_full_resource,
column_profile.profile_last_generated
FROM
`TABLE_OR_VIEW`
WHERE
column_profile.column_info_type.info_type.name="CREDIT_CARD_NUMBER"
CREDIT_CARD_NUMBER הוא סוג מידע מובנה שמייצג מספר כרטיס אשראי.
במאמר אסטרטגיות מומלצות לצמצום הסיכון לנתונים מוסבר איך לטפל בבעיות האלה.
הצגת פרופילים של טבלאות שמכילים עמודות עם מספרי כרטיסי אשראי, מספרי ביטוח לאומי בארה"ב ושמות של אנשים
SELECT
table_full_resource,
COUNT(*) AS count_findings
FROM (
SELECT
DISTINCT column_profile.table_full_resource,
column_profile.column_info_type.info_type.name
FROM
`TABLE_OR_VIEW`
WHERE
column_profile.column_info_type.info_type.name IN ('PERSON_NAME',
'CREDIT_CARD_NUMBER',
'US_SOCIAL_SECURITY_NUMBER')
ORDER BY
column_profile.table_full_resource ) ot1
GROUP BY
table_full_resource
#increase this number to match the total distinct infoTypes that must be present
HAVING
count_findings>=3
השאילתה הזו משתמשת בסוגי המידע המובנים הבאים:
-
CREDIT_CARD_NUMBER: מייצג מספר כרטיס אשראי -
PERSON_NAME: מייצג את השם המלא של אדם -
US_SOCIAL_SECURITY_NUMBERמייצג מספר ביטוח לאומי בארה"ב
במאמר אסטרטגיות מומלצות לצמצום הסיכון לנתונים מוסבר איך לטפל בבעיות האלה.
רשימת קטגוריות שבהן ציון הרגישות הוא SENSITIVITY_HIGH
SELECT file_store_profile.file_store_path, file_store_profile.resource_visibility, file_store_profile.sensitivity_score
FROM `TABLE_OR_VIEW`
WHERE file_store_profile.sensitivity_score.score ='SENSITIVITY_HIGH'
;
מידע נוסף זמין במאמר בנושא פרופילים של נתוני חנויות.
רשימה של כל הנתיבים, האשכולות וסיומות הקבצים של הדלי שנבדקו, שבהם ציון הרגישות הוא SENSITIVITY_HIGH
SELECT file_store_profile.file_store_path, summaries.file_cluster_type.cluster, STRING_AGG(scanned_file_extensions.file_extension) AS scanned_extensions, file_store_profile.profile_last_generated.timestamp
FROM `TABLE_OR_VIEW`
LEFT JOIN UNNEST(file_store_profile.file_cluster_summaries) as summaries
LEFT JOIN UNNEST(summaries.file_store_info_type_summaries) as info_types
LEFT JOIN UNNEST(summaries.file_extensions_scanned) as scanned_file_extensions
WHERE file_store_profile.data_source_type.data_source = 'google/storage/bucket'
AND summaries.sensitivity_score.score ='SENSITIVITY_HIGH'
GROUP BY 1, 2, 4
;
מידע נוסף זמין במאמר בנושא פרופילים של נתוני חנויות.
רשימה של כל הנתיבים, האשכולות והסיומות של הקבצים שנמצאו בהם מספרי כרטיסי אשראי
SELECT file_store_profile.file_store_path, summaries.file_cluster_type.cluster, STRING_AGG(scanned_file_extensions.file_extension) AS scanned_extensions
FROM `TABLE_OR_VIEW`
LEFT JOIN UNNEST(file_store_profile.file_cluster_summaries) as summaries
LEFT JOIN UNNEST(summaries