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

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

גרסה: 2.0.0

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

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

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

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

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

  3. שימוש במסוף GCP ליצירת מפתח לחשבון השירות

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

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

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

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

דוגמאות

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

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

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

בדוגמה הזו נעשה שימוש בפעולה 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). התוסף הזה הוגדר להסתרת ערכים על סמך infoTypes של URL ו-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 מאחזרת את הפלט של התוסף כדי להציג אותו בכלי המעקב.

<?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). התוסף הזה הוגדר להסתרת ערכים על סמך infoTypes של URL ו-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 מאחזרת את הפלט של התוסף כדי להציג אותו בכלי המעקב.

<?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 בהגדרות התוסף.

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

תחביר

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

דוגמה

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

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

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

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

פרמטרים של בקשות

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

תשובה

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

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

deidentifyWithTemplate

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

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

בתבנית, עליכם לציין infoTypes שמייצגים את התוכן שרוצים לבטל את הזיהוי שלו. בחומר העזר בנושא גילוי Infotype אפשר למצוא רשימה של סוגי 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. מחרוזת ללא. כן.

תשובה

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

deidentifyWithType

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

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

  • מזינים טקסט:

    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. כדי לתמוך בדוגמה הספציפית הזו, צריך להגדיר את התוסף הזה כך שיתמוך ב-infoType‏ EMAIL_ADDRESS. בחומר העזר בנושא גילוי Infotype אפשר למצוא רשימה של סוגי infoType.

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

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

{"text":"EMAIL_ADDRESS"}

פרמטרים של בקשות

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

תשובה

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

{"text":"EMAIL_ADDRESS"}

redactImage

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

בחומר העזר בנושא גילוי Infotype אפשר למצוא רשימה של סוגי 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 מזהה הפרויקט ב-GCP שבו מופעל Cloud Data Loss Prevention API. ללא. כן.
infoTypes סוגי המידע של המידע האישי הרגיש. אם לא מציינים את הפרמטר, השירות יזהה את כל הסוגים המובנים. בחומר העזר בנושא גילוי Infotype אפשר למצוא רשימה של סוגי המידע (infoTypes) שנתמכים בשירות DLP של Google Cloud. ללא. לא.
פרטי כניסה כשמזינים את הקובץ במסוף Apigee Edge, זהו התוכן של קובץ המפתח של חשבון השירות. כששולחים אותו דרך ממשק ה-API לניהול, הוא ערך בקידוד base64 שנוצר מקובץ המפתח של חשבון השירות. ללא. כן.