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

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

גרסה: 1.5.2

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

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

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

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

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

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

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

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

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

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

דוגמאות

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

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

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

בדוגמה הזו נעשה שימוש בפעולה 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>

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

במדיניות הזו של תוספי יתרונות מרכזיים מאחזרת את ערך המשתנה request.content ומעבירה אותו לתוסף DLP של Cloud (כאן, שנקרא 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 הבאה מאחזרת את פלט התוסף להצגה בכלי 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 בהגדרת התוסף.

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

תחביר

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

דוגמה

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

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

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

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

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

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

תשובה

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

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

deidentifyWithTemplate

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

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

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

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

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

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

תשובה

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

deidentifyWithType

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

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

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

{"text":"EMAIL_ADDRESS"}

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

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

תשובה

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

{"text":"EMAIL_ADDRESS"}

redactImage

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

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