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