डेटा को मास्क करना और छिपाना

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

Edge में एपीआई कॉल डीबग करने पर, कॉन्टेंट में कभी-कभी संवेदनशील जानकारी हो सकती है, जैसे क्रेडिट कार्ड या व्यक्तिगत पहचान से जुड़ी स्वास्थ्य जानकारी (पीएचआई) को छिपाना ज़रूरी है.

Edge में संवेदनशील जानकारी को छिपाने या मास्क करने के कई तरीके हैं Trace और डीबग सेशन.

संवेदनशील जानकारी को छिपाया जा रहा है

ट्रेस टूल और डीबग सेशन में संवेदनशील डेटा को दिखने से रोकने के लिए, कस्टम वैरिएबल के आगे "private." लगाया गया है.

उदाहरण के लिए, किसी एन्क्रिप्ट की गई की-वैल्यू मैप, वैरिएबल के नामों को इस तरह फ़ॉर्मैट करें, ताकि वैल्यू न दिखें ट्रेस या डीबग सेशन में:

<Get assignTo="private.hiddenData">

संवेदनशील वैरिएबल को छिपाना, डेटा मास्किंग का इस्तेमाल करने का एक विकल्प है. इसके बारे में आगे बताया गया है. कॉन्टेंट बनाने छिपाने और मास्क करने में यह अंतर है कि छिपे हुए वैरिएबल बिलकुल भी नहीं दिखते और न ही मास्क किए जाते हैं ट्रेस और डीबग सेशन में वैल्यू को तारे के निशान से बदल दिया जाता है.

बिना "private." वाले वैरिएबल प्रीफ़िक्स को ट्रेस करते समय साफ़ टेक्स्ट में दिखाया जाता है और डीबग सेशन, भले ही डेटा किसी एन्क्रिप्ट किए गए डेटा स्टोर से आया हो, जैसे कि एन्क्रिप्ट की गई कुंजी की वैल्यू मैप. अगर आपको इन वैल्यू को मास्क करना है, तो मास्क करने की सुविधा (नीचे देखें) का इस्तेमाल करें.

संवेदनशील जानकारी को मास्क करना

Edge से आपको 'मास्क कॉन्फ़िगरेशन' के बारे में जानकारी मिलती है का इस्तेमाल करें. मास्किंग कॉन्फ़िगरेशन दुनिया भर में (संगठन के लेवल पर) या स्थानीय तौर पर (एपीआई पर) सेट किए जा सकते हैं प्रॉक्सी लेवल).

जब डेटा मास्क किया जाता है, तो उसे ट्रेस आउटपुट में तारे के निशान से बदल दिया जाता है. उदाहरण के लिए:

<description>**********</description>
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

मास्क कॉन्फ़िगरेशन का इस्तेमाल करना

मास्क वाला चेहरा कॉन्फ़िगरेशन की मदद से, इन सोर्स में मौजूद संवेदनशील जानकारी की पहचान की जा सकती है:
  • एक्सएमएल पेलोड: एक्स पाथ का इस्तेमाल करके, अनुरोध से फ़िल्टर किए जाने वाले एक्सएमएल एलिमेंट की पहचान की जाती है या रिस्पॉन्स मैसेज पेलोड.
  • JSON पेलोड: JSONPath का इस्तेमाल करके, आप फ़िल्टर की जाने वाली JSON प्रॉपर्टी की पहचान करते हैं अनुरोध या जवाब मैसेज पेलोड के साथ.
  • फ़्लो वैरिएबल: उन वैरिएबल की सूची तय की जा सकती है जिन्हें डीबग के दौरान मास्क किया जाना चाहिए आउटपुट. जब request.content, response.content की जानकारी दी जाती है, या message.content फ़्लो वैरिएबल, अनुरोध/जवाब का मुख्य हिस्सा भी मास्क किया हुआ.

मास्क कॉन्फ़िगरेशन का बेसिक स्ट्रक्चर, यहां एक्सएमएल फ़ॉर्मैट में दिखाया गया है:

<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 XP एक्सप्रेशन की सूची, जिसका आकलन एक्सएमएल पेलोड (अगर कोई हो) के लिए अनुरोध का पाथ. सही तरीके से समाधान किए जाने वाले किसी भी एक्सएमएल से, एक्सएमएल की वैल्यू मिलेगी एलिमेंट को मास्क करना. लागू नहीं नहीं
XPathsResponse XP एक्सप्रेशन की सूची, जिसका आकलन एक्सएमएल पेलोड (अगर कोई हो) के लिए रिस्पॉन्स पाथ. सही तरीके से समाधान किए जाने वाले किसी भी एक्सएमएल से, एक्सएमएल की वैल्यू मिलेगी एलिमेंट को मास्क करना. लागू नहीं नहीं
JSONPathsRequest JSONPath एक्सप्रेशन की एक सूची, जिसका आकलन JSON पेलोड (अगर कोई है) के आधार पर किया जाएगा भी शामिल होगा. सफलतापूर्वक समाधान किए जाने वाले किसी भी JSONPath का मूल्य JSON प्रॉपर्टी को मास्क किया जा रहा है. लागू नहीं नहीं
JSONPathsResponse JSONPath एक्सप्रेशन की एक सूची, जिसका आकलन JSON पेलोड (अगर कोई है) के आधार पर किया जाएगा रिस्पॉन्स पाथ. सफलतापूर्वक समाधान किए जाने वाले किसी भी JSONPath का मूल्य JSON प्रॉपर्टी को मास्क किया जा रहा है. लागू नहीं नहीं
XPathsFault XP एक्सप्रेशन की सूची, जिसका आकलन एक्सएमएल पेलोड (अगर कोई हो) के लिए गड़बड़ी का फ़्लो (यह तब लागू होता है, जब फ़्लो में किसी भी जगह गड़बड़ी हो जाती है). ऐसा कोई भी रेफ़रंस जो समाधान करने से एक्सएमएल एलिमेंट की वैल्यू मास्क हो जाएगी. लागू नहीं नहीं
JSONPathsFault JSON एक्सप्रेशन की एक सूची, जिसका आकलन JSON पेलोड (अगर कोई है) के आधार पर किया जाएगा गड़बड़ी का फ़्लो (यह तब लागू होता है, जब फ़्लो में किसी भी जगह गड़बड़ी हो जाती है). कोई भी JSONPath सही तरीके से समाधान करने पर, JSON प्रॉपर्टी की वैल्यू मास्क हो जाएगी. लागू नहीं नहीं
वैरिएबल

वैरिएबल की सूची (पहले से तय या कस्टम) जिनकी वैल्यू मास्क की जाएंगी. डिफ़ॉल्ट वैरिएबल की सूची में, वैरिएबल रेफ़रंस देखें.

लागू नहीं नहीं

मास्क कॉन्फ़िगरेशन एपीआई

मास्क कॉन्फ़िगरेशन को उन एक्सएमएल या 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

मास्क कॉन्फ़िगरेशन बनाने के लिए, मास्क को तय करने वाला पेलोड सबमिट करने के लिए 'पोस्ट करें' क्रिया का इस्तेमाल करें कॉन्फ़िगरेशन:

$ 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

'मिटाएं' कार्रवाई का इस्तेमाल करके, मास्क कॉन्फ़िगरेशन को मिटाया जा सकता है:

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

इस उदाहरण में बेसिक सिंटैक्स दिखाया गया है पुष्टि करने के लिए. आप पुष्टि करने के लिए दूसरे तरीके इस्तेमाल कर सकते हैं, जैसे कि Oauth2 या SAML.

DELETE कार्रवाई का रिस्पॉन्स, बिना मैसेज वाला एचटीटीपी कोड 204 है कॉन्टेंट.

एक्सएमएल नेमस्पेस के लिए मास्किंग

मास्क कॉन्फ़िगरेशन के लिए XPATH में <Namespace> एलिमेंट ज़रूरी नहीं होता की परिभाषा, जब तक एक्सएमएल पेलोड में नेमस्पेस तय नहीं की गई हो. यह तब भी लागू होता है, जब एक्सएमएल पेलोड डिफ़ॉल्ट नेमस्पेस का इस्तेमाल करता है.

उदाहरण के लिए, एक्सएमएल पेलोड, नेमस्पेस तय नहीं करता:

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

इसलिए, मास्क कॉन्फ़िगरेशन के लिए <Namespace> एलिमेंट की ज़रूरत नहीं होती:

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

अगर एक्सएमएल पेलोड में नेमस्पेस और प्रीफ़िक्स हैं, तो:

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

अगर एक्सएमएल पेलोड में नेमस्पेस है, लेकिन कोई प्रीफ़िक्स नहीं है, तो इसका मतलब है डिफ़ॉल्ट नेमस्पेस:

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