במאמר הזה מוסבר על הטכניקות הזמינות לביטול הזיהוי, או הטרנספורמציות, ב-Sensitive Data Protection.
סוגים של טכניקות להסרת פרטי הזיהוי
הבחירה של טרנספורמציית הסרת הפרטים המזהים שרוצים להשתמש בה תלויה בסוג הנתונים שרוצים להסיר מהם את הפרטים המזהים ובמטרה שלשמה רוצים להסיר את הפרטים המזהים מהנתונים. טכניקות הסרת הפרטים המזהים שנתמכות ב-Sensitive Data Protection נחלקות לקטגוריות הכלליות הבאות:
- טשטוש: מחיקה של חלק או של כל ערך רגיש שזוהה.
- החלפה: החלפה של ערך רגיש שזוהה בערך חלופי שצוין.
- מיסוך: החלפה של מספר תווים בערך רגיש בתו חלופי שצוין, כמו סולמית (#) או כוכבית (*).
- טוקניזציה מבוססת-הצפנה: הצפנה של הערך המקורי של מידע אישי רגיש באמצעות מפתח קריפטוגרפי. Sensitive Data Protection תומכת בכמה סוגים של טוקניזציה, כולל טרנספורמציות שאפשר לבטל, או "לשחזר פרטי זיהוי".
- הצבה בדלי: 'הכללה' של ערך רגיש על ידי החלפתו בטווח ערכים. (לדוגמה, החלפת גיל ספציפי בטווח גילאים, או החלפת טמפרטורות בטווחים שתואמים ל'חם', 'בינוני' ו'קר').
- הזזת תאריכים: הזזה של ערכי תאריכים רגישים בפרק זמן אקראי.
- חילוץ זמן: חילוץ או שמירה של חלקים מסוימים של ערכי תאריך ושעה.
בהמשך המאמר הזה מוסבר על כל סוג של טרנספורמציה להסרת פרטים מזהים, ומוצגות דוגמאות לשימוש בהן.
שיטות טרנספורמציה
בטבלה הבאה מפורטות הטרנספורמציות ש-Sensitive Data Protection מספק כדי להסיר פרטי זיהוי ממידע אישי רגיש:
| שינוי | אובייקט | תיאור | Can Reverse1 | שלמות רפרנציאלית2 | סוג הקלט |
|---|---|---|---|---|---|
| צנזורה | RedactConfig |
מצנזרת ערך על ידי הסרתו. | הכול | ||
| החלפה | ReplaceValueConfig |
הפונקציה מחליפה כל ערך קלט בערך נתון. | הכול | ||
| החלפה במילון | ReplaceDictionaryConfig
|
הפונקציה מחליפה ערך קלט בערך שנבחר באופן אקראי מתוך רשימת מילים. | הכול | ||
| החלפה ב-infoType | ReplaceWithInfoTypeConfig |
הפונקציה מחליפה ערך קלט בשם של סוג המידע שלו. | הכול | ||
| מסיכה עם דמות | CharacterMaskConfig |
הפונקציה מסתירה מחרוזת באופן מלא או חלקי על ידי החלפת מספר נתון של תווים בתו קבוע שצוין. | הכול | ||
| פסאודונימיזציה על ידי החלפת ערך הקלט בגיבוב קריפטוגרפי | CryptoHashConfig |
הפונקציה מחליפה ערכי קלט במחרוזת הקסדצימלית של 32 בייט שנוצרה באמצעות מפתח הצפנה נתון של נתונים. מידע נוסף זמין במאמרי העזרה בנושא פסאודונימיזציה. | ✔ | מחרוזות או מספרים שלמים | |
| פסאודונימיזציה באמצעות החלפה באסימון ששומר על פורמט קריפטוגרפי | CryptoReplaceFfxFpeConfig |
מחליפה ערך קלט באסימון או בערך חלופי באורך זהה באמצעות הצפנה ששומרת על הפורמט (FPE) עם מצב הפעולה FFX. כך אפשר להשתמש בפלט במערכות שכוללות אימות של הפורמט לפי אורך. האפשרות הזו שימושית במערכות מדור קודם שבהן צריך לשמור על אורך המחרוזת.
חשוב: אם הקלט משתנה באורך או שאורכו גדול מ-32 בייט, צריך להשתמש ב-CryptoDeterministicConfig.
כדי לשמור על אבטחה, מומלץ להשתמש במגבלות הבאות שנקבעו על ידי
המכון הלאומי לתקנים ולטכנולוגיה:
|
✔ | ✔ | מחרוזות או מספרים שלמים עם מספר מוגבל של תווים ואורך אחיד. האלפבית צריך לכלול לפחות 2 תווים ולא יותר מ-95 תווים. |
| פסאודונימיזציה באמצעות החלפה באסימון קריפטוגרפי | CryptoDeterministicConfig |
הפונקציה מחליפה ערך קלט בטוקן או בערך חלופי באורך זהה באמצעות AES במצב וקטור אתחול סינתטי (AES-SIV). בשיטת הטרנספורמציה הזו, בניגוד לטוקניזציה ששומרת על הפורמט, אין הגבלה על ערכות התווים של המחרוזות הנתמכות, נוצרים טוקנים זהים לכל מופע של ערך קלט זהה, והמערכת משתמשת בתחליפים כדי לאפשר זיהוי מחדש בהינתן מפתח ההצפנה המקורי. | ✔ | ✔ | הכול |
| הקצאת ערכים לדליים על סמך טווחי גודל קבועים | FixedSizeBucketingConfig |
הפונקציה מחליפה את ערכי הקלט בדליים או בטווחים שבהם ערך הקלט נכלל. | הכול | ||
| הקצאת ערכים לדלי על סמך טווחי גדלים מותאמים אישית | BucketingConfig |
הפונקציה מחלקת את ערכי הקלט לקבוצות על סמך טווחים שניתנים להגדרה על ידי המשתמש וערכי החלפה. | הכול | ||
| שינוי התאריך | DateShiftConfig |
הפונקציה משנה את התאריכים במספר אקראי של ימים, עם אפשרות לשמור על עקביות באותו הקשר. | ✔ שומר על הרצף ועל משך הזמן |
תאריכים/שעות | |
| חילוץ נתוני זמן | TimePartConfig |
מחזירה או שומרת חלק מהערכים Date, Timestamp ו-TimeOfDay. |
תאריכים/שעות |
הערות שוליים
content.reidentify.
צנזורה
אם רוצים פשוט להסיר מידע אישי רגיש מתוכן הקלט, Sensitive Data Protection תומך בטרנספורמציה של צנזור (RedactConfig ב-DLP API).
לדוגמה, נניח שרוצים לבצע צנזורה פשוטה של כל EMAIL_ADDRESS סוגי המידע, והמחרוזת הבאה נשלחת אל Sensitive Data Protection:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
המחרוזת שתוחזר תהיה:
My name is Alicia Abernathy, and my email address is .
בדוגמה הבאה בפורמט JSON ובקוד בכמה שפות אפשר לראות איך ליצור את בקשת ה-API ומה מוחזר מ-DLP API.
C#
מידע על התקנת ספריית הלקוח של Sensitive Data Protection והשימוש בה מופיע במאמר ספריות הלקוח של Sensitive Data Protection.
כדי לבצע אימות ב-Sensitive Data Protection, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
REST
למידע נוסף על שימוש ב-DLP API עם JSON, אפשר לעיין במדריך לתחילת העבודה עם JSON.
ה-method של ה-HTTP וכתובת ה-URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
מחליפים את PROJECT_ID במזהה הפרויקט.
קלט JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"primitiveTransformation":{
"redactConfig":{
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
פלט מסוג JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is ."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"redactConfig":{
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
החלפה
הטרנספורמציות של ההחלפה מחליפות כל ערך קלט בערך טוקן נתון או בשם של סוג המידע שלו.
החלפה בסיסית
הטרנספורמציה הבסיסית של החלפה (ReplaceValueConfig ב-DLP API) מחליפה ערכים של מידע אישי רגיש שזוהו בערך שאתם מציינים. לדוגמה, נניח שהגדרתם ב-Sensitive Data Protection להשתמש בערך [fake@example.com] כדי להחליף את כל ה-infoTypes של EMAIL_ADDRESS שזוהו, והמחרוזת הבאה נשלחת ל-Sensitive Data Protection:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
המחרוזת שמוחזרת היא:
My name is Alicia Abernathy, and my email address is [fake@example.com].
בדוגמה הבאה בפורמט JSON ובקוד בכמה שפות אפשר לראות איך ליצור את בקשת ה-API ומה מוחזר מ-DLP API.
C#
מידע על התקנת ספריית הלקוח של Sensitive Data Protection והשימוש בה מופיע במאמר ספריות הלקוח של Sensitive Data Protection.
כדי לבצע אימות ב-Sensitive Data Protection, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Go
מידע על התקנת ספריית הלקוח של Sensitive Data Protection והשימוש בה מופיע במאמר ספריות הלקוח של Sensitive Data Protection.
כדי לבצע אימות ב-Sensitive Data Protection, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.