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

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

الإصدار: 1.3.0

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

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

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

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

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

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

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

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

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

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

نماذج

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

<?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 DLP، يُرجى الرجوع إلى مرجع أداة رصد أنواع المعلومات. بلا عُري لا.
credentials عند إدخالها في وحدة تحكّم Apigee Edge، تكون هذه محتويات ملف مفتاح حساب الخدمة. عند إرسالها من خلال واجهة برمجة التطبيقات للإدارة، تكون قيمة بترميز base64 تم إنشاؤها من ملف مفتاح حساب الخدمة. بلا عُري نعم.