במאמר הזה מוסבר על הטכניקות הזמינות לביטול הזיהוי, או הטרנספורמציות, ב-Sensitive Data Protection.
סוגים של טכניקות להסרת פרטי הזיהוי
הבחירה של טרנספורמציית הסרת הפרטים המזהים שרוצים להשתמש בה תלויה בסוג הנתונים שרוצים להסיר מהם את הפרטים המזהים ובמטרה שלשמה מסירים את הפרטים המזהים מהנתונים. טכניקות הסרת הפרטים המזהים שנתמכות ב-Sensitive Data Protection נחלקות לקטגוריות הכלליות הבאות:
- טשטוש: מחיקה של חלק או של כל ערך רגיש שזוהה.
- החלפה: החלפה של ערך רגיש שזוהה בערך חלופי שצוין.
- מיסוך: החלפה של מספר תווים בערך רגיש בתו חלופי שצוין, כמו סולמית (#) או כוכבית (*).
- טוקניזציה מבוססת-הצפנה: הצפנה של הערך המקורי של מידע אישי רגיש באמצעות מפתח קריפטוגרפי. Sensitive Data Protection תומך בכמה סוגים של טוקניזציה, כולל טרנספורמציות שאפשר לבטל או לבצע להן 'שחזור פרטי זיהוי'.
- הצבה בדלי: 'הכללה' של ערך רגיש על ידי החלפתו בטווח ערכים. (לדוגמה, החלפת גיל ספציפי בטווח גילאים, או החלפת טמפרטורות בטווחים שמתאימים ל'חם', 'בינוני' ו'קר').
- הזזת תאריכים: הזזה של ערכי תאריכים רגישים בפרק זמן אקראי.
- חילוץ זמן: חילוץ או שמירה של חלקים מסוימים של ערכי תאריך ושעה.
בהמשך המאמר מוסבר על כל סוג של טרנספורמציה להסרת פרטים מזהים, ומוצגות דוגמאות לשימוש בהן.
שיטות טרנספורמציה
בטבלה הבאה מפורטות הטרנספורמציות ש-Sensitive Data Protection מספק כדי להסיר פרטי זיהוי ממידע אישי רגיש:
| שינוי | אובייקט | תיאור | אפשר להפוך1 | שלמות רפרנציאלית2 | סוג קלט |
|---|---|---|---|---|---|
| מחיקת אזור | RedactConfig |
מצנזרת ערך על ידי הסרתו. | הכול | ||
| החלפה | ReplaceValueConfig |
הפונקציה מחליפה כל ערך קלט בערך נתון. | הכול | ||
| החלפה במילון | ReplaceDictionaryConfig
|
הפונקציה מחליפה ערך קלט בערך שנבחר באופן אקראי מתוך רשימת מילים. | הכול | ||
| החלפה ב-infoType | ReplaceWithInfoTypeConfig |
הפונקציה מחליפה ערך קלט בשם של סוג המידע שלו. | הכול | ||
| מסכה עם דמות | CharacterMaskConfig |
הפונקציה מסתירה מחרוזת באופן מלא או חלקי על ידי החלפת מספר נתון של תווים בתו קבוע שצוין. | הכול | ||
| פסאודונימיזציה על ידי החלפת ערך הקלט בגיבוב קריפטוגרפי | CryptoHashConfig |
הפונקציה מחליפה ערכי קלט במחרוזת הקסדצימלית של 32 בייט שנוצרה באמצעות מפתח הצפנה נתון של נתונים. מידע נוסף זמין במאמרי העזרה בנושא פסאודונימיזציה. | ✔ | מחרוזות או מספרים שלמים | |
| פסאודונימיזציה באמצעות החלפה באסימון ששומר על פורמט קריפטוגרפי | CryptoReplaceFfxFpeConfig |
מחליפה ערך קלט באסימון או בערך חלופי באורך זהה באמצעות הצפנה ששומרת על הפורמט (FPE) עם מצב הפעולה FFX. כך אפשר להשתמש בפלט במערכות שכוללות אימות של פורמט האורך. האפשרות הזו שימושית במערכות מדור קודם שבהן צריך לשמור על אורך המחרוזת.
חשוב: אם הקלט משתנה באורך או שהאורך שלו גדול מ-32 בייט, צריך להשתמש ב-CryptoDeterministicConfig.
כדי לשמור על אבטחה, המגבלות הבאות מומלצות על ידי
National Institute of Standards and Technology:
|
✔ | ✔ | מחרוזות או מספרים שלמים עם מספר מוגבל של תווים ואורך אחיד. האלפבית צריך לכלול לפחות 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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
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":{
"replaceConfig":{
"newValue":{
"stringValue":"[email-address]"
}
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
פלט מסוג JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is [email-address]."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"replaceConfig":{
"newValue":{
"stringValue":"[email-address]"
}
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
החלפת מילון
החלפה באמצעות מילון (ReplaceDictionaryConfig) מחליפה כל מידע אישי רגיש שזוהה בערך ש-Sensitive Data Protection בוחר באופן אקראי מתוך רשימת מילים שאתם מספקים.
שיטת הטרנספורמציה הזו שימושית אם רוצים להשתמש בערכי תחליף ריאליסטיים.
נניח שאתם רוצים ש-Sensitive Data Protection יזהה כתובות אימייל ויחליף כל ערך מזוהה באחת משלוש כתובות אימייל חלופיות.
אתם שולחים את מחרוזת הקלט הבאה אל Sensitive Data Protection יחד עם רשימת כתובות האימייל החלופיות:
Input string
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
רשימת מילים
- izumi@example.com
- alex@example.com
- tal@example.com
המחרוזת שמוחזרת יכולה להיות כל אחת מהאפשרויות הבאות:
My name is Alicia Abernathy, and my email address is izumi@example.com.
My name is Alicia Abernathy, and my email address is alex@example.com.
My name is Alicia Abernathy, and my email address is tal@example.com.
בדוגמה הבאה בפורמט JSON מוצג איך ליצור את בקשת ה-API ומה מוחזר מ-DLP API.
למידע נוסף על שימוש ב-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": {
"replaceDictionaryConfig": {
"wordList": {
"words": [
"izumi@example.com",
"alex@example.com",
"tal@example.com"
]
}
}
}
}
]
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "EMAIL_ADDRESS"
}
]
}
}
פלט מסוג JSON
{
"item": {
"value": "My name is Alicia Abernathy, and my email address is izumi@example.com."
},
"overview": {
"transformedBytes": "22",
"transformationSummaries": [
{
"infoType": {
"name": "EMAIL_ADDRESS"
},
"transformation": {
"replaceDictionaryConfig": {
"wordList": {
"words": [
"izumi@example.com",
"alex@example.com",
"tal@example.com"
]
}
}
},
"results": [
{
"count": "1",
"code": "SUCCESS"
}
],
"transformedBytes": "22"
}
]
}
}
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
החלפה של infoType
אפשר גם לציין החלפה של infoType (ReplaceWithInfoTypeConfig ב-DLP API). הטרנספורמציה הזו עושה את אותו הדבר כמו טרנספורמציית ההחלפה הבסיסית, אבל היא מחליפה כל ערך של מידע אישי רגיש שזוהה ב-infoType של הערך שזוהה.
לדוגמה, נניח שהגדרתם את Sensitive Data Protection כך שתזהה כתובות אימייל ושמות משפחה, ותחליף כל ערך שזוהה בערך infoType של הערך. אתם שולחים את המחרוזת הבאה אל Sensitive Data Protection:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
המחרוזת שמוחזרת היא:
My name is Alicia LAST_NAME, and my email address is EMAIL_ADDRESS.
סימון חלקים
אתם יכולים להגדיר את Sensitive Data Protection (הגנה על מידע רגיש) כך שיבוצע מיסוך מלא או חלקי של ערך רגיש שזוהה (CharacterMaskConfig ב-DLP API) על ידי החלפת כל תו בתו מיסוך יחיד וקבוע, כמו כוכבית (*) או סולמית (#). אפשר לבצע מיסוך מההתחלה או מהסוף של המחרוזת. ההמרה הזו פועלת גם עם סוגי מספרים, כמו מספרים שלמים ארוכים.
לטרנספורמציית המיסוך של Sensitive Data Protection יש את האפשרויות הבאות שאפשר לציין:
- תו המסיכה (הארגומנט
maskingCharacterב-DLP API): התו שמשמש להסתרת כל תו של ערך רגיש. לדוגמה, אפשר לציין כוכבית (*) או סימן דולר ($) כדי להסתיר סדרה של מספרים, כמו אלה שמופיעים במספר כרטיס אשראי. - מספר התווים להסתרת המידע (
numberToMask): אם לא מציינים את הערך הזה, כל התווים יוסתרו. - האם להפוך את הסדר (
reverseOrder): האם להסתיר תווים בסדר הפוך. היפוך הסדר גורם להסתרת התווים בערכים התואמים מהסוף להתחלה של הערך. - תווים להתעלמות (
charactersToIgnore): תו אחד או יותר שצריך לדלג עליהם כשמבצעים אנונימיזציה של ערכים. לדוגמה, אפשר להגדיר את Sensitive Data Protection כך שהמקפים יישארו במקומם כשמבצעים אנונימיזציה למספר טלפון. אפשר גם לציין קבוצה של תווים נפוצים (CharsToIgnore) להתעלמות מהם בהסתרת נתונים.
נניח שאתם שולחים את המחרוזת הבאה אל Sensitive Data Protection ומנחים אותה להשתמש בהמרת מיסוך התווים על כתובות אימייל:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
כאשר תו המסכה נשלח ל-'#', התווים להתעלמות מוגדרים כקבוצת התווים הנפוצה, והגדרות ברירת המחדל האחרות, Sensitive Data Protection מחזיר את הדברים הבאים:
My name is Alicia Abernathy, and my email address is ##########@#######.###.
בדוגמאות הבאות של JSON וקוד אפשר לראות איך פועל שינוי המיסוך.
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של 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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
PHP
מידע על התקנת ספריית הלקוח של 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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
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":{
"characterMaskConfig":{
"maskingCharacter":"#",
"reverseOrder":false,
"charactersToIgnore":[
{
"charactersToSkip":".@"
}
]
}
}
}
]
}
},
"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":{
"characterMaskConfig":{
"maskingCharacter":"#",
"charactersToIgnore":[
{
"charactersToSkip":".@"
}
]
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
טרנספורמציות של טוקניזציה שמבוססות על קריפטו
שיטות טרנספורמציה של טוקניזציה מבוססת-הצפנה (שנקראות גם "פסאודונימיזציה") הן שיטות להסרת פרטים מזהים, שמחליפות את הערכים המקוריים של מידע אישי רגיש בערכים מוצפנים. התכונה Sensitive Data Protection תומכת בסוגי הטוקניזציה הבאים, כולל טרנספורמציות שאפשר לבטל ולאפשר זיהוי מחדש:
- גיבוב קריפטוגרפי: בהינתן
CryptoKey, Sensitive Data Protection משתמש בקוד אימות הודעות שמבוסס על SHA-256 (HMAC-SHA-256) על ערך הקלט, ואז מחליף את ערך הקלט בערך המגובב שמקודד בפורמט Base64. בניגוד לסוגים אחרים של טרנספורמציות מבוססות-הצפנה, אי אפשר לבטל את הטרנספורמציה מהסוג הזה. - הצפנה ששומרת על הפורמט: מחליפה ערך קלט בטוקן שנוצר באמצעות הצפנה ששומרת על הפורמט (FPE) עם מצב הפעולה FFX. שיטת הטרנספורמציה הזו יוצרת טוקן שמוגבל לאותיות זהות לאלה של ערך הקלט, והאורך שלו זהה לאורך של ערך הקלט. הצפנת FPE תומכת גם בזיהוי מחדש בהינתן מפתח ההצפנה המקורי.
- הצפנה דטרמיניסטית: מחליפה ערך קלט בטוקן שנוצר באמצעות AES במצב וקטור אתחול סינתטי (AES-SIV). לשיטת הטרנספורמציה הזו אין מגבלה על קבוצות של תווים במחרוזת שנתמכות, היא יוצרת טוקנים זהים לכל מופע של ערך קלט זהה, והיא משתמשת בתווים חלופיים כדי לאפשר זיהוי מחדש בהינתן מפתח ההצפנה המקורי.
גיבוב קריפטוגרפי
הטרנספורמציה של גיבוב קריפטוגרפי (CryptoHashConfig ב-DLP API) מקבלת ערך קלט (חלק ממידע אישי רגיש שזוהה על ידי Sensitive Data Protection) ומחליפה אותו בערך מגובב. ערך הגיבוב נוצר באמצעות קוד אימות הודעות שמבוסס על SHA-256 (HMAC-SHA-256) על ערך הקלט עם CryptoKey.
הפלט של Sensitive Data Protection הוא ייצוג בקידוד base64 של ערך הקלט שעבר גיבוב, במקום הערך המקורי.
לפני שמשתמשים בהצפנה קריפטוגרפית של גיבוב, חשוב לזכור את הנקודות הבאות:
- ערך הקלט לא מוצפן אלא מגובב (hashed).
- אי אפשר לבטל את הטרנספורמציה הזו. כלומר, בהינתן ערך הפלט המגובב של הטרנספורמציה והמפתח הקריפטוגרפי המקורי, אין דרך לשחזר את הערך המקורי.
- בשלב הזה, אפשר לבצע גיבוב רק של ערכים מסוג מחרוזת ומסוג מספר שלם.
- הפלט המגובב של הטרנספורמציה הוא תמיד באותו אורך, בהתאם לגודל המפתח הקריפטוגרפי. לדוגמה, אם משתמשים בהצפנה קריפטוגרפית של גיבוב על מספרי טלפון בני 10 ספרות, כל מספר טלפון יוחלף בערך גיבוב באורך קבוע שמקודד ב-Base64.
הצפנה ששומרת על הפורמט
שיטת ההמרה של הצפנה ששומרת על הפורמט (FPE) (CryptoReplaceFfxFpeConfig ב-DLP API) מקבלת ערך קלט (חלק ממידע אישי רגיש שזוהה על ידי Sensitive Data Protection), מצפינה אותו באמצעות הצפנה ששומרת על הפורמט במצב FFX וCryptoKey, ואז מחליפה את הערך המקורי בערך המוצפן או באסימון.
ערך הקלט:
- האורך המינימלי הוא שני תווים (או מחרוזת ריקה).
- הקידוד חייב להיות ASCII.
- מורכב מהתווים שצוינו על ידי 'אלפבית', שהוא קבוצה של בין 2 ל-95 תווים מותרים בערך הקלט. מידע נוסף מופיע בשדה 'אלפבית' במאמר בנושא
CryptoReplaceFfxFpeConfig.
הטוקן שנוצר:
- הוא ערך הקלט המוצפן.
- שומרת על קבוצת התווים ("האלפבית") והאורך של ערך הקלט אחרי ההצפנה.
- הערך מחושב באמצעות הצפנה ששומרת על הפורמט במצב FFX, עם מפתח שמוגדר על ידי המפתח הקריפטוגרפי שצוין.
- לא בהכרח ייחודי, כי כל מופע של אותו ערך קלט עובר הסרת פרטים מזהים לאותו טוקן. כך אפשר לשמור על שלמות הנתונים, ולכן אפשר לחפש בצורה יעילה יותר נתונים שעברו הסרת פרטים מזהים. כדי לשנות את ההתנהגות הזו, אפשר להשתמש ב'שינויים קלים' בהקשר, כמו שמתואר במאמר בנושא הקשרים.
אם יש כמה מקרים של ערך קלט בתוכן המקור, כל אחד מהם יוסר ויזוהה באמצעות אותו טוקן. הצפנת FPE שומרת על האורך ועל מרחב האלפבית (קבוצת התווים), שמוגבל ל-95 תווים. אפשר לשנות את ההתנהגות הזו באמצעות 'שינויים קלים' בהקשר, שיכולים לשפר את האבטחה. הוספת שינוי בהקשר לטרנספורמציה מאפשרת ל-Sensitive Data Protection לבטל את הזיהוי של כמה מופעים של אותו ערך קלט לטוקנים שונים. אם אין צורך לשמור על האורך ועל מרחב האלפבית של הערכים המקוריים, אפשר להשתמש בהצפנה דטרמיניסטית, שמתוארת בהמשך.
Sensitive Data Protection מחשב את אסימון ההחלפה באמצעות מפתח קריפטוגרפי. יש שלוש דרכים לספק את המפתח הזה:
- הטמעת המפתח בבקשת ה-API ללא הצפנה. מומלץ לא לעשות זאת.
- על ידי בקשה מ-Sensitive Data Protection ליצור אותו.
- על ידי הטמעה מוצפנת בבקשת ה-API.
אם בוחרים להטמיע את המפתח בבקשת ה-API, צריך ליצור מפתח ולארוז (להצפין) אותו באמצעות מפתח של Cloud Key Management Service (Cloud KMS). מידע נוסף זמין במאמר בנושא יצירת מפתח עטוף. ערך ברירת המחדל שמוחזר הוא מחרוזת בקידוד Base64. כדי להגדיר את הערך הזה ב-Sensitive Data Protection, צריך לפענח אותו למחרוזת בייטים. בקטעי הקוד הבאים מודגש איך עושים את זה בכמה שפות. אחרי קטעי הקוד האלה מופיעות דוגמאות מקצה לקצה.
Java
KmsWrappedCryptoKey.newBuilder()
.setWrappedKey(ByteString.copyFrom(BaseEncoding.base64().decode(wrappedKey)))
Python
# The wrapped key is base64-encoded, but the library expects a binary
# string, so decode it here.
import base64
wrapped_key = base64.b64decode(wrapped_key)
PHP
// Create the wrapped crypto key configuration object
$kmsWrappedCryptoKey = (new KmsWrappedCryptoKey())
->setWrappedKey(base64_decode($wrappedKey))
->setCryptoKeyName($keyName);
C#
WrappedKey = ByteString.FromBase64(wrappedKey)
מידע נוסף על הצפנה ופענוח של נתונים באמצעות Cloud KMS מופיע במאמר הצפנה ופענוח של נתונים.
דוגמאות להצפנה תוך שמירה על הפורמט: הסרת פרטי הזיהוי
בדוגמה הזו נעשה שימוש בשיטת הטרנספורמציה CryptoReplaceFfxFpeConfig כדי להסיר את פרטי הזיהוי ממידע אישי ורגיש. מידע נוסף זמין בקטע הצפנה ששומרת על הפורמט בדף הזה.
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של 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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
PHP
מידע על התקנת ספריית הלקוח של 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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
דוגמאות להצפנה ששומרת על הפורמט: ביטול הזיהוי באמצעות סוג חלופי
בדוגמה הזו נעשה שימוש בשיטת הטרנספורמציה CryptoReplaceFfxFpeConfig כדי להסיר את פרטי הזיהוי ממידע אישי ורגיש. מידע נוסף זמין בקטע הצפנה ששומרת על הפורמט בדף הזה.
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
דוגמאות להצפנה תוך שמירה על הפורמט: הסרת פרטי הזיהוי של מידע אישי רגיש בטבלאות
בדוגמה הזו נעשה שימוש בשיטת הטרנספורמציה CryptoReplaceFfxFpeConfig כדי להסיר את הפרטים המזהים ממידע אישי ורגיש בטבלאות. מידע נוסף זמין במאמר הצפנה ששומרת על הפורמט בדף הזה.
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
דוגמאות להצפנה ששומרת על הפורמט: זיהוי מחדש
בהמשך מופיע קוד לדוגמה בכמה שפות שממחיש איך להשתמש ב-Sensitive Data Protection כדי לשחזר פרטי זיהוי של מידע אישי רגיש שעבר הסרת פרטי הזיהוי באמצעות שיטת הטרנספורמציה CryptoReplaceFfxFpeConfig. מידע נוסף מופיע בקטע הצפנה ששומרת על הפורמט בדף הזה.
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
דוגמאות להצפנה תוך שמירה על הפורמט: זיהוי מחדש של טקסט
בהמשך מופיע קוד לדוגמה בכמה שפות שממחיש איך להשתמש ב-Sensitive Data Protection כדי לשחזר פרטי זיהוי של טקסט רגיש שעבר הסרת פרטים מזהים באמצעות שיטת הטרנספורמציה CryptoReplaceFfxFpeConfig. מידע נוסף מופיע בקטע הצפנה ששומרת על הפורמט בדף הזה.
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
דוגמאות להצפנה ששומרת על הפורמט: זיהוי מחדש עם סוג חלופי
בהמשך מופיעה דוגמת קוד בכמה שפות שממחישה איך להשתמש ב-Sensitive Data Protection כדי לזהות מחדש נתונים רגישים שעברו דה-אינדטיפיקציה באמצעות שיטת הטרנספורמציה CryptoReplaceFfxFpeConfig. מידע נוסף מופיע בקטע הצפנה ששומרת על הפורמט בדף הזה.
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
דוגמאות להצפנה ששומרת על הפורמט: שחזור פרטי זיהוי של מידע אישי רגיש בטבלאות
בהמשך מופיע קוד לדוגמה בכמה שפות שממחיש איך להשתמש ב-Sensitive Data Protection כדי לשחזר פרטי זיהוי של מידע אישי רגיש בטבלאות שעברו הסרת פרטי הזיהוי באמצעות שיטת הטרנספורמציה CryptoReplaceFfxFpeConfig. מידע נוסף מופיע בקטע הצפנה ששומרת על הפורמט בדף הזה.
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
הצפנה דטרמיניסטית
שיטת טרנספורמציית ההצפנה הדטרמיניסטית CryptoDeterministicConfig ב-DLP API מקבלת ערך קלט (חלק ממידע אישי רגיש שזוהה על ידי Sensitive Data Protection), מצפינה אותו באמצעות AES-SIV עם CryptoKey, ואז מחליפה את הערך המקורי בייצוג בקידוד Base64 של הערך המוצפן.
שימוש בטרנספורמציה של הצפנה דטרמיניסטית מאפשר חיפוש יעיל יותר של נתונים מוצפנים.
ערך הקלט:
- הסיסמה חייבת לכלול תו אחד לפחות.
- אין הגבלות על ערכת התווים.
הטוקן שנוצר:
- הוא ייצוג בקידוד Base64 של הערך המוצפן.
- לא שומר על קבוצת התווים ('האלפבית') או על האורך של ערך הקלט אחרי ההצפנה.
- החישוב מתבצע באמצעות הצפנת AES במצב SIV (AES-SIV) עם
CryptoKey. - לא בהכרח ייחודי, כי כל מופע של אותו ערך קלט עובר הסרת פרטים מזהים לאותו טוקן. כך אפשר לחפש נתונים מוצפנים בצורה יעילה יותר. כדי לשנות את ההתנהגות הזו, אפשר להשתמש בשינויים בהקשר, כמו שמתואר במאמר בנושא הקשרים.
- נוצר עם קידומת שנוספה, בפורמט
[SURROGATE_TYPE]([LENGTH]):, כאשר[SURROGATE_TYPE]מייצג surrogate infoType שמתאר את ערך הקלט, ו-[LENGTH]מציין את אורך התווים שלו. התחליף מאפשר לזהות מחדש את האסימון באמצעות מפתח ההצפנה המקורי ששימש להסרת הפרטים המזהים.
בהמשך מופיעה דוגמה להגדרת JSON להסרת פרטים מזהים באמצעות הצפנה דטרמיניסטית. שימו לב שבחרנו להשתמש ב-PHONE_SURROGATE בתור סוג תחליף תיאורי, כי אנחנו מסירים את הפרטים המזהים ממספרי טלפון.
[CRYPTO_KEY] מייצג מפתח קריפטוגרפי לא ארוז שהתקבל מ-Cloud KMS.
{
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"primitiveTransformation":{
"cryptoDeterministicConfig":{
"cryptoKey":{
"unwrapped":{
"key":"[CRYPTO_KEY]"
}
},
"surrogateInfoType":{
"name":"PHONE_SURROGATE"
}
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
]
},
"item":{
"value":"My phone number is 206-555-0574, call me"
}
}
הסרת הפרטים המזהים מהמחרוזת 'מספר הטלפון שלי הוא 206-555-0574' באמצעות ההמרה הזו תניב מחרוזת ללא פרטים מזהים, כמו זו:
My phone number is PHONE_SURROGATE(36):ATZBu5OCCSwo+e94xSYnKYljk1OQpkW7qhzx, call me
כדי לשחזר פרטי זיהוי של המחרוזת הזו, אפשר להשתמש בבקשת JSON כמו הבקשה הבאה, שבה [CRYPTO_KEY] הוא אותו מפתח קריפטוגרפי ששימש להסרת פרטי הזיהוי מהתוכן.
{
"reidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"PHONE_SURROGATE"
}
],
"primitiveTransformation":{
"cryptoDeterministicConfig":{
"cryptoKey":{
"unwrapped":{
"key":"[CRYPTO_KEY]"
}
},
"surrogateInfoType":{
"name":"PHONE_SURROGATE"
}
}
}
}
]
}
},
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"PHONE_SURROGATE"
},
"surrogateType":{
}
}
]
},
"item":{
"value":"My phone number is [PHONE_SURROGATE](36):ATZBu5OCCSwo+e94xSYnKYljk1OQpkW7qhzx, call me"
}
}
זיהוי מחדש של המחרוזת הזו יחזיר את המחרוזת המקורית:
My phone number is 206-555-0574, call me
אם רוצים להשתמש ב-CryptoKey עטוף (מוצפן) במקום זאת כדי לשפר את האבטחה, אפשר לעיין בדוגמה שבמדריך להתחלה מהירה: ביטול הזיהוי והחזרת הזיהוי של טקסט רגיש. כשמוכנים להשתמש בספריית לקוח כדי לבטל את הזיהוי של תוכן, חשוב לזכור לפענח את המפתח העטוף (שהוא מחרוזת בקידוד base64 כברירת מחדל), כמו שמוסבר בקטע הצפנה ששומרת על הפורמט בדף הזה.
דוגמאות להצפנה דטרמיניסטית: הסרת פרטי זיהוי
בדוגמה הזו נעשה שימוש בשיטת הטרנספורמציה CryptoDeterministicConfig כדי להסיר את פרטי הזיהוי ממידע אישי ורגיש. מידע נוסף זמין בקטע הצפנה דטרמיניסטית שבדף הזה.
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
דוגמאות להצפנה דטרמיניסטית: שחזור פרטי זיהוי
בדוגמה הזו מוצג איך לשחזר פרטי זיהוי של מידע אישי רגיש שעבר הסרת פרטי הזיהוי באמצעות שיטת הטרנספורמציה CryptoDeterministicConfig. מידע נוסף זמין בקטע הצפנה דטרמיניסטית שבדף הזה.
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Bucketing
הטרנספורמציות של חלוקה לקטגוריות משמשות להסרת פרטים מזהים מנתונים מספריים על ידי חלוקה שלהם לטווחים. טווח המספרים שמתקבל הוא מחרוזת עם מקף שמורכבת מגבול תחתון, מקף וגבול עליון.
חלוקה לקבוצות בגודל קבוע
Sensitive Data Protection יכולה לסווג ערכים מספריים של קלט לפי טווחים בגודל קבוע (FixedSizeBucketingConfig ב-DLP API). כדי להגדיר חלוקה לקבוצות בגודל קבוע, מציינים את הפרטים הבאים:
- הערך של הגבול התחתון של כל הדליים. כל הערכים שקטנים מהגבול התחתון מקובצים יחד בדלי אחד.
- הערך של הגבול העליון של כל הדליים. כל הערכים שגדולים מהגבול העליון מקובצים יחד בדלי אחד.
- הגודל של כל דלי, מלבד הדלי המינימלי והדלי המקסימלי.
לדוגמה, אם הגבול התחתון מוגדר כ-10, הגבול העליון מוגדר כ-89 וגודל הקטגוריה מוגדר כ-10, הקטגוריות הבאות ישמשו: -10, 10-20, 20-30, 30-40, 40-50, 50-60, 60-70, 70-80, 80-89, 89+.
מידע נוסף על המושג 'קטגוריות' זמין במאמר הכללה וקטגוריות.
סיווג בהתאמה אישית
האפשרות 'חלוקה לקטגוריות בהתאמה אישית' (BucketingConfig ב-DLP API) מציעה יותר גמישות מאשר חלוקה לקטגוריות בגודל קבוע.
במקום לציין גבולות עליונים ותחתונים וערך של מרווח ליצירת קבוצות שוות בגודלן, אתם מציינים את הערכים המקסימליים והמינימליים לכל קבוצה שאתם רוצים ליצור. כל זוג של ערך מקסימלי וערך מינימלי צריך להיות מאותו סוג.
כדי להגדיר חלוקה לקטגוריות בהתאמה אישית, צריך לציין קטגוריות בודדות. לכל דלי יש את המאפיינים הבאים:
- הגבול התחתון של טווח הדלי. כדי ליצור קבוצה ללא גבול תחתון, צריך להשמיט את הערך הזה.
- הגבול העליון של טווח הדלי. כדי ליצור קבוצה ללא גבול עליון, לא מציינים את הערך הזה.
- ערך ההחלפה של טווח הקטגוריות הזה. הערך שבו יוחלפו כל הערכים שזוהו ונמצאים בין הגבול התחתון לגבול העליון. אם לא תספקו ערך חלופי, המערכת תיצור במקומו טווח מינימום-מקסימום עם מקף.
לדוגמה, נניח שיש לכם את הגדרת ה-JSON הבאה לשינוי הזה של חלוקה לקטגוריות:
"bucketingConfig":{
"buckets":[
{
"min":{
"integerValue":"1"
},
"max":{
"integerValue":"30"
},
"replacementValue":{
"stringValue":"LOW"
}
},
{
"min":{
"integerValue":"31"
},
"max":{
"integerValue":"65"
},
"replacementValue":{
"stringValue":"MEDIUM"
}
},
{
"min":{
"integerValue":"66"
},
"max":{
"integerValue":"100"
},
"replacementValue":{
"stringValue":"HIGH"
}
}
]
}
ההגדרה הזו מגדירה את ההתנהגות הבאה:
- ערכים שלמים בין 1 ל-30 מוסווים על ידי החלפה ב-
LOW. - ערכים של מספרים שלמים בין 31 ל-65 מוסתרים על ידי החלפה ב-
MEDIUM. - ערכים של מספרים שלמים בין 66 ל-100 מוסתרים באמצעות החלפה בערך
HIGH.
מידע נוסף על המושג 'קטגוריות' זמין במאמר הכללה וקטגוריות.
שינוי התאריך
כשמשתמשים בטרנספורמציה של הזזת תאריכים (DateShiftConfig) ב-DLP API על ערך קלט של תאריך, Sensitive Data Protection מזיזה את התאריכים במספר אקראי של ימים.
טכניקות של שינוי תאריכים משנות באופן אקראי קבוצה של תאריכים, אבל שומרות על הרצף ועל משך הזמן של תקופה מסוימת. הזזת תאריכים מתבצעת בדרך כלל בהקשר של אדם או ישות. כלומר, אתם רוצים להזיז את כל התאריכים של אדם ספציפי באמצעות אותו הפרש, אבל להשתמש בהפרש אחר לכל אדם אחר.
מידע נוסף על שינוי תאריכים זמין במאמר שינוי תאריכים.
בהמשך מופיע קוד לדוגמה בכמה שפות שממחיש איך להשתמש ב-Cloud DLP API כדי להסיר פרטי זיהוי מתאריכים באמצעות הזזת תאריכים.
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של 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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
PHP
מידע על התקנת ספריית הלקוח של 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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
חילוץ זמן
האובייקט של ביצוע חילוץ זמן (TimePartConfig ב-DLP API) שומר חלק מערך תואם, שבתאריך, בשעה או בחותמת זמן שומר חלק מערך תואם. אתם מציינים ב-Sensitive Data Protection איזה סוג של ערך זמן אתם רוצים לחלץ, כולל שנה, חודש, יום בחודש וכן הלאה (מפורט באובייקט TimePart).
לדוגמה, נניח שהגדרתם טרנספורמציה timePartConfig והגדרתם את החלק של השעה לחילוץ ל-YEAR. אחרי שליחת הנתונים בעמודה הראשונה למטה אל Sensitive Data Protection, תקבלו את הערכים שעברו טרנספורמציה בעמודה השנייה:
| ערכים מקוריים | ערכים שעברו שינוי |
|---|---|
9/21/1976 |
1976 |
6/7/1945 |
1945 |
1/20/2009 |
2009 |
7/4/1776 |
1776 |
8/1/1984 |
1984 |
4/21/1982 |
1982 |
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.