תוסף למניעת אובדן נתונים ב-Google Cloud

אתם צופים במסמכי התיעוד של Apigee Edge.
אפשר לעבור אל מסמכי התיעוד של Apigee X.
מידע

גרסה: 2.0.2

אפשר להשתמש בתוסף הזה כדי להסתיר נתונים רגישים מתוכן ומאוספי תמונות. לדוגמה, אפשר לצנזר מספרי כרטיסי אשראי, שמות ומספרי תעודות זהות.

דרישות מוקדמות

התוכן הזה מספק הפניה להגדרת התוסף הזה ולשימוש בו. לפני שמשתמשים בתוסף משרת proxy של API באמצעות מדיניות ExtensionCallout, צריך:

  1. מפעילים את Google Cloud DLP API בפרויקט.

  2. נותנים הרשאה לרמת הגישה הרצויה לתוסף.

  3. שימוש במסוף Google Cloud כדי ליצור מפתח לחשבון השירות.

  4. משתמשים בתוכן של קובץ ה-JSON של המפתח שנוצר כשמוסיפים ומגדירים את התוסף באמצעות הפניה להגדרות.

מידע על מניעת אובדן נתונים בענן (DLP)

Cloud Data Loss Prevention (DLP) הוא API לבדיקת טקסט, תמונות ונתונים אחרים כדי לזהות ולנהל נתונים רגישים.

מידע נוסף מופיע בסקירה הכללית על DLP. למידע על ה-API שהתוסף הזה חושף, אפשר לעיין במאמר בנושא Cloud Data Loss Prevention (DLP) API.

דוגמאות

בדוגמאות הבאות אפשר לראות איך מגדירים תמיכה בפעולות של התוסף Cloud DLP באמצעות מדיניות ExtensionCallout.

כדי להקל על ניסיון קוד הדוגמה הזה, בדוגמאות האלה נעשה שימוש במדיניות AssignMessage כדי להגדיר ערכים של משתני זרימה ולאחזר ערכי תגובה של תוסף להצגה בכלי Trace.

מסכה עם כוכבים

בדוגמה הזו נעשה שימוש בפעולה deidentifyWithMask כדי להסתיר את סוגי הטקסט שצוינו באמצעות תו שצוין במדיניות – במקרה הזה, התו *.

לדוגמה, מדיניות AssignMessage הבאה מגדירה את המשתנה request.content. בדרך כלל, מאחזרים את תוכן הבקשה מהבקשה של הלקוח.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Set-Variable">
    <DisplayName>Set Variable</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <AssignVariable>
        <Name>request.content</Name>
        <Value>Visit my site at https://example.com. Or contact me at gladys@example.com.</Value>
    </AssignVariable>
</AssignMessage>

המדיניות ExtensionCallout הבאה מאחזרת את הערך של המשתנה request.content ומעבירה אותו לתוסף Cloud DLP (שנקרא כאן example-dlp). התוסף הזה הוגדר להסתרת ערכים על סמך infoTypesURL ו-EMAIL_ADDRESS.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Data-Loss-Extension-Callout">
    <DisplayName>Data Loss Prevention Extension Callout</DisplayName>
    <Connector>example-dlp</Connector>
    <Action>deidentifyWithMask</Action>
    <Input><![CDATA[{
        "text" : "{request.content}",
        "mask" : "*"
    }]]></Input>
    <Output>masked.output</Output>
</ConnectorCallout>

מדיניות AssignMessage הבאה מאחזרת את הפלט של התוסף כדי להציג אותו בכלי Trace.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-DLP-Output">
    <DisplayName>Get DLP Output</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{masked.output}</Payload>
    </Set>
</AssignMessage>

בהמשך מופיעה דוגמה לפלט של הקוד הזה.

{"text":"Visit my site at ******************* Or contact me at *****************."}

מסכה עם שם

בדוגמה הזו נעשה שימוש בפעולה deidentifyWithType כדי להסוות את סוגי הטקסט שצוינו עם שם סוג המידע עצמו. לדוגמה, כתובת האימייל gladys@example.com תוחלף ב-EMAIL_ADDRESS.

לדוגמה, מדיניות AssignMessage הבאה מגדירה את המשתנה request.content. בדרך כלל, מאחזרים את תוכן הבקשה מהבקשה של הלקוח.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Set-Variable">
    <DisplayName>Set Variable</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <AssignVariable>
        <Name>request.content</Name>
        <Value>Visit my site at https://example.com. Or contact me at gladys@example.com.</Value>
    </AssignVariable>
</AssignMessage>

מדיניות ExtensionCallout הבאה מאחזרת את ערך המשתנה request.content ומעבירה אותו לתוסף Cloud DLP (שנקרא כאן example-dlp). התוסף הזה הוגדר להסתרת ערכים על סמך infoTypesURL ו-EMAIL_ADDRESS.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Data-Loss-Extension-Callout">
    <DisplayName>Data Loss Prevention Extension Callout</DisplayName>
    <Connector>example-dlp</Connector>
    <Action>deidentifyWithType</Action>
    <Input><![CDATA[{
        "text" : "{request.content}"
    }]]></Input>
    <Output>masked.output</Output>
</ConnectorCallout>

מדיניות AssignMessage הבאה מאחזרת את הפלט של התוסף כדי להציג אותו בכלי Trace.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-DLP-Output">
    <DisplayName>Get DLP Output</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{masked.output}</Payload>
    </Set>
</AssignMessage>

בהמשך מופיעה דוגמה לפלט של הקוד הזה.

{"text":"Visit my site at [URL] Or contact me at [EMAIL_ADDRESS]."}

פעולות

deidentifyWithMask

הסרת הפרטים המזהים מהנתונים הרגישים ב-text והסתרת הנתונים באמצעות התו mask. הפעולה הזו מסתירה את החלקים של text שצוינו במאפיין infoTypes בהגדרות התוסף.

הסתרת מידע אישי רגיש מחליפה תווים בסמל, כמו כוכבית (*) או סולמית (#). אפשר להגדיר את סוגי המידע האישי הרגיש בהגדרות התוסף.

תחביר

<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
  "text" : "text-to-deidentify",
  "mask" : "masking-character"
}]]></Input>

דוגמה

בדוגמה הבאה, הקלט להסתרת נתונים הוא כתובת אימייל שמאוחסנת במשתנה של זרימת נתונים input.email.address. כדי לתמוך בדוגמה הספציפית הזו, התוסף הזה צריך להיות מוגדר לתמיכה בסוג המידע EMAIL_ADDRESS. רשימה של סוגי מידע זמינה במאמר חומר עזר בנושא גילוי סוגי מידע.

<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
    "text" : "{input.email.address}",
    "mask" : "*"
}]]></Input>
<Output>masked.output</Output>

הפלט של הדוגמה הזו יהיה:

{"text":"*****************"}

פרמטרים של בקשה

פרמטר תיאור סוג ברירת מחדל חובה
text הטקסט שרוצים להסיר ממנו את הפרטים המזהים. מחרוזת ללא. כן.
מסכה התו שמשמש להסתרת מידע אישי רגיש. מחרוזת ללא. כן.

תשובה

טקסט הקלט עם ערכים של סוגי המידע שצוינו, שהוחלפו בתו שצוין. לדוגמה,

{"text":"*********"}

deidentifyWithTemplate

הסרת פרטים מזהים מנתונים רגישים בתוכן טקסט באמצעות תבנית שמגדירה איזה טקסט צריך להסיר ממנו פרטים מזהים ואיך לטפל בו.

תבניות שימושיות להפרדה של הגדרות כמו מה בודקים ואיך מבטלים את הזיהוי שלהן מההטמעה של קריאות ה-API. תבניות מאפשרות לעשות שימוש חוזר בהגדרות ולשמור על עקביות בין משתמשים ומערכי נתונים.

בתבנית, מציינים infoTypes שמייצגים את התוכן שרוצים להסיר ממנו את הפרטים המזהים. רשימה של סוגי מידע זמינה במאמר חומר עזר בנושא גילוי Infotype. הסרת הפרטים המזהים מסתירה את חלקי הטקסט שצוינו במאפיין infoTypes בתבנית.

תחביר

<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
  "text" : "text-to-deidentify"
  "templateName" : "path-to-template"
}]]></Input>

דוגמה

בדוגמה הבאה, הקלט לביטול הזיהוי הוא גוף הבקשה שמועבר על ידי request.content משתנה של זרימת נתונים.

<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
    "text" : "{request.content}"
    "templateName" : "projects/[PROJECT_ID]/deidentifyTemplates/1231258663242"
}]]></Input>

הפלט של הדוגמה הזו יהיה התוכן של הבקשה אחרי הסרת הפרטים המזהים.

פרמטרים של בקשה

פרמטר תיאור סוג ברירת מחדל חובה
text הטקסט שצריך להסיר ממנו את הפרטים המזהים. זהו הנתון שעליו פועל תהליך הסרת פרטי הזיהוי. אובייקט ללא. כן.
templateName התבנית שבה רוצים להשתמש. הערך הזה יהיה נתיב לתבנית בפורמט הבא: projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID. כשיוצרים את התבנית באמצעות Google API, משתמשים בערך המאפיין name של התגובה כ-templateName. מחרוזת ללא. כן.

תשובה

טקסט הקלט עם הערכים של סוגי המידע שצוינו, שהוחלפו בשמות של סוגי המידע.

deidentifyWithType

הסרת פרטים מזהים מנתונים רגישים בתוכן טקסטואלי, והחלפת כל ערך תואם בשם של סוג המידע. רשימה של סוגי מידע זמינה במאמר חומר עזר בנושא גילוי Infotype. הפעולה הזו מסתירה את החלקים של text שצוינו במאפיין infoTypes בהגדרות התוסף.

בדוגמה הבאה, השירות מזהה את מספר הטלפון ואז מחליף אותו בשם של סוג המידע עצמו.

  • הטקסט שהוזן:

    John Smith, 123 Main St, Seattle, WA 98122, 206-555-0123.

  • טקסט התוצאה:

    John Smith, 123 Main St, Seattle, WA 98122, PHONE_NUMBER.

תחביר

<Action>deidentifyWithType</Action>
<Input><![CDATA[{
  "text" : "text-to-deidentify"
}]]></Input>

דוגמה

בדוגמה הבאה, הקלט להסתרת נתונים הוא כתובת אימייל שמאוחסנת במשתנה של זרימת נתונים input.email.address. כדי לתמוך בדוגמה הספציפית הזו, התוסף הזה צריך להיות מוגדר לתמיכה בסוג המידע EMAIL_ADDRESS. רשימה של סוגי מידע זמינה במאמר חומר עזר בנושא גילוי סוגי מידע.

<Action>deidentifyWithType</Action>
<Input><![CDATA[{
    "text" : "{input.email.address}"
}]]></Input>

הפלט של הדוגמה הזו יהיה:

{"text":"EMAIL_ADDRESS"}

פרמטרים של בקשה

פרמטר תיאור סוג ברירת מחדל חובה
text הטקסט שצריך להסיר ממנו את הפרטים המזהים. מחרוזת ללא. כן.

תשובה

טקסט הקלט עם הערכים של סוגי המידע שצוינו, שהוחלפו בשמות של סוגי המידע. לדוגמה,

{"text":"EMAIL_ADDRESS"}

redactImage

צנזור טקסט שנכלל באחת מהקטגוריות של סוגי המידע. התוכן שצונזר מזוהה ומוסתר באמצעות מלבן אטום. הפעולה הזו מסתירה את החלקים של image_data שצוינו במאפיין infoTypes בהגדרות התוסף.

רשימה של סוגי מידע זמינה במאמר חומר עזר בנושא גילוי Infotype.

פרמטרים של בקשה

<Action>redactImage</Action>
<Input><![CDATA[{
  "image_data" : "base64-encoded-image-to-analyze",
  "image_type" : "type-of-image"
}]]></Input>
פרמטר תיאור סוג ברירת מחדל חובה
image_data נתוני התמונה בקידוד base64. מחרוזת ללא. כן.
image_type קבוע של סוג התמונה. הערכים האפשריים הם IMAGE_JPEG,‏ IMAGE_BMP,‏ IMAGE_PNG ו-IMAGE_SVG. מחרוזת ללא. כן.

תשובה

תמונה עם טקסט מצונזר.

הסבר על ההגדרות

כשמגדירים ופורסים את התוסף הזה לשימוש בשרתי proxy ל-API, צריך להשתמש בפרטים הבאים. הוראות להגדרת תוסף באמצעות מסוף Apigee מופיעות במאמר הוספה והגדרה של תוסף.

מאפיינים נפוצים של תוספים

המאפיינים הבאים קיימים בכל תוסף.

נכס תיאור ברירת המחדל נדרש
name השם שבחרת לתצורה הזו של התוסף. ללא כן
packageName השם של חבילת התוסף כפי שהוא סופק על ידי Apigee Edge. ללא כן
version מספר הגרסה של חבילת התוסף שממנה מגדירים את התוסף. ללא כן
configuration ערך הגדרה ספציפי לתוסף שרוצים להוסיף. מאפיינים לחבילת תוספים זו ללא כן

מאפיינים של חבילת התוספים הזו

מזינים ערכים למאפייני ההגדרה הבאים שספציפיים לתוסף הזה.

נכס תיאור ברירת מחדל חובה
projectId מזהה הפרויקט ב-Google Cloud שבו מופעל Cloud Data Loss Prevention API. ללא. כן.
infoTypes סוגי המידע של המידע האישי הרגיש. אם לא מציינים את הפרמטר הזה, השירות יזהה את כל הסוגים המובנים. רשימה של סוגי המידע (infoType) שנתמכים בשירות Google Cloud DLP מופיעה במאמר חומר עזר בנושא גילוי InfoType. ללא. לא.
פרטי כניסה כשמזינים את התוכן הזה במסוף Apigee Edge, זה התוכן של קובץ המפתח של חשבון השירות. כששולחים אותו באמצעות Management API, זהו ערך בקידוד Base64 שנוצר מקובץ המפתח של חשבון השירות. ללא. כן.