إخفاء البيانات وإخفاؤها

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

عند تصحيح أخطاء طلبات البيانات من واجهات برمجة التطبيقات في Edge، قد يحتوي المحتوى أحيانًا على بيانات حساسة، مثل بطاقات الائتمان أو معلومات صحية تحدّد الهوية الشخصية (PHI) ويجب إخفاء بياناتها.

يوفّر Edge طرقًا مختلفة لإخفاء البيانات الحسّاسة أو إخفاؤها من جلسات التتبّع وتصحيح الأخطاء.

إخفاء البيانات الحساسة

يمكنك منع ظهور البيانات الحسّاسة في أداة التتبُّع وجلسات تصحيح الأخطاء عن طريق إنشاء متغيّرات مخصَّصة تبدأ بـ "private.".

على سبيل المثال، عند استخدام سياسة عمليات ربط القيم الرئيسية لاسترداد القيم من خريطة قيم مفاتيح مشفّرة، يمكنك تنسيق أسماء المتغيّرات على النحو التالي لضمان عدم ظهور القيم في جلسات التتبُّع أو تصحيح الأخطاء:

<Get assignTo="private.hiddenData">

يعد إخفاء المتغيرات الحساسة بديلاً لاستخدام إخفاء البيانات، كما هو موضح أدناه. والفرق بين الإخفاء والإخفاء هو أنّ المتغيّرات المخفية لا تظهر على الإطلاق، ويتم استبدال القيم المقنَّعة بالعلامات النجمية في جلسات التتبُّع وتصحيح الأخطاء.

يتم عرض المتغيّرات بدون البادئة "private." بنص واضح في جلسات التتبُّع وتصحيح الأخطاء حتى إذا كانت البيانات واردة من مخزن بيانات مشفّر، مثل خريطة قيمة مفتاح مشفّر. استخدم إخفاء (أدناه) إذا كنت تريد إخفاء هذه القيم.

إخفاء البيانات الحساسة

يتيح لك Edge تحديد "إعدادات القناع" لإخفاء بيانات معيّنة في جلسات التتبُّع وتصحيح الأخطاء. ويمكن ضبط إعدادات الإخفاء على مستوى العالم (على مستوى المؤسسة) أو محليًا (على مستوى الخادم الوكيل لواجهة برمجة التطبيقات).

عندما يتم إخفاء البيانات، يتم استبدالها بعلامات نجمية في ناتج التتبّع. مثلاً:

<description>**********</description>

استخدام تكوينات القناع

تتيح لك إعدادات القناعات تحديد البيانات الحسّاسة في المصادر التالية:
  • حمولات XML: باستخدام XPath، يمكنك تحديد عناصر XML المراد فلترتها من حمولات الطلبات أو رسائل الاستجابة.
  • حمولات JSON: باستخدام JSONPath، يمكنك تحديد سمات JSON المطلوب فلترتها من حمولات بيانات الطلبات أو رسائل الاستجابة.
  • متغيّرات التدفق: يمكنك تحديد قائمة بالمتغيّرات التي يجب إخفاءها في مخرجات تصحيح الأخطاء. عند تحديد متغيّرات التدفق request.content أو response.content أو message.content، يتم أيضًا إخفاء نص الطلب/الاستجابة.

يتم توضيح البنية الأساسية لإعداد القناع من خلال تمثيل XML التالي:

<MaskDataConfiguration name="default">
    <Namespaces>
        <Namespace prefix="myco">http://example.com</Namespace>
    </Namespaces>
    <XPathsRequest>
        <XPathRequest>/myco:Greeting/myco:User</XPathRequest>
    </XPathsRequest>
    <XPathsResponse>
        <XPathResponse>/myco:Greeting/myco:User</XPathResponse>
    </XPathsResponse>
    <JSONPathsRequest>
        <JSONPathRequest>$.store.book[*].author</JSONPathRequest>
    </JSONPathsRequest>
    <JSONPathsResponse>
        <JSONPathResponse>$.store.book[*].author</JSONPathResponse>
    </JSONPathsResponse>
    <XPathsFault>
        <XPathFault>/myco:Greeting/myco:User</XPathFault>
    </XPathsFault>
    <JSONPathsFault>
        <JSONPathFault>$.store.book[*].author</JSONPathFault>
    </JSONPathsFault>
    <Variables>
        <Variable>request.header.user-agent</Variable>
        <Variable>request.formparam.password</Variable>
    </Variables>
</MaskDataConfiguration>

ضبط مورد إعداد القناع

يمكنك تحديد تهيئة قناع باستخدام العناصر التالية.

اسم الحقل الوصف تلقائي مطلوب؟
XPathsRequest هي قائمة بتعبيرات XPath التي سيتم تقييمها مقابل حمولات XML (إن توفّرت) في مسار الطلب. ستؤدي أي مسارات XPath تنجح في حلّها إلى إخفاء قيمة عنصر XML. لا ينطبق لا
XPathsResponse هي قائمة بتعبيرات XPath التي سيتم تقييمها مقابل حمولات XML (إن توفّرت) في مسار الاستجابة. ستؤدي أي مسارات XPath تنجح في حلّها إلى إخفاء قيمة عنصر XML. لا ينطبق لا
JSONPathsRequest قائمة بتعبيرات JSONPath التي سيتم تقييمها مقابل حمولات JSON (إن توفّرت) في مسار الطلب. وستؤدي أي مسارات JSONPath يتم حلها بنجاح إلى إخفاء قيمة خاصية JSON. لا ينطبق لا
JSONPathsResponse قائمة بتعبيرات JSONPath التي سيتم تقييمها مقابل حمولات JSON (إن توفّرت) في مسار الاستجابة. وستؤدي أي مسارات JSONPath يتم حلها بنجاح إلى إخفاء قيمة خاصية JSON. لا ينطبق لا
XPathsFault يشير ذلك المصطلح إلى قائمة بتعبيرات XPath التي سيتم تقييمها مقابل حمولات XML (إن وُجدت) في تدفق الخطأ (ويتم تنفيذها في حال حدوث خطأ في أي مرحلة من التدفق). وستؤدي أي مسارات XPath تنجح في حلّها إلى إخفاء قيمة عنصر XML. لا ينطبق لا
JSONPathsFault قائمة بتعبيرات JSON التي سيتم تقييمها مقابل حمولات JSON (إن توفّرت) في تدفق الخطأ (ويتم تنفيذها في حال حدوث خطأ في أي مرحلة من التدفق). وستؤدي أي مسارات JSONPath تتم معالجتها بنجاح إلى إخفاء قيمة سمة JSON. لا ينطبق لا
المتغيرات

قائمة بالمتغيرات (سواء المحددة مسبقًا أو المخصصة) التي سيتم إخفاء قيمها. للحصول على قائمة بالمتغيّرات التلقائية، يُرجى الاطّلاع على مرجع المتغيّرات.

لا ينطبق لا

واجهة برمجة تطبيقات إعداد القناع

يتم تحديد إعدادات الأقنعة على أنّها ملفات بتنسيق XML أو JSON يمكنك تحميلها وتنزيلها باستخدام RESTful Management API. للحصول على قائمة كاملة بواجهات برمجة التطبيقات لإخفاء البيانات، يُرجى الاطّلاع على أقنعة البيانات.

للاطّلاع على إعدادات الكمامات الحالية، يمكنك ببساطة طلب مورد واجهة برمجة التطبيقات /maskconfigs في مؤسستك:

$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/maskconfigs \
-u email

يوضّح هذا المثال البنية الأساسية للمصادقة. قد تتمكن من استخدام أنواع أخرى من المصادقة، مثل Oauth2 أو SAML.

للاطّلاع على إعدادات القناع المحدّدة لخوادم وكيل معيّنة لواجهة برمجة التطبيقات، يمكنك طلب واجهة برمجة التطبيقات /maskconfigs API:

$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/maskconfigs \
-u email

للاطّلاع على إعدادات قناع معيَّن، حدِّد اسم القناع كما يلي:

$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/maskconfigs/default \
-u email
$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/maskconfigs/default \
-u email

لإنشاء إعدادات قناع، استخدِم فعل POST لإرسال حمولة بيانات تحدّد إعدادات القناع:

$ curl -H "Content-type:text/xml" -X POST -d \
'<MaskDataConfiguration name="default">
    <Namespaces>
        <Namespace prefix="myco">http://example.com</Namespace>
    </Namespaces>
    <XPathsRequest>
        <XPathRequest>/myco:Greeting/myco:User</XPathRequest>
    </XPathsRequest>
    <XPathsResponse>
        <XPathResponse>/myco:Greeting/myco:User</XPathResponse>
    </XPathsResponse>
    <JSONPathsRequest>
        <JSONPathRequest>$.store.book[*].author</JSONPathRequest>
    </JSONPathsRequest>
    <JSONPathsResponse>
        <JSONPathResponse>$.store.book[*].author</JSONPathResponse>
    </JSONPathsResponse>
    <XPathsFault>
        <XPathFault>/myco:Greeting/myco:User</XPathFault>
    </XPathsFault>
    <JSONPathsFault>
        <JSONPathFault>$.store.book[*].author</JSONPathFault>
    </JSONPathsFault>
    <Variables>
        <Variable>request.header.user-agent</Variable>
        <Variable>request.formparam.password</Variable>
    </Variables>
</MaskDataConfiguration>' \
https://api.enterprise.apigee.com/v1/o/{org_name}/maskconfigs \
-u email
لإنشاء إعداد قناع مخصص لخادم وكيل محدد لواجهة برمجة التطبيقات:
$ curl -H "Content-type:text/xml" -X POST -d \
'<MaskDataConfiguration name="default">
    <Namespaces>
        <Namespace prefix="myco">http://example.com</Namespace>
    </Namespaces>
    <XPathsRequest>
        <XPathRequest>/myco:Greeting/myco:User</XPathRequest>
    </XPathsRequest>
    <XPathsResponse>
        <XPathResponse>/myco:Greeting/myco:User</XPathResponse>
    </XPathsResponse>
    <JSONPathsRequest>
        <JSONPathRequest>$.store.book[*].author</JSONPathRequest>
    </JSONPathsRequest>
    <JSONPathsResponse>
        <JSONPathResponse>$.store.book[*].author</JSONPathResponse>
    </JSONPathsResponse>
    <XPathsFault>
        <XPathFault>/myco:Greeting/myco:User</XPathFault>
    </XPathsFault>
    <JSONPathsFault>
        <JSONPathFault>$.store.book[*].author</JSONPathFault>
    </JSONPathsFault>
    <Variables>
        <Variable>request.header.user-agent</Variable>
        <Variable>request.formparam.password</Variable>
    </Variables>
</MaskDataConfiguration>' \
https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/maskconfigs \
-u email

يمكنك حذف إعداد قناع باستخدام الفعل DELETE:

$ curl -X DELETE \
https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/maskconfigs/{maskconfig_name} \
-u email

يوضّح هذا المثال البنية الأساسية للمصادقة. قد تتمكن من استخدام أنواع أخرى من المصادقة، مثل Oauth2 أو SAML.

الاستجابة لعملية DELETE هي رمز HTTP 204 بدون محتوى رسالة.

إخفاء مساحات اسم XML

لا تتطلّب إعدادات القناع العنصر <Namespace> في تعريف XPATH ما لم يتم تحديد مساحة اسم في حمولة XML. وينطبق ذلك أيضًا إذا كانت حمولة بيانات XML تستخدم مساحة اسم تلقائية.

على سبيل المثال، لا تُحدِّد حمولة بيانات XML مساحة اسم:

<employee>
    <name>abc</name>
    <age>50</age>
</employee>

لذلك، لا تتطلب إعدادات القناع العنصر <Namespace>:

<MaskDataConfiguration>
    <XPathsRequest>
        <XPathRequest>/employee/name</XPathRequest>
    <XPathsRequest>
</MaskDataConfiguration>

إذا كانت حمولة بيانات XML تحتوي على مساحة اسم وبادئة:

<myco:employee xmlns:myco="http://example.com">
    <myco:name>xyz</myco:name>
    <myco:age>50</myco:age>
</myco:employee>

بعد ذلك، يجب أن يتضمّن تعريف إعدادات القناع العنصر <Namespace>:

<MaskDataConfiguration>
    <Namespaces>
        <Namespace prefix="myco">http://example.com</Namespace>
    </Namespaces>
    <XPathsRequest>
        <XPathRequest>/myco:employee/myco:name</XPathRequest>
    <XPathsRequest>
</MaskDataConfiguration>

إذا كانت حمولة XML تحتوي على مساحة اسم ولكن بدون بادئة، يعني ذلك مساحة الاسم التلقائية:

<employee xmlns="http://example.com">
    <name>xyz</name>
    <age>50</age>
</employee>

بعد ذلك، يجب أن تحتوي إعدادات القناع على العنصر <Namespace>:

<MaskDataConfiguration>
    <Namespaces>
        <Namespace prefix="myco">http://example.com</Namespace>
    </Namespaces>
    <XPathsRequest>
        <XPathRequest>/myco:employee/myco:name</XPathRequest>
    <XPathsRequest>
</MaskDataConfiguration>