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

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

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

توفر Edge طرقًا مختلفة لإخفاء أو إخفاء البيانات الحساسة من Trace الجلسات وتصحيح الأخطاء

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

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

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

<Get assignTo="private.hiddenData">

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

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

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

تتيح لك شبكة 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:

$ 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:

الاستجابة لعملية "الحذف" هي رمز 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>