برنامه افزودنی Google Cloud Prevention Loss Data

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

نسخه: 1.5.1

از این افزونه برای پنهان کردن اطلاعات حساس از محتوا و تصاویر استفاده کنید. برای مثال، ممکن است شماره کارت اعتباری، نام و شماره تامین اجتماعی را ویرایش کنید.

پیش نیازها

این محتوا مرجعی برای پیکربندی و استفاده از این پسوند ارائه می دهد. قبل از استفاده از برنامه افزودنی از یک پروکسی API با استفاده از خط مشی ExtensionCallout ، باید:

  1. Google Cloud DLP API را برای پروژه خود فعال کنید .

  2. برای سطح دسترسی که برای برنامه افزودنی می خواهید، مجوز اعطا کنید .

  3. از کنسول GCP برای ایجاد یک کلید برای حساب سرویس استفاده کنید .

  4. هنگام افزودن و پیکربندی پسوند با استفاده از مرجع پیکربندی، از محتویات فایل JSON کلید حاصل استفاده کنید.

درباره Cloud Loss Prevention (DLP)

Cloud Data Loss Prevention (DLP) یک API برای بازرسی متن، تصاویر و سایر داده‌ها برای شناسایی و مدیریت داده‌های حساس است.

برای اطلاعات بیشتر، به نمای کلی DLP مراجعه کنید. برای ارجاع به API که این برنامه افزودنی نمایش می دهد، API پیشگیری از از دست دادن داده های ابری (DLP) را ببینید.

نمونه ها

مثال‌های زیر نحوه پیکربندی پشتیبانی برای اقدامات افزونه 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 ) ارسال می کند. این برنامه افزودنی به گونه‌ای پیکربندی شده است که مقادیر را براساس 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 برای پوشاندن انواع متن مشخص شده با نام infotype استفاده می کند. برای مثال، آدرس ایمیل 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 ) ارسال می کند. این برنامه افزودنی به گونه‌ای پیکربندی شده است که مقادیر را براساس 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]."}

اقدامات

شناسایی با ماسک

داده های حساس را از text حذف کنید و داده ها را با کاراکتر mask پنهان کنید. این عمل قسمت هایی از text را که توسط ویژگی infoTypes در پیکربندی برنامه افزودنی مشخص شده است، ماسک می کند.

پوشاندن داده های حساس، کاراکترها را با یک نماد، مانند ستاره (*) یا هش (#) جایگزین می کند. انواع داده های حساس را می توان در پیکربندی برنامه افزودنی پیکربندی کرد.

نحو

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

مثال

در مثال زیر، input to mask یک آدرس ایمیل است که در متغیر جریان input.email.address ذخیره شده است. برای پشتیبانی از این مثال خاص، این برنامه افزودنی باید برای پشتیبانی از EMAIL_ADDRESS infoType پیکربندی شده باشد. برای فهرستی از infoType ها، به مرجع آشکارساز InfoType مراجعه کنید.

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

خروجی این مثال به صورت زیر خواهد بود:

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

درخواست پارامترها

پارامتر توضیحات تایپ کنید پیش فرض مورد نیاز
متن متن برای شناسایی کردن رشته هیچ کدام. بله.
ماسک نویسه ای که برای پنهان کردن داده های حساس استفاده می شود. رشته هیچ کدام. بله.

پاسخ

متن ورودی با مقادیر infoType های مشخص شده با کاراکتر مشخص شده جایگزین شده است. به عنوان مثال،

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

deidentifyWithTemplate

شناسایی داده‌های حساس در محتوای متنی با استفاده از الگویی که پیکربندی می‌کند چه متنی باید شناسایی شود و چگونه آن را مدیریت کند.

الگوها برای جداسازی پیکربندی‌هایی مانند مواردی که بررسی می‌کنید و نحوه شناسایی آن از اجرای فراخوان‌های API مفید هستند. الگوها راهی برای استفاده مجدد از پیکربندی و ایجاد ثبات در بین کاربران و مجموعه داده‌ها فراهم می‌کنند.

در قالب خود، infoTypes را مشخص می‌کنید که محتوایی را برای شناسایی غیرقانونی نشان می‌دهد. برای فهرستی از infoType ها، به مرجع آشکارساز InfoType مراجعه کنید. شناسایی‌زدایی قسمت‌هایی از متن را که توسط ویژگی infoTypes در الگو مشخص شده است، ماسک می‌کند.

نحو

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

مثال

در مثال زیر، ورودی برای شناسایی‌زدایی، بدنه درخواستی است که توسط متغیر request.content flow حمل می‌شود.

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

خروجی این مثال محتوای درخواست شناسایی نشده خواهد بود.

درخواست پارامترها

پارامتر توضیحات تایپ کنید پیش فرض مورد نیاز
متن متنی که باید شناسایی شود. این همان چیزی است که فرآیند شناسایی زدایی روی آن عمل می کند. شیء هیچ کدام. بله.
نام الگو قالب مورد استفاده این یک مسیر به الگو به شکل زیر خواهد بود: projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID . وقتی الگو را با Google API ایجاد می‌کنید، از مقدار ویژگی name پاسخ به‌عنوان templateName استفاده کنید. رشته هیچ کدام. بله.

پاسخ

متن ورودی با مقادیر infoType های مشخص شده با نام های 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 to mask یک آدرس ایمیل است که در متغیر جریان input.email.address ذخیره شده است. برای پشتیبانی از این مثال خاص، این برنامه افزودنی باید برای پشتیبانی از EMAIL_ADDRESS infoType پیکربندی شده باشد. برای فهرستی از infoType ها، به مرجع آشکارساز InfoType مراجعه کنید.

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

خروجی این مثال به صورت زیر خواهد بود:

{"text":"EMAIL_ADDRESS"}

درخواست پارامترها

پارامتر توضیحات تایپ کنید پیش فرض مورد نیاز
متن متنی که باید شناسایی شود. رشته هیچ کدام. بله.

پاسخ

متن ورودی با مقادیر infoType های مشخص شده با نام های 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>
پارامتر توضیحات تایپ کنید پیش فرض مورد نیاز
تصویر_داده داده های تصویر کدگذاری شده در base64. رشته هیچ کدام. بله.
image_type ثابت از نوع تصویر. مقادیر موجود IMAGE_JPEG، IMAGE_BMP، IMAGE_PNG، IMAGE_SVG هستند. رشته هیچ کدام. بله.

پاسخ

تصویر با متن ویرایش شده است.

مرجع پیکربندی

هنگام پیکربندی و استقرار این افزونه برای استفاده در پراکسی های API از موارد زیر استفاده کنید. برای مراحل پیکربندی یک برنامه افزودنی با استفاده از کنسول Apigee، به افزودن و پیکربندی یک برنامه افزودنی مراجعه کنید.

ویژگی های رایج پسوند

ویژگی های زیر برای هر افزونه وجود دارد.

ویژگی شرح پیش فرض ضروری
name نامی که به این پیکربندی افزونه می‌دهید. هیچ یک آره
packageName نام بسته افزودنی همانطور که توسط Apigee Edge داده شده است. هیچ یک آره
version شماره نسخه بسته برنامه افزودنی که از آن یک برنامه افزودنی را پیکربندی می کنید. هیچ یک آره
configuration مقدار پیکربندی مخصوص افزونه ای که اضافه می کنید. به ویژگی های این بسته برنامه افزودنی مراجعه کنید هیچ یک آره

ویژگی های این بسته افزونه

مقادیری را برای ویژگی های پیکربندی زیر مخصوص این افزونه مشخص کنید.

اموال توضیحات پیش فرض مورد نیاز
شناسه پروژه شناسه پروژه GCP که Cloud Data Loss Prevention API برای آن فعال است. هیچ کدام. بله.
انواع اطلاعات انواع اطلاعات داده های حساس اگر حذف شود، این سرویس همه انواع داخلی را شناسایی می کند. برای فهرستی از infoType های پشتیبانی شده توسط سرویس Google Cloud DLP، به مرجع آشکارساز InfoType مراجعه کنید. هیچ کدام. خیر
اعتبارنامه وقتی در کنسول Apigee Edge وارد می‌شوید، این محتوای فایل کلید حساب سرویس شما است. هنگامی که از طریق API مدیریت ارسال می شود، یک مقدار کدگذاری شده با base64 است که از فایل کلید حساب سرویس تولید می شود. هیچ کدام. بله.