K-map דומה מאוד ל-k-anonymity, אבל הוא מניח שהתוקף כנראה לא יודע מי נמצא במערך הנתונים. כדאי להשתמש במיפוי k אם מערך הנתונים קטן יחסית, או אם רמת המאמץ הנדרשת להכללת מאפיינים תהיה גבוהה מדי.
בדומה ל-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 ב-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: קוד אזור לפי תקן 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 של מערך נתונים
- איך מחשבים את ערך δ-הנוכחות של מערך נתונים