إضافة منع فقدان البيانات من Google Cloud

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X.
info

الإصدار: 1.5.3

استخدِم هذه الإضافة لإخفاء البيانات الحسّاسة من المحتوى والصور. على سبيل المثال، يمكنك إخفاء أرقام بطاقات الائتمان والأسماء وأرقام الضمان الاجتماعي.

المتطلبات الأساسية

يوفر هذا المحتوى مرجعًا لإعداد هذه الإضافة واستخدامها. قبل استخدام الإضافة من خادم وكيل لواجهة برمجة التطبيقات باستخدام سياسة ExtensionCallout، يجب تنفيذ ما يلي:

  1. تفعيل واجهة برمجة التطبيقات Google Cloud DLP لمشروعك.

  2. منح الإذن لمستوى الوصول الذي تريده للإضافة

  3. استخدام Google Cloud Console لإنشاء مفتاح لحساب الخدمة.

  4. استخدام محتويات ملف JSON للمفتاح الناتج عند إضافة الإضافة وضبطها باستخدام مرجع الإعدادات.

لمحة عن منع فقدان البيانات في Cloud

منع فقدان البيانات في Cloud هي واجهة برمجة تطبيقات لفحص النصوص والصور والبيانات الأخرى بهدف تحديد البيانات الحسّاسة وإدارتها.

لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على منع فقدان البيانات. للحصول على مرجع لواجهة برمجة التطبيقات التي تعرضها هذه الإضافة، يُرجى الاطّلاع على واجهة برمجة التطبيقات Cloud Data Loss Prevention (DLP).

نماذج

توضّح الأمثلة التالية كيفية إعداد دعم إجراءات إضافة منع فقدان البيانات في Cloud باستخدام سياسة 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 (تُسمّى هنا 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 التالية ناتج الإضافة لعرضه في أداة "التتبُّع".

<?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 (تُسمّى هنا 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 التالية ناتج الإضافة لعرضه في أداة "التتبُّع".

<?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 النص المطلوب إزالة تحديد هويته سلسلة بلا عُري نعم.
mask الحرف المطلوب استخدامه لإخفاء البيانات الحسّاسة سلسلة بلا عُري نعم.

الردّ

النص المُدخَل الذي تم استبدال قيم أنواع المعلومات المحدّدة فيه بالحرف المحدّد على سبيل المثال:

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

deidentifyWithTemplate

يزيل هذا الإجراء تحديد البيانات الحسّاسة في محتوى النص باستخدام نموذج يضبط النص المطلوب إزالة تحديد هويته وكيفية التعامل معه.

تكون النماذج مفيدة لفصل الإعدادات، مثل ما تبحث عنه وكيفية إزالة تحديد هويته، عن عملية تنفيذ طلبات واجهة برمجة التطبيقات. توفّر النماذج طريقة لإعادة استخدام الإعدادات وتحقيق الاتساق بين المستخدمين ومجموعات البيانات.

في النموذج، يمكنك تحديد infoTypes التي تمثّل المحتوى المطلوب إزالة تحديد هويته. للاطّلاع على قائمة بأنواع المعلومات، يُرجى مراجعة مرجع أداة رصد أنواع المعلومات. يخفي هذا الإجراء أجزاء النص المحدّدة من خلال الموقع 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

يزيل هذا الإجراء تحديد البيانات الحسّاسة في محتوى النص، ويستبدل كل قيمة مطابقة باسم نوع المعلومات. للاطّلاع على قائمة بأنواع المعلومات، يُرجى مراجعة مرجع أداة رصد أنواع المعلومات. يخفي هذا الإجراء أجزاء 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 في إعدادات الإضافة.

للاطّلاع على قائمة بأنواع المعلومات، يُرجى مراجعة مرجع أداة رصد أنواع المعلومات.

مَعلمات الطلب

<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. سلسلة بلا عُري نعم.

الردّ

الصورة التي تمت إزالة تحديد النص فيها

مرجع الإعدادات

استخدِم ما يلي عند إعداد هذه الإضافة ونشرها لاستخدامها في الخوادم الوكيلة لواجهة برمجة التطبيقات. للاطّلاع على خطوات إعداد إضافة باستخدام وحدة تحكّم Apigee، يُرجى مراجعة مقالة إضافة إضافة وضبطها.

السمات الشائعة للإضافة

السمات التالية متاحة لكل إضافة.

الموقع الوصف تلقائي عنصر مطلوب
name الاسم الذي تُعطِه هذه الإضافة من الإضافات. لا ينطبق متوافق
packageName اسم حزمة الإضافة كما هو مُوضَّح من Apigee Edge. لا ينطبق متوافق
version رقم إصدار حزمة الإضافة التي تجري عملية إعداد الإضافة منها. لا ينطبق متوافق
configuration قيمة الإعداد المتعلقة بالإضافة التي تدرجها الاطّلاع على خصائص حزمة الإضافات هذه لا ينطبق متوافق

سمات حزمة الإضافة هذه

حدِّد قيمًا لسمات الإعدادات التالية الخاصة بهذه الإضافة.

الموقع الوصف تلقائي مطلوب
projectId رقم تعريف مشروع Google Cloud الذي تم تفعيل واجهة برمجة التطبيقات Cloud Data Loss Prevention API له بلا عُري نعم.
infoTypes أنواع المعلومات للبيانات الحسّاسة إذا تم حذف هذا الموقع، سترصد الخدمة جميع الأنواع المضمّنة. للاطّلاع على قائمة بأنواع المعلومات التي تتيحها خدمة منع فقدان البيانات في Google Cloud، يُرجى مراجعة مرجع أداة رصد أنواع المعلومات. بلا عُري لا.
credentials عند إدخالها في وحدة تحكّم Apigee Edge، تكون هذه محتويات ملف مفتاح حساب الخدمة. عند إرسالها من خلال Management API، تكون قيمة بترميز base64 تم إنشاؤها من ملف مفتاح حساب الخدمة. بلا عُري نعم.