K-map דומה מאוד ל-k-anonymity, אבל מניחה שהתוקף כנראה לא יודע מי נמצא במערך הנתונים. השתמשו ב-k-map אם מערך הנתונים קטן יחסית, או אם רמת המאמץ הכרוכה בהכללת מאפיינים גבוהה מדי.
בדומה ל-k-anonymity, גם ב-k-map צריך לקבוע אילו עמודות במסד הנתונים הן מזהים חלקיים. כך אתם מציינים באילו נתונים סביר להניח שתוקף ישתמש כדי לשחזר פרטי זיהוי של נושאי הנתונים. בנוסף, כדי לחשב ערך של מפת k, צריך קבוצת נתונים לשחזור פרטי זיהוי: טבלה גדולה יותר שמשמשת להשוואה בין שורות בקבוצת הנתונים המקורית.
כאן נסביר איך לחשב ערכי k-map של קבוצת נתונים באמצעות Sensitive Data Protection. למידע נוסף על מפת k או על ניתוח סיכונים באופן כללי, קראו את הנושא העוסק במושג ניתוח סיכונים לפני שתמשיכו.
לפני שמתחילים
לפני שממשיכים, חשוב לוודא שביצעתם את הפעולות הבאות:
- נכנסים לחשבון Google.
- בדף לבחירת הפרויקט במסוף Google Cloud , בוחרים פרויקט ב- Google Cloud או יוצרים אותו. כניסה לדף לבחירת הפרויקט
- מוודאים שהחיוב מופעל בפרויקט ב- Google Cloud . איך מוודאים שהחיוב מופעל בפרויקט?
- מפעילים את Sensitive Data Protection. הפעלת Sensitive Data Protection
- בוחרים מערך נתונים ב-BigQuery לניתוח. Sensitive Data Protection מעריך את המדד k-map על ידי סריקה של טבלה ב-BigQuery.
- קובעים את סוגי קבוצות הנתונים שבהם רוצים להשתמש כדי ליצור מודל של קבוצת הנתונים של המתקפה. למידע נוסף, קראו את דף העזרה של האובייקט
KMapEstimationConfigואת המאמר מונחים ושיטות לניתוח סיכונים.
חישוב אומדנים של k-map
אתם יכולים להעריך את ערכי k-map באמצעות Sensitive Data Protection, שמשתמש במודל סטטיסטי כדי להעריך קבוצת נתונים של שחזור פרטי זיהוי. זאת בניגוד לשיטות האחרות לניתוח סיכונים, שבהן קבוצת הנתונים של המתקפה ידועה באופן מפורש. בהתאם לסוג הנתונים, Sensitive Data Protection משתמש במערכי נתונים שזמינים באופן ציבורי (לדוגמה, ממפקד האוכלוסין של ארה"ב) או במודל סטטיסטי מותאם אישית (לדוגמה, טבלה אחת או יותר ב-BigQuery שאתם מציינים), או שהוא מבצע אקסטרפולציה מהתפלגות הערכים במערך נתוני הקלט שלכם. למידע נוסף, עיינו בדף העזרה של האובייקט KMapEstimationConfig.
כדי לחשב אומדן של k-map באמצעות Sensitive Data Protection, קודם צריך להגדיר את משימת הסיכון. יוצרים בקשה למשאב projects.dlpJobs, כאשר PROJECT_ID מציין את מזהה הפרויקט:
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs
הבקשה מכילה אובייקט RiskAnalysisJobConfig, שמורכב מהרכיבים הבאים:
אובייקט
PrivacyMetric. כאן מציינים שרוצים לחשב את k-map, על ידי ציון אובייקטKMapEstimationConfigשמכיל את הפרטים הבאים:
quasiIds[]: שדה חובה. שדות (אובייקטים מסוגTaggedField) שנחשבים למזהים חלקיים, שצריך לסרוק ולהשתמש בהם כדי לחשב את k-map. אי אפשר להוסיף את אותו תג לשתי עמודות. אלה יכולים להיות:- infoType: הגורם הזה גורם ל-Sensitive Data Protection להשתמש במערך הנתונים הציבורי הרלוונטי כמודל סטטיסטי של אוכלוסייה, כולל מיקודים בארה"ב, קודי אזור, גילאים ומגדרים.
- סוג infoType מותאם אישית: תג מותאם אישית שבו מציינים טבלת עזר (אובייקט
AuxiliaryTable) שמכילה מידע סטטיסטי על הערכים האפשריים של העמודה הזו. - התג
inferred: אם לא צוין תג סמנטי, צריך לציין את התגinferred. Sensitive Data Protection מסיק את המודל הסטטיסטי מהתפלגות הערכים בנתוני הקלט.
regionCode: קוד אזור לפי תקן ISO 3166-1 alpha-2, שמשמש את Sensitive Data Protection ליצירת מודלים סטטיסטיים. הערך הזה נדרש אם אין עמודה שמתויגת עם infoType ספציפי לאזור (לדוגמה, מיקוד בארה"ב) או קוד אזור.
auxiliaryTables[]: טבלאות עזר (אובייקטים מסוגAuxiliaryTable) לשימוש בניתוח. כל תג מותאם אישית שמשמש לתיוג עמודה של מזהה חלקי (מ-quasiIds[]) חייב להופיע בדיוק בעמודה אחת של טבלת עזר אחת.
אובייקט
BigQueryTable. כדי לציין את הטבלה ב-BigQuery שרוצים לסרוק, צריך לכלול את כל הפרטים הבאים:-
projectId: מזהה הפרויקט שמכיל את הטבלה. -
datasetId: מזהה מערך הנתונים של הטבלה. -
tableId: שם הטבלה.
-
קבוצה של אובייקט
Actionאחד או יותר, שמייצגים פעולות להרצה בסדר שצוין, בסיום המשימה. כל אובייקטActionיכול להכיל אחת מהפעולות הבאות:-
SaveFindings: שמירת התוצאות של סריקת ניתוח הסיכונים בטבלה ב-BigQuery. PublishToPubSub: פרסום התראה בנושא Pub/Sub.
-
PublishSummaryToCscc: שמירת סיכום של התוצאות ב-Security Command Center. JobNotificationEmailsאובייקט: נשלח לכם אימייל עם התוצאות.PublishToStackdriver: שמירת התוצאות ב-Google Cloud Observability.
-
דוגמאות לקוד
בהמשך מוצג קוד לדוגמה בכמה שפות, שמדגים איך משתמשים ב-Sensitive Data Protection כדי לחשב ערך של k-map.
Go
מידע על התקנת ספריית הלקוח של Sensitive Data Protection והשימוש בה מופיע במאמר ספריות הלקוח של Sensitive Data Protection.
כדי לבצע אימות ב-Sensitive Data Protection, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Java
מידע על התקנת ספריית הלקוח של Sensitive Data Protection והשימוש בה מופיע במאמר ספריות הלקוח של Sensitive Data Protection.
כדי לבצע אימות ב-Sensitive Data Protection, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע על התקנת ספריית הלקוח של Sensitive Data Protection והשימוש בה מופיע במאמר ספריות הלקוח של Sensitive Data Protection.
כדי לבצע אימות ב-Sensitive Data Protection, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
PHP
מידע על התקנת ספריית הלקוח של Sensitive Data Protection והשימוש בה מופיע במאמר ספריות הלקוח של Sensitive Data Protection.
כדי לבצע אימות ב-Sensitive Data Protection, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של Sensitive Data Protection והשימוש בה מופיע במאמר ספריות הלקוח של Sensitive Data Protection.
כדי לבצע אימות ב-Sensitive Data Protection, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
C#
במאמר ספריות הלקוח של Sensitive Data Protection מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-Sensitive Data Protection.
כדי לבצע אימות ב-Sensitive Data Protection, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
צפייה בתוצאות של משימת k-map
כדי לאחזר את התוצאות של משימת ניתוח הסיכונים של מפת k באמצעות ה-API בארכיטקטורת REST, שולחים את בקשת ה-GET הבאה למשאב projects.dlpJobs. מחליפים את PROJECT_ID במזהה הפרויקט ואת JOB_ID במזהה המשימה שרוצים לקבל את התוצאות שלה.
מזהה המשימה הוחזר כשהתחלתם את המשימה, ואפשר גם לאחזר אותו על ידי הצגת רשימה של כל המשימות.
GET https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs/JOB_ID
הבקשה מחזירה אובייקט JSON שמכיל מופע של המשימה. תוצאות הניתוח נמצאות במפתח "riskDetails", באובייקט AnalyzeDataSourceRiskDetails. למידע נוסף, קראו את מאמרי העזרה של ה-API בנושא המשאב DlpJob.
המאמרים הבאים
- איך מחשבים את ערך k-anonymity של קבוצת נתונים
- איך מחשבים את ערך ll-diversity של קבוצת נתונים.
- איך מחשבים את הערך של δ-presence במערך נתונים