Apigee Edge के दस्तावेज़ देखे जा रहे हैं.
Apigee X के दस्तावेज़ पर जाएं. info
वर्शन: 1.5.1
इस एक्सटेंशन का इस्तेमाल करके, कॉन्टेंट और इमेज से संवेदनशील डेटा को छिपाया जा सकता है. उदाहरण के लिए, क्रेडिट कार्ड नंबर, नाम, और सोशल सिक्योरिटी नंबर छिपाए जा सकते हैं.
ज़रूरी शर्तें
इस कॉन्टेंट में, इस एक्सटेंशन को कॉन्फ़िगर करने और इस्तेमाल करने के बारे में जानकारी दी गई है. ExtensionCallout नीति का इस्तेमाल करके, एपीआई प्रॉक्सी से एक्सटेंशन का इस्तेमाल करने से पहले, आपको ये काम करने होंगे:
अपने प्रोजेक्ट के लिए, Google Cloud DLP API चालू करें.
एक्सटेंशन के लिए, आपको जिस लेवल का ऐक्सेस चाहिए उसके लिए अनुमति दें.
GCP Console का इस्तेमाल करके, सेवा खाते के लिए कुंजी जनरेट करें.
कॉन्फ़िगरेशन रेफ़रंस का इस्तेमाल करके एक्सटेंशन को जोड़ने और कॉन्फ़िगर करने के दौरान, जनरेट हुई कुंजी वाली JSON फ़ाइल के कॉन्टेंट का इस्तेमाल करें.
Cloud Data Loss Prevention (DLP) के बारे में जानकारी
Cloud Data Loss Prevention (DLP) एक एपीआई है. इसका इस्तेमाल टेक्स्ट, इमेज, और अन्य डेटा की जांच करने के लिए किया जाता है. इससे संवेदनशील डेटा की पहचान करने और उसे मैनेज करने में मदद मिलती है.
ज़्यादा जानकारी के लिए, डीएलपी की खास जानकारी देखें. इस एक्सटेंशन के ज़रिए उपलब्ध कराए गए एपीआई के बारे में जानने के लिए, Cloud Data Loss Prevention (DLP) API देखें.
सैंपल
यहां दिए गए उदाहरणों में, ExtensionCallout नीति का इस्तेमाल करके, Cloud DLP एक्सटेंशन की कार्रवाइयों के लिए सहायता को कॉन्फ़िगर करने का तरीका बताया गया है.
इस सैंपल कोड को आज़माना आसान बनाने के लिए, इन उदाहरणों में AssignMessage नीति का इस्तेमाल किया गया है. इससे फ़्लो वैरिएबल की वैल्यू सेट की जाती हैं. साथ ही, ट्रेस टूल में दिखाने के लिए, एक्सटेंशन रिस्पॉन्स की वैल्यू वापस पाई जाती हैं.
सितारों वाला मास्क
इस उदाहरण में, नीति में बताए गए वर्ण (यहां * वर्ण) का इस्तेमाल करके, तय किए गए टाइप के टेक्स्ट को मास्क करने के लिए deidentifyWithMask ऐक्शन का इस्तेमाल किया गया है.
यहां दी गई AssignMessage नीति, उदाहरण के तौर पर request.content वैरिएबल सेट करती है. आम तौर पर, आपको क्लाइंट के अनुरोध से अनुरोध का कॉन्टेंट मिलता है.
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
AssignMessage async="false" continueOnError=&q>uot;f<alse" >enabled=&quo<t;true"> name<="Set-Variable"
DisplayNameSe>t Var<iable/DisplayN>ame
A<ssig>nTo type="<respo>nse"< crea>teNew="false"/
AssignVariable
Namerequest.content/Na<me
> <ValueVisit my s>i<te 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&quo>t<; standalone="yes"?
ConnectorCallout async="false" continueOnError="true"> enab<led="t>rue" name="Data-Loss-Extensi<on-Callout&q>uot;
< Displ>ayNameData <Loss Preve>ntion< Exten>sion Callout/Displ<ayName
> C<onnec><torexample-dlp/Connector
ActiondeidentifyWithMask/Action
Input![CDAT><A[{
> < "text" :< ">{<request.content}&>quot;,
"mask" : "*"
}]]/Input
Outputmasked.output/Output
/ConnectorCallout
नीचे दी गई AssignMessage नीति, एक्सटेंशन के आउटपुट को वापस लाती है, ताकि उसे Trace टूल में दिखाया जा सके.
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
AssignMessage async="false" continueOnError=&quo>t;fal<se" en>abled="tr<ue" nam>e=&qu<ot;Get-DLP-Output"
DisplayNameGet >DLP O<utp>ut/Displa<yName
AssignTo type="response>" createNe<w=">false<&quo>t<;/
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&quo>t<; standalone="yes"?
AssignMessage async="false" continueOnError=&q>uot;f<alse" >enabled=&quo<t;true"> name<="Set-Variable"
DisplayNameSe>t Var<iable/DisplayN>ame
A<ssig>nTo type="<respo>nse"< crea>teNew="false"/
AssignVariable
Namerequest.content/Na<me
> <ValueVisit my s>i<te 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&quo>t<; standalone="yes"?
ConnectorCallout async="false" continueOnError="true"> enab<led="t>rue" name="Data-Loss-Extensi<on-Callout&q>uot;
< Displ>ayNameData <Loss Preve>ntion< Exten>sion Callout/Displ<ayName
> C<onnec><torexample-dlp/Connector
ActiondeidentifyWithType/><Action>
<Input!>[CDATA[{
< &quo<t;text" : &q>uot;{request.content}"
}]]/Input
Outputmasked.output/Output
/ConnectorCallout
नीचे दी गई AssignMessage नीति, एक्सटेंशन के आउटपुट को वापस लाती है, ताकि उसे Trace टूल में दिखाया जा सके.
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
AssignMessage async="false" continueOnError=&quo>t;fal<se" en>abled="tr<ue" nam>e=&qu<ot;Get-DLP-Output"
DisplayNameGet >DLP O<utp>ut/Displa<yName
AssignTo type="response>" createNe<w=">false<&quo>t<;/
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&q><uot; :> "masking-character"
}]]/Input
उदाहरण
यहां दिए गए उदाहरण में, मास्क करने के लिए इनपुट के तौर पर एक ईमेल पते का इस्तेमाल किया गया है. यह ईमेल पता, input.email.address फ़्लो वैरिएबल में सेव किया गया है. इस उदाहरण के लिए, इस एक्सटेंशन को EMAIL_ADDRESS infoType के साथ काम करने के लिए कॉन्फ़िगर किया जाना चाहिए. infoType की सूची देखने के लिए, InfoType Detector Reference देखें.
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "{input.email.address}",
>< &q>u<ot;mas>k" : &qu<ot;*&qu>ot;
}]]/Input
Outputmasked.output/Output
इस उदाहरण के लिए, आउटपुट यह होगा:
{"text":"*****************"}
अनुरोध के पैरामीटर
| पैरामीटर | ब्यौरा | टाइप | डिफ़ॉल्ट | ज़रूरी है |
|---|---|---|---|---|
| टेक्स्ट | वह टेक्स्ट जिसकी पहचान छिपाने की है. | स्ट्रिंग | कोई नहीं. | हां. |
| मास्क | संवेदनशील डेटा को मास्क करने के लिए इस्तेमाल किया जाने वाला वर्ण. | स्ट्रिंग | कोई नहीं. | हां. |
जवाब
इनपुट टेक्स्ट में, तय किए गए वर्ण से बदले गए, तय किए गए infoTypes की वैल्यू. उदाहरण के लिए,
{"text":"*********"}
deidentifyWithTemplate
टेक्स्ट कॉन्टेंट में मौजूद संवेदनशील डेटा की पहचान छिपाने के लिए, ऐसे टेंप्लेट का इस्तेमाल करें जो यह कॉन्फ़िगर करता हो कि किस टेक्स्ट की पहचान छिपाई जानी है और उसे कैसे हैंडल करना है.
टेंप्लेट, कॉन्फ़िगरेशन को अलग करने के लिए काम के होते हैं. जैसे, आपको किस चीज़ की जांच करनी है और एपीआई कॉल के लागू होने से पहले, आपको उसे कैसे पहचान से जुड़ी जानकारी हटाना है. टेंप्लेट की मदद से, कॉन्फ़िगरेशन को फिर से इस्तेमाल किया जा सकता है. साथ ही, उपयोगकर्ताओं और डेटा सेट के बीच एक जैसा अनुभव दिया जा सकता है.
अपने टेंप्लेट में, आपको infoTypes तय करने होंगे. ये ऐसे कॉन्टेंट के बारे में बताते हैं जिसकी पहचान मिटानी है. infoType की सूची देखने के लिए, InfoType डिटेक्टर का रेफ़रंस देखें. पहचान छिपाने की सुविधा, टेंप्लेट में infoTypes प्रॉपर्टी के ज़रिए तय किए गए टेक्स्ट के उन हिस्सों को मास्क करती है.
सिंटैक्स
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify"
"templateName&><quot; >: "path-to-template"
}]]/Input
उदाहरण
यहां दिए गए उदाहरण में, पहचान छिपाने के लिए इनपुट, अनुरोध का मुख्य हिस्सा है. इसे request.content फ़्लो वैरिएबल के ज़रिए भेजा जाता है.
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "{request.content}"
"templateName" : "projects/[PROJECT_ID]/dei><dentif>yTemplates/1231258663242"
}]]/Input
इस उदाहरण के लिए, आउटपुट में पहचान छिपाकर अनुरोध किया गया कॉन्टेंट दिखेगा.
अनुरोध के पैरामीटर
| पैरामीटर | ब्यौरा | टाइप | डिफ़ॉल्ट | ज़रूरी है |
|---|---|---|---|---|
| टेक्स्ट | वह टेक्स्ट जिसकी पहचान छिपाना है. इसी डेटा पर पहचान छिपाने की प्रोसेस काम करती है. | ऑब्जेक्ट | कोई नहीं. | हां. |
| templateName | इस्तेमाल किया जाने वाला टेंप्लेट. यह टेंप्लेट का पाथ होगा, जो इस फ़ॉर्म में होगा: projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID. Google API की मदद से टेंप्लेट बनाते समय, रिस्पॉन्स की name प्रॉपर्टी वैल्यू को templateName के तौर पर इस्तेमाल करें. |
स्ट्रिंग | कोई नहीं. | हां. |
जवाब
इनपुट टेक्स्ट में, बताई गई infoType की वैल्यू को infoType के नामों से बदल दिया जाता है.
deidentifyWithType
टेक्स्ट कॉन्टेंट में मौजूद संवेदनशील डेटा की पहचान छिपाता है. साथ ही, मैच होने वाली हर वैल्यू को infoType के नाम से बदल देता है. infoType की सूची देखने के लिए, InfoType डिटेक्टर का रेफ़रंस देखें. इस कार्रवाई से, text के उन हिस्सों को मास्क किया जाता है जिन्हें एक्सटेंशन कॉन्फ़िगरेशन में infoTypes प्रॉपर्टी से तय किया गया है.
यहां दिए गए उदाहरण में, सेवा ने फ़ोन नंबर की पहचान की है. इसके बाद, इसे infoType के नाम से बदल दिया गया है.
इनपुट टेक्स्ट:
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-><deiden>tify"
}]]/Input
उदाहरण
यहां दिए गए उदाहरण में, मास्क करने के लिए इनपुट के तौर पर एक ईमेल पते का इस्तेमाल किया गया है. यह ईमेल पता, input.email.address फ़्लो वैरिएबल में सेव किया गया है. इस उदाहरण के लिए, इस एक्सटेंशन को EMAIL_ADDRESS infoType के साथ काम करने के लिए कॉन्फ़िगर किया जाना चाहिए. infoType की सूची देखने के लिए, InfoType Detector Reference देखें.
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "{input.emai><l.addr>ess}"
}]]/Input
इस उदाहरण के लिए, आउटपुट यह होगा:
{"text":"EMAIL_ADDRESS"}
अनुरोध के पैरामीटर
| पैरामीटर | ब्यौरा | टाइप | डिफ़ॉल्ट | ज़रूरी है |
|---|---|---|---|---|
| टेक्स्ट | वह टेक्स्ट जिसकी पहचान छिपाना है. | स्ट्रिंग | कोई नहीं. | हां. |
जवाब
इनपुट टेक्स्ट में, बताई गई infoType की वैल्यू को infoType के नामों से बदल दिया जाता है. उदाहरण के लिए,
{"text":"EMAIL_ADDRESS"}
redactImage
infoType की किसी कैटगरी में आने वाले टेक्स्ट को छिपाना. बदला गया कॉन्टेंट दिखता है और उसे अपारदर्शी आयत से छिपा दिया जाता है. इस कार्रवाई से, image_data के उन हिस्सों को मास्क किया जाता है जिन्हें एक्सटेंशन कॉन्फ़िगरेशन में infoTypes प्रॉपर्टी से तय किया गया है.
infoType की सूची देखने के लिए, InfoType डिटेक्टर का रेफ़रंस देखें.
अनुरोध के पैरामीटर
<Action>redactImage</Action>
<Input><![CDATA[{
"image_data" : "base64-encoded-image-to-analyze",
"image_ty><pe&quo>t; : "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 | वह GCP प्रोजेक्ट आईडी जिसके लिए Cloud Data Loss Prevention API चालू है. | कोई नहीं. | हां. |
| infoTypes | संवेदनशील डेटा के जानकारी टाइप. अगर इसे शामिल नहीं किया जाता है, तो सेवा पहले से मौजूद सभी टाइप का पता लगाएगी. Google Cloud DLP सेवा के साथ काम करने वाले infoType की सूची देखने के लिए, InfoType Detector Reference देखें. | कोई नहीं. | नहीं. |
| क्रेडेंशियल | Apigee Edge कंसोल में डालने पर, यह आपकी सेवा खाते की कुंजी फ़ाइल का कॉन्टेंट होता है. Management API के ज़रिए भेजे जाने पर, यह सेवा खाते की कुंजी फ़ाइल से जनरेट की गई base64-encoded वैल्यू होती है. | कोई नहीं. | हां. |