K-map דומה מאוד ל-k-anonymity, אבל הוא מניח שהתוקף כנראה לא יודע מי נמצא במערך הנתונים. כדאי להשתמש במיפוי k אם מערך הנתונים קטן יחסית, או אם רמת המאמץ הנדרשת להכללת מאפיינים תהיה גבוהה מדי.
בדומה ל-k-anonymity, k-map מחייב אתכם לקבוע אילו עמודות במסד הנתונים שלכם הן מזהים למחצה. בפעולה הזו אתם מציינים באילו נתונים התוקף ישתמש כנראה כדי לשחזר פרטי זיהוי של נושאים. בנוסף, כדי לחשב ערך של מפת k, צריך מערך נתונים של זיהוי מחדש: טבלה גדולה יותר שאפשר להשוות אליה את השורות במערך הנתונים המקורי.
במאמר הזה מוסבר איך לחשב ערכי מיפוי של k למערך נתונים באמצעות 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 ב-Compute
אתם יכולים להעריך את ערכי המיפוי של k באמצעות 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 להשתמש במערך הנתונים הציבורי הרלוונטי כמודל סטטיסטי של אוכלוסייה, כולל מיקודים בארה"ב, קודי אזורים, גילאים ומגדרים.
- סוג מידע מותאם אישית: תג מותאם אישית שבו מציינים טבלה משנית (אובייקט
AuxiliaryTable) שמכילה מידע סטטיסטי על הערכים האפשריים בעמודה הזו. - התג
inferred: אם לא מצוין תג סמנטי, צריך לצייןinferred. הכלי Sensitive Data Protection מסיק את המודל הסטטיסטי מתוך חלוקת הערכים בנתוני הקלט.
regionCode: קוד אזור בן 2 תווים לפי תקן ISO 3166-1 alpha-2 שמשמש את Sensitive Data Protection במודלים סטטיסטיים. הערך הזה נדרש אם לא מסומנת עמודה עם סוג מידע ספציפי לאזור (לדוגמה, מיקוד בארה"ב) או קוד אזור.
auxiliaryTables[]: טבלאות עזר (אובייקטים שלAuxiliaryTable) לשימוש בניתוח. כל תג מותאם אישית שמשמש לתיוג עמודה של מזהה למחצה (מתוךquasiIds[]) חייב להופיע בדיוק בעמודה אחת של טבלת עזר אחת.
אובייקט
BigQueryTableכדי לציין את הטבלה ב-BigQuery שרוצים לסרוק, צריך לכלול את כל הפרטים הבאים:-
projectId: מזהה הפרויקט שמכיל את הטבלה. -
datasetId: מזהה מערך הנתונים של הטבלה. -
tableId: שם הטבלה.
-
קבוצה של אובייקטים מסוג
Actionאחד או יותר, שמייצגים פעולות להפעלה, בסדר שצוין, בסיום העבודה. כל אובייקטActionיכול להכיל אחת מהפעולות הבאות:SaveFindingsobject: שומר את התוצאות של סריקת ניתוח הסיכונים בטבלה ב-BigQuery.-
PublishToPubSubobject: פרסום התראה בנושא Pub/Sub.
-
PublishSummaryToCsccobject: שומר סיכום של התוצאות ב-Security Command Center. -
PublishFindingsToCloudDataCatalogobject: שומר את התוצאות ב-Data Catalog. JobNotificationEmailsobject: נשלח אליכם אימייל עם התוצאות.-
PublishToStackdriverobject: שומר את התוצאות ב-Google Cloud Observability.
דוגמאות לקוד
להלן קוד לדוגמה בשפות שונות שמדגים איך להשתמש ב-Sensitive Data Protection כדי לחשב ערך של מפת k.
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
כדי לאחזר את התוצאות של ניתוח הסיכונים של מיפוי 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 של מערך נתונים
- ll-diversity של מערך נתונים
- איך מחשבים את ערך δ-הנוכחות של מערך נתונים