בעזרת כללי הרחבה (Hotword) אתם יכולים להרחיב את מזהי ה-infoType המובנים והמותאמים אישית באמצעות כללי הקשר יעילים. כלל הרחבה (Hotword) מורה ל-Sensitive Data Protection לשנות את הסבירות לממצא, בהתאם לשאלה אם מילת ההפעלה מופיעה ליד הממצא. כלל הרחבה (Hotword) הוא סוג של כלל בדיקה, שמוגדר בקבוצות כללים. כל כלל מוחל על קבוצה של טיפוסי מידע מובנים או מותאמים אישית.
המבנה של כלל הרחבה (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. - מספר התיק הרפואי 123-4-56789 יותאם ל-
VERY_LIKELY.
דוגמת ה-JSON וקטעי הקוד הבאים מראים איך להגדיר את כלל ההרחבה (Hotword). בדוגמה הזו משתמשים בגלאי ביטויים רגולריים בהתאמה אישית.
בדוגמה הזו, שימו לב לפרטים הבאים:
- הבקשה מגדירה את ה-infoType המותאם אישית
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.
בנוסף, בגלל ההתאמה להקשר בכלל ההרחבה, Sensitive Data Protection הקצה לתוצאה הראשונה (שכללה מספר MRN בטווח proximity) סבירות של VERY_LIKELY, כמו שהוגדר. בממצא השני לא היה הקשר, ולכן ה-likelihood נשאר ב-POSSIBLE.
דוגמה למילת מפתח: הגדרת הסבירות להתאמה של עמודה בטבלה
בדוגמה הזו אפשר לראות איך מגדירים את סבירות ההתאמה של עמודת נתונים שלמה. הגישה הזו שימושית, למשל, אם רוצים להחריג עמודת נתונים מתוצאות הבדיקה.
לצורך המחשה, נבחן את הטבלה הבאה. עמודה אחת מכילה מספרי תעודת זהות (ת"ז) שהם פלייסהולדרים, ועמודה אחרת מכילה מספרי ת"ז אמיתיים.
| מספר תעודת זהות מזויף | מספר תעודת זהות אמיתי |
|---|---|
| 111-11-1111 | 222-22-2222 |
כדי לצמצם את הרעש בתוצאות הבדיקה, אתם יכולים להחריג את הממצאים בעמודה Fake Social Security Number. מקצים לעמודה הזו רמת סבירות נמוכה. לאחר מכן, מגדירים את הבקשה כך שהתאמות ברמת הסבירות הזו לא ייכללו בתוצאות.
בדוגמה הזו, שימו לב לפרטים הבאים:
- כלל ההרחבה (Hotword) חל על ה-infoType
US_SOCIAL_SECURITY_NUMBER. - הביטוי הרגולרי של מילת המפתח
(Fake Social Security Number)מכיל את שם העמודה שכוללת את הערכים הזמניים לשמירת מקום. - המאפיין
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, תאם לכלל ההרחבה, ולכן Sensitive Data Protection הקצה לו את רמת הסבירות VERY_UNLIKELY. הרמה הזו נמוכה מהסבירות המינימלית שהוגדרה בבדיקה (POSSIBLE), ולכן הממצא הזה לא נכלל בתוצאות הבדיקה.
אתם יכולים להתנסות בדוגמה הזו על ידי הסרת קבוצת הכללים. שימו לב ש-Sensitive Data Protection כולל את 111-11-1111 בתוצאות.