בעזרת Sensitive Data Protection אתם יכולים למצוא, להבין ולנהל את המידע האישי הרגיש שקיים בתשתית שלכם. אחרי שסורקים את התוכן באמצעות Sensitive Data Protection כדי לאתר מידע אישי רגיש, יש כמה אפשרויות לשימוש בתובנות מניתוח הנתונים. במאמר הזה נסביר איך להשתמש בתכונות אחרות של Google Cloud , כמו BigQuery, Cloud SQL ו-Data Studio, כדי:
- אחסון תוצאות הסריקה של Sensitive Data Protection ישירות ב-BigQuery.
- ליצור דוחות על מיקום אחסון הנתונים הרגישים בתשתית שלכם.
- להריץ ניתוחי SQL עשירים כדי להבין איפה מאוחסנים נתונים רגישים ומה הסוג שלהם.
- להגדיר התראות אוטומטיות או פעולות שיופעלו על סמך ממצא אחד או שילוב של ממצאים.
הנושא הזה כולל גם דוגמה פתורה של איך להשתמש ב-Sensitive Data Protection יחד עם תכונות אחרות של Google Cloud כדי לבצע את כל הפעולות האלה.
סריקה של קטגוריית אחסון
קודם כל, מריצים סריקה של הנתונים. בהמשך מופיע מידע בסיסי על סריקת מאגרי אחסון באמצעות Sensitive Data Protection. במאמר בדיקת מאגרי אחסון ומסדי נתונים לאיתור מידע אישי רגיש מוסבר איך לסרוק מאגרי אחסון, כולל שימוש בספריות לקוח.
כדי להריץ פעולת סריקה במאגרGoogle Cloud , צריך ליצור אובייקט JSON שכולל את אובייקטי ההגדרות הבאים:
InspectJobConfig: מגדיר את משימת הסריקה של Sensitive Data Protection, ומורכב מהרכיבים הבאים:-
StorageConfig: מאגר האחסון לסריקה. InspectConfig: איך ומה לחפש. אפשר גם להשתמש בתבנית בדיקה כדי להגדיר את הגדרות הבדיקה.-
Action: המשימות שצריך לבצע בסיום העבודה. למשל, שמירת הממצאים בטבלה ב-BigQuery או פרסום התראה ב-Pub/Sub.
-
בדוגמה הזו, אתם סורקים קטגוריה של Cloud Storage כדי לאתר שמות של אנשים, מספרי טלפון, מספרי תעודות זהות של ארה"ב וכתובות אימייל. לאחר מכן, שולחים את הממצאים לטבלה ב-BigQuery שמיועדת לאחסון הפלט של Sensitive Data Protection. אפשר לשמור את קובץ ה-JSON הבא בקובץ או לשלוח אותו ישירות ל-method create של המשאב DlpJob ב-Sensitive Data Protection.
קלט JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/dlpJobs
{
"inspectJob":{
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
},
{
"name":"PHONE_NUMBER"
},
{
"name":"US_SOCIAL_SECURITY_NUMBER"
},
{
"name":"EMAIL_ADDRESS"
}
],
"includeQuote":true
},
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET_NAME]/**"
}
}
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT_ID]",
"datasetId":"[DATASET_ID]",
"tableId":"[TABLE_ID]"
}
}
}
}
]
}
}
כשמציינים שתי כוכביות (**) אחרי הכתובת של הקטגוריה של Cloud Storage (gs://[BUCKET_NAME]/**), מנחים את משימת הסריקה לבצע סריקה רקורסיבית. אם תציבו כוכבית אחת (*), המשימה תסרוק רק את רמת הספרייה שצוינה ולא מעבר לה.
הפלט יישמר בטבלה שצוינה במערך הנתונים ובפרויקט שצוינו. משימות נוספות שמציינים בהן את מזהה הטבלה הנתון מוסיפות את הממצאים לאותה טבלה. אפשר גם להשמיט את המפתח "tableId" אם רוצים להורות ל-Sensitive Data Protection ליצור טבלה חדשה בכל פעם שהסריקה פועלת.
אחרי ששולחים את ה-JSON הזה בבקשה ל-method projects.dlpJobs.create דרך כתובת ה-URL שצוינה, מקבלים את התשובה הבאה:
פלט מסוג JSON:
{
"name":"projects/[PROJECT_ID]/dlpJobs/[JOB_ID]",
"type":"INSPECT_JOB",
"state":"PENDING",
"inspectDetails":{
"requestedOptions":{
"snapshotInspectTemplate":{
},
"jobConfig":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET_NAME]/**"
}
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
},
{
"name":"PHONE_NUMBER"
},
{
"name":"US_SOCIAL_SECURITY_NUMBER"
},
{
"name":"EMAIL_ADDRESS"
}
],
"minLikelihood":"POSSIBLE",
"limits":{
},
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT_ID]",
"datasetId":"[DATASET_ID]",
"tableId":"[TABLE_ID]"
}
}
}
}
]
}
}
},
"createTime":"2018-11-19T21:09:07.926Z"
}
כשהמשימה מסתיימת, הממצאים נשמרים בטבלה שצוינה ב-BigQuery.
כדי לקבל את סטטוס המשימה, מפעילים את ה-method projects.dlpJobs.get או שולחים בקשת GET לכתובת ה-URL הבאה, ומחליפים את [PROJECT_ID] במזהה הפרויקט ואת [JOB_ID] במזהה המשימה שניתן בתגובה של Cloud Data Loss Prevention API לבקשה ליצירת המשימה (לפני מזהה המשימה יופיע "i-"):
GET https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/dlpJobs/[JOB_ID]
למשימה שיצרתם, הבקשה הזו מחזירה את ה-JSON הבא. שימו לב שאחרי פרטי הבדיקה מופיע סיכום של תוצאות הסריקה. אם הסריקה עדיין לא הסתיימה, המפתח "state" יציין את הערך "RUNNING".
פלט מסוג JSON:
{
"name":"projects/[PROJECT_ID]/dlpJobs/[JOB_ID]",
"type":"INSPECT_JOB",
"state":"DONE",
"inspectDetails":{
"requestedOptions":{
"snapshotInspectTemplate":{
},
"jobConfig":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET_NAME]/**"
}
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
},
{
"name":"PHONE_NUMBER"
},
{
"name":"US_SOCIAL_SECURITY_NUMBER"
},
{
"name":"EMAIL_ADDRESS"
}
],
"minLikelihood":"POSSIBLE",
"limits":{
},
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT_ID]",
"datasetId":"[DATASET_ID]",
"tableId":"[TABLE_ID]"
}
}
}
}
]
}
},
"result":{
"processedBytes":"536734051",
"totalEstimatedBytes":"536734051",
"infoTypeStats":[
{
"infoType":{
"name":"PERSON_NAME"
},
"count":"269679"
},
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"count":"256"
},
{
"infoType":{
"name":"PHONE_NUMBER"
},
"count":"7"
}
]
}
},
"createTime":"2018-11-19T21:09:07.926Z",
"startTime":"2018-11-19T21:10:20.660Z",
"endTime":"2018-11-19T22:07:39.725Z"
}
הרצת ניתוח נתונים ב-BigQuery
אחרי שיצרתם טבלה חדשה ב-BigQuery עם תוצאות הסריקה של Sensitive Data Protection, השלב הבא הוא להריץ ניתוח על הטבלה.
בצד שמאל של מסוף Google Cloud , בקטע Big Data, לוחצים על BigQuery. פותחים את הפרויקט ואת מערך הנתונים, ומאתרים את הטבלה החדשה שנוצרה.
אתם יכולים להריץ שאילתות SQL על הטבלה הזו כדי לקבל מידע נוסף על מה ש-Sensitive Data Protection מצא בקטגוריית הנתונים שלכם. לדוגמה, מריצים את הפקודה הבאה כדי לספור את כל תוצאות הסריקה לפי infoType, ומחליפים את ערכי ה-placeholder בערכים האמיתיים המתאימים:
SELECT
info_type.name,
COUNT(*) AS iCount
FROM
`[PROJECT_ID].[DATASET_ID].[TABLE_ID]`
GROUP BY
info_type.name
התוצאה של השאילתה הזו היא סיכום של הממצאים בקטגוריה הזו, שיכול להיראות בערך כך:

יצירת דוח ב-Data Studio
ב-Data Studio אפשר ליצור דוחות בהתאמה אישית על סמך טבלאות ב-BigQuery. בקטע הזה תיצרו דוח טבלה פשוט ב-Data Studio, שמבוסס על ממצאים של Sensitive Data Protection שמאוחסנים ב-BigQuery.
- פותחים את Data Studio ומתחילים דוח חדש.
- לוחצים על יצירת מקור נתונים חדש.
- ברשימת המחברים, לוחצים על BigQuery. אם צריך, מאשרים ל-Data Studio להתחבר לפרויקטים ב-BigQuery בלחיצה על Authorize.
- עכשיו בוחרים את הטבלה שרוצים לחפש בה, ולוחצים על My Projects או על Shared Projects, בהתאם למיקום של הפרויקט. מוצאים את הפרויקט, מערך הנתונים והטבלה ברשימות שבדף.
- לוחצים על Connect כדי להריץ את הדוח.
- לוחצים על הוספה לדוח.
עכשיו יוצרים טבלה שמציגה את התדירות של כל infoType. בוחרים את השדה info_type.name בתור Dimension. הטבלה שתתקבל תיראה בערך כך:

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