בעזרת כללים למילות הפעלה, אפשר להרחיב עוד יותר את גלאי סוגי המידע המובנים ובהתאמה אישית באמצעות כללי הקשר חזקים. כלל הרחבה (Hotword) מורה ל-Sensitive Data Protection לשנות את הסבירות לממצא, בהתאם לשאלה אם מילת חיפוש מופיעה בקרבת הממצא. כלל מילת הפעלה הוא סוג של כלל בדיקה, שמוגדר בקבוצות כללים. כל כלל מוחל על קבוצה של סוגי מידע מובנים או מותאמים אישית.
המבנה של כלל הרחבה (Hotword)
לגלאי infoType יכולות להיות אפס או יותר כללי מילות הפעלה. בהגדרת הבדיקה, מגדירים כל אובייקט HotwordRule בתוך מערך rules באופן הבא:
"rules":[
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"REGEX_PATTERN"
},
"proximity":{
"windowAfter":"NUM_CHARS_TO_CONSIDER_AFTER_FINDING",
"windowBefore":"NUM_CHARS_TO_CONSIDER_BEFORE_FINDING"
}
"likelihoodAdjustment":{
"fixedLikelihood":"LIKELIHOOD_VALUE"
-- OR --
"relativeLikelihood":"LIKELIHOOD_ADJUSTMENT"
},
}
},
...
]
מחליפים את מה שכתוב בשדות הבאים:
- REGEX_PATTERN: ביטוי רגולרי (אובייקט
Regex) שמגדיר מה נחשב למילת הפעלה. - NUM_CHARS_TO_CONSIDER_AFTER_FINDING: טווח של תווים אחרי הממצא. מערכת Sensitive Data Protection מנתחת את הטווח הזה כדי לקבוע אם מילת הפעלה מופיעה בקרבת הממצא.
NUM_CHARS_TO_CONSIDER_BEFORE_FINDING: טווח של תווים לפני הממצא. מערכת Sensitive Data Protection מנתחת את הטווח הזה כדי לקבוע אם מילת הפעלה מופיעה בקרבת הממצא.
LIKELIHOOD_VALUE: רמה קבועה
Likelihoodלהגדרת הממצא.LIKELIHOOD_ADJUSTMENT: מספר שמציין בכמה Sensitive Data Protection צריכה להגדיל או להקטין את הסבירות לממצא. מספר שלם חיובי מגדיל את רמת הסבירות, ומספר שלם שלילי מקטין אותה. לדוגמה, אם ממצא מסוים היה
POSSIBLEללא כלל הזיהוי וערך ה-relativeLikelihoodהוא 1, הממצא ישודרג ל-LIKELY. אם הערך שלrelativeLikelihoodהוא -1, הממצא משודרג לאחור ל-UNLIKELY. ההסתברות אף פעם לא תהיה נמוכה מ-VERY_UNLIKELYאו גבוהה מ-VERY_LIKELY. במקרים כאלה, רמת הסבירות נשארת זהה. לדוגמה, אם הסבירות הבסיסית היאVERY_LIKELYוהערך שלrelativeLikelihoodהוא 1, הסבירות הסופית תישארVERY_LIKELY.
דוגמה למילת הפעלה: התאמה של מספרי תיקים רפואיים
נניח שאתם רוצים לזהות infoType מותאם אישית, כמו מספר תיק רפואי (MRN) בפורמט "###-#-#####". בנוסף, אתם רוצים ש-Sensitive Data Protection יגדיל את הסבירות להתאמה של כל ממצא שמופיע אחרי מילת הפעלה "MRN".
ערכים לדוגמה:
- המספר 123-4-56789 יתאים ל-
POSSIBLE. - מספר MRN 123-4-56789 יתאים ל-
VERY_LIKELY.
בדוגמה הבאה של JSON ובקטעי הקוד אפשר לראות איך מגדירים את כלל הרחבה (Hotword). בדוגמה הזו נעשה שימוש בגלאי מותאם אישית של ביטוי רגולרי.
בדוגמה הזו, חשוב לשים לב לנקודות הבאות:
- הבקשה מגדירה את
C_MRNסוג המידע בהתאמה אישית, שהוא מזהה לכל מחרוזת שתואמת לביטוי הרגולרי[0-9]{3}-[0-9]{1}-[0-9]{5}. - הביטוי הרגולרי
(?i)(mrn|medical)(?-i)מגדיר את מילת ההפעלה. התכונה Sensitive Data Protection מחפשת את מילת ההפעלה הזו בטווח התווים שמוגדר בשדהproximity. - לכל ממצא
C_MRNשמכיל מילת הפעלה בתוך קבוצת המיליםproximity, Sensitive Data Protection מגדיר את רמת הסבירות ל-VERY_LIKELY.
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:inspect
מחליפים את PROJECT_ID במזהה הפרויקט.
קלט JSON:
{
"item":{
"value":"Patient's MRN 444-5-22222 and just a number 333-2-33333"
},
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"C_MRN"
},
"regex":{
"pattern":"[0-9]{3}-[0-9]{1}-[0-9]{5}"
},
"likelihood":"POSSIBLE",
}
],
"ruleSet":[
{
"infoTypes": [{"name" : "C_MRN"}],
"rules":[
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"(?i)(mrn|medical)(?-i)"
},
"likelihoodAdjustment":{
"fixedLikelihood":"VERY_LIKELY"
},
"proximity":{
"windowBefore":10
}
}
}
]
}
]
}
}
פלט JSON (גרסה מקוצרת):
{
"result": {
"findings": [
{
"infoType": {
"name": "C_MRN"
},
"likelihood": "VERY_LIKELY",
"location": {
"byteRange": {
"start": "14",
"end": "25"
},
"codepointRange": { ... }
}
},
{
"infoType": {
"name": "C_MRN"
},
"likelihood": "POSSIBLE",
"byteRange": {
"start": "44",
"end": "55"
},
"codepointRange": { ... }
}
}
]
}
}
בפלט אפשר לראות ש-Sensitive Data Protection זיהה נכון את מספר התיק הרפואי באמצעות גלאי ה-infoType המותאם אישית C_MRN.
בנוסף, בגלל ההתאמה להקשר בכלל הרחבה (Hotword), Sensitive Data Protection הקצתה לתוצאה הראשונה – שהיה בה מספר רשומה רפואית בתוך הקבוצה proximity – הסתברות של VERY_LIKELY, כפי שהוגדר. בממצא השני חסר ההקשר, ולכן likelihood נשאר POSSIBLE.
דוגמה למילת הפעלה: הגדרת הסבירות להתאמה של עמודה בטבלה
בדוגמה הזו אפשר לראות איך מגדירים את הסבירות להתאמה של עמודה שלמה של נתונים. הגישה הזו שימושית, למשל, אם רוצים להחריג עמודת נתונים מתוצאות הבדיקה.
כדאי לעיין בטבלה הבאה. עמודה אחת מכילה מספרי ביטוח לאומי (SSN) שהם placeholders, ועמודה אחרת מכילה מספרי SSN אמיתיים.
| מספר ביטוח לאומי מזויף | מספר ביטוח לאומי אמיתי |
|---|---|
| 111-11-1111 | 222-22-2222 |
כדי למזער את הרעש בתוצאות הבדיקה, אפשר להחריג את הממצאים בעמודה Fake Social Security Number. הקצאת רמת סבירות נמוכה לעמוד הזה. לאחר מכן, מגדירים את הבקשה כך שהתאמות לרמת הסבירות הזו יוחרגו מהתוצאות.
בדוגמה הזו, חשוב לשים לב לנקודות הבאות:
- כלל הרחבה (Hotword) חל על סוג המידע
US_SOCIAL_SECURITY_NUMBER. - הביטוי הרגולרי של מילת ההפעלה
(Fake Social Security Number)כולל את שם העמודה שבה נמצאים ערכי ה-placeholder. - המאפיין
windowBeforeמוגדר ל-1, כלומר מילת ההפעלה נמצאת בכותרת של עמודה, והממצאים צריכים להיות בעמודה. - לכל ממצא של
US_SOCIAL_SECURITY_NUMBERבעמודה הזו, רמת הסבירות שמוגדרת ב-Sensitive Data Protection היאVERY_UNLIKELY. - המאפיין
minLikelihoodמוגדר לערךPOSSIBLE, כלומר כל ממצא עם רמת סבירות נמוכה מ-POSSIBLEמוחרג מתוצאות הבדיקה.
למידע נוסף על שימוש ב-DLP API עם JSON, אפשר לעיין במדריך לתחילת העבודה עם JSON.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:inspect
מחליפים את PROJECT_ID במזהה הפרויקט.
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
קלט JSON:{
"item": {
"table": {
"headers": [
{
"name": "Fake Social Security Number"
},
{
"name": "Real Social Security Number"
}
],
"rows": [
{
"values": [
{
"stringValue": "111-11-1111"
},
{
"stringValue": "222-22-2222"
}
]
}
]
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "US_SOCIAL_SECURITY_NUMBER"
}
],
"includeQuote": true,
"ruleSet": [
{
"infoTypes": [
{
"name": "US_SOCIAL_SECURITY_NUMBER"
}
],
"rules": [
{
"hotwordRule": {
"hotwordRegex": {
"pattern": "(Fake Social Security Number)"
},
"likelihoodAdjustment": {
"fixedLikelihood": "VERY_UNLIKELY"
},
"proximity": {
"windowBefore": 1
}
}
}
]
}
],
"minLikelihood": "POSSIBLE"
}
}
פלט JSON:
{
"result": {
"findings": [
{
"quote": "222-22-2222",
"infoType": {
"name": "US_SOCIAL_SECURITY_NUMBER"
},
"likelihood": "VERY_LIKELY",
"location": {
"byteRange": {
"end": "11"
},
"codepointRange": {
"end": "11"
},
"contentLocations": [
{
"recordLocation": {
"fieldId": {
"name": "Real Social Security Number"
},
"tableLocation": {}
}
}
]
},
"createTime": "TIMESTAMP",
"findingId": "TIMESTAMP"
}
]
}
}
הערך 111-11-1111, שנמצא בעמודה Fake Social Security Number, תאם לכלל הרחבה (Hotword), ולכן Sensitive Data Protection הקצתה לו את רמת הסבירות VERY_UNLIKELY . הרמה הזו נמוכה מהסבירות המינימלית שהוגדרה בהגדרות הבדיקה (POSSIBLE), ולכן הממצא הזה לא נכלל בתוצאת הבדיקה.
אתם יכולים להתנסות בדוגמה הזו על ידי הסרת קבוצת הכללים. שימו לב שהתוצאות של Sensitive Data Protection כוללות את המספר 111-11-1111.