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

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

نسخه: ۲.۰.۲

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

پیش‌نیازها

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

  1. API مربوط به DLP گوگل کلود را برای پروژه خود فعال کنید .

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

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

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

درباره پیشگیری از نشت اطلاعات در فضای ابری (DLP)

پیشگیری از نشت داده‌های ابری (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 infoTypes پنهان کند.

<?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 infoTypes پنهان کند.

<?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>

مثال

در مثال زیر، ورودی 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":"*****************"}

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

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

پاسخ

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

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

deidentifyWithTemplate

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

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

در قالب خود، infoTypesهایی را مشخص خواهید کرد که نشان‌دهنده‌ی محتوایی هستند که باید از حالت شناسایی خارج شود. برای فهرستی از infoTypes، به مرجع آشکارساز InfoType مراجعه کنید. de-identifying آن بخش‌هایی از متن را که توسط ویژگی 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>

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

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

پارامتر توضیحات نوع پیش‌فرض مورد نیاز
متن متن برای از بین بردن هویت. این همان چیزی است که فرآیند از بین بردن هویت بر اساس آن عمل می‌کند. شیء هیچ کدام. بله.
نام الگو الگویی که باید استفاده شود. این مسیر به الگو به شکل زیر خواهد بود: 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>

مثال

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

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

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

{"text":"EMAIL_ADDRESS"}

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

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

پاسخ

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

{"text":"EMAIL_ADDRESS"}

تصویر ویرایش‌شده

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

برای فهرستی از infoTypes، به مرجع آشکارساز InfoType مراجعه کنید.

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

<Action>redactImage</Action>
<Input><![CDATA[{
  "image_data" : "base64-encoded-image-to-analyze",
  "image_type" : "type-of-image"
}]]></Input>
پارامتر توضیحات نوع پیش‌فرض مورد نیاز
داده‌های تصویر داده‌های تصویر با فرمت base64 کدگذاری شده‌اند. رشته هیچ کدام. بله.
نوع_تصویر ثابتی از نوع تصویر. مقادیر موجود عبارتند از IMAGE_JPEG، IMAGE_BMP، IMAGE_PNG، IMAGE_SVG. رشته هیچ کدام. بله.

پاسخ

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

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

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

ویژگی‌های افزونه‌های رایج

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

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

ویژگی‌های این بسته الحاقی

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

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