यहां Apigee Edge के दस्तावेज़ देखे जा रहे हैं.
पर जाएं
Apigee X दस्तावेज़. info
वर्शन: 1.5.3
इस एक्सटेंशन का इस्तेमाल करके, कॉन्टेंट और इमेज में मौजूद संवेदनशील डेटा को छिपाया जा सकता है. उदाहरण के लिए, क्रेडिट कार्ड नंबर, नाम, और सोशल सिक्योरिटी नंबर को छिपाया जा सकता है.
ज़रूरी शर्तें
इस कॉन्टेंट में, इस एक्सटेंशन को कॉन्फ़िगर करने और इस्तेमाल करने के बारे में जानकारी दी गई है. ExtensionCallout नीति का इस्तेमाल करके, एपीआई प्रॉक्सी से एक्सटेंशन का इस्तेमाल करने से पहले, आपको ये काम करने होंगे:
अपने प्रोजेक्ट के लिए, Google Cloud DLP API चालू करें.
अनुमति दें कि एक्सटेंशन के लिए, ऐक्सेस का वह लेवल तय करें जो आपको चाहिए.
सेवा खाते के लिए कुंजी जनरेट करने के लिए, GCP कंसोल का इस्तेमाल करें.
कॉन्फ़िगरेशन रेफ़रंस का इस्तेमाल करके, एक्सटेंशन को जोड़ने और कॉन्फ़िगर करने के दौरान, जनरेट हुई कुंजी की JSON फ़ाइल के कॉन्टेंट का इस्तेमाल करें.
Cloud Data Loss Prevention (DLP) के बारे में जानकारी
Cloud Data Loss Prevention (DLP) एक एपीआई है. इसका इस्तेमाल, टेक्स्ट, इमेज, और अन्य डेटा की जांच करके, संवेदनशील डेटा की पहचान करने और उसे मैनेज करने के लिए किया जाता है.
ज़्यादा जानकारी के लिए, डीएलपी की खास जानकारी देखें. इस एक्सटेंशन से जुड़े एपीआई के बारे में जानने के लिए, Cloud Data Loss Prevention (DLP) API देखें.
सैंपल
यहां दिए गए उदाहरणों से पता चलता है कि ExtensionCallout नीति का इस्तेमाल करके, Cloud DLP एक्सटेंशन की कार्रवाइयों के लिए सहायता कैसे कॉन्फ़िगर की जाती है.
इस सैंपल कोड को आज़माना आसान बनाने के लिए, इन उदाहरणों में AssignMessage नीति का इस्तेमाल किया गया है. इससे फ़्लो वैरिएबल की वैल्यू सेट की जाती हैं. साथ ही, Trace टूल में दिखाने के लिए, एक्सटेंशन के जवाब की वैल्यू भी वापस पाई जाती हैं.
तारों से मास्क करना
इस उदाहरण में, deidentifyWithMask कार्रवाई का इस्तेमाल करके, नीति में तय किए गए वर्ण से, तय किए गए टाइप के टेक्स्ट को मास्क किया गया है. यहां, * वर्ण का इस्तेमाल किया गया है.
यहां दी गई AssignMessage नीति, उदाहरण के तौर पर request.content वैरिएबल सेट करती है. आम तौर पर, अनुरोध का कॉन्टेंट, क्लाइंट के अनुरोध से वापस पाया जाता है.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Set-Variable">
<DisplayName>Set Variable</DisplayName>
<AssignTo type="response" createNew="false"/>
<AssignVariable>
<Name>request.content</Name>
<Value>Visit my site 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" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Data-Loss-Extension-Callout">
<DisplayName>Data Loss Prevention Extension Callout</DisplayName>
<Connector>example-dlp</Connector>
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "{request.content}",
"mask" : "*"
}]]></Input>
<Output>masked.output</Output>
</ConnectorCallout>
यहां दी गई AssignMessage नीति, Trace टूल में दिखाने के लिए, एक्सटेंशन का आउटपुट वापस पाती है.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-DLP-Output">
<DisplayName>Get DLP Output</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{masked.output}</Payload>
</Set>
</AssignMessage>
यहां इस कोड से मिलने वाले आउटपुट का एक उदाहरण दिया गया है.
{"text":"Visit my site at ******************* Or contact me at *****************."}
नाम से मास्क करना
इस उदाहरण में, deidentifyWithType कार्रवाई का इस्तेमाल करके, तय किए गए टाइप के टेक्स्ट को, infoType के नाम से मास्क किया गया है. उदाहरण के लिए, यह gladys@example.com ईमेल पते को EMAIL_ADDRESS से बदल देगा.
यहां दी गई AssignMessage नीति, उदाहरण के तौर पर request.content वैरिएबल सेट करती है. आम तौर पर, अनुरोध का कॉन्टेंट, क्लाइंट के अनुरोध से वापस पाया जाता है.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Set-Variable">
<DisplayName>Set Variable</DisplayName>
<AssignTo type="response" createNew="false"/>
<AssignVariable>
<Name>request.content</Name>
<Value>Visit my site 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" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Data-Loss-Extension-Callout">
<DisplayName>Data Loss Prevention Extension Callout</DisplayName>
<Connector>example-dlp</Connector>
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "{request.content}"
}]]></Input>
<Output>masked.output</Output>
</ConnectorCallout>
यहां दी गई AssignMessage नीति, Trace टूल में दिखाने के लिए, एक्सटेंशन का आउटपुट वापस पाती है.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-DLP-Output">
<DisplayName>Get DLP Output</DisplayName>
<AssignTo type="response" createNew="false"/>
<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 वर्ण से मास्क करें. यह कार्रवाई, एक्सटेंशन के कॉन्फ़िगरेशन में मौजूद infoTypes प्रॉपर्टी में तय किए गए text के उन हिस्सों को मास्क करती है.
संवेदनशील डेटा को मास्क करने से, वर्णों की जगह कोई सिंबल आ जाता है. जैसे, तारा (*) या हैश (#). एक्सटेंशन के कॉन्फ़िगरेशन में, संवेदनशील डेटा के टाइप कॉन्फ़िगर किए जा सकते हैं.
सिंटैक्स
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify",
"mask" : "masking-character"
}]]></Input>
उदाहरण
यहां दिए गए उदाहरण में, मास्क करने के लिए इनपुट, input.email.address फ़्लो वैरिएबल में सेव किया गया ईमेल पता है. इस उदाहरण के लिए, इस एक्सटेंशन को EMAIL_ADDRESS infoType के साथ काम करने के लिए कॉन्फ़िगर किया जाना चाहिए. infoTypes की सूची देखने के लिए, InfoType Detector Reference देखें.
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "{input.email.address}",
"mask" : "*"
}]]></Input>
<Output>masked.output</Output>
इस उदाहरण के लिए, आउटपुट यह होगा:
{"text":"*****************"}
अनुरोध के पैरामीटर
| पैरामीटर | ब्यौरा | टाइप | डिफ़ॉल्ट | ज़रूरी है |
|---|---|---|---|---|
| text | वह टेक्स्ट जिसकी पहचान हटानी है. | स्ट्रिंग | कोई नहीं. | हां. |
| mask | संवेदनशील डेटा को मास्क करने के लिए इस्तेमाल किया जाने वाला वर्ण. | स्ट्रिंग | कोई नहीं. | हां. |
जवाब
इनपुट टेक्स्ट में, तय किए गए infoTypes की वैल्यू को तय किए गए वर्ण से बदल दिया जाता है. उदाहरण के लिए,
{"text":"*********"}
deidentifyWithTemplate
टेक्स्ट कॉन्टेंट में मौजूद संवेदनशील डेटा की पहचान हटाने के लिए, किसी टेंप्लेट का इस्तेमाल करें. इस टेंप्लेट में यह कॉन्फ़िगर किया जाता है कि किस टेक्स्ट की पहचान हटानी है और उसे कैसे मैनेज करना है.
टेंप्लेट, कॉन्फ़िगरेशन को अलग करने के लिए काम के होते हैं. जैसे, आप किस चीज़ की जांच करते हैं और उसकी पहचान कैसे हटाते हैं. साथ ही, ये टेंप्लेट, एपीआई कॉल को लागू करने के लिए भी काम के होते हैं. टेंप्लेट, कॉन्फ़िगरेशन को फिर से इस्तेमाल करने और उपयोगकर्ताओं और डेटा सेट के बीच एक जैसा कॉन्फ़िगरेशन बनाए रखने का तरीका देते हैं.
अपने टेंप्लेट में, उन infoTypes के बारे में बताएं जो पहचान हटाने के लिए कॉन्टेंट के बारे में बताते हैं. infoTypes की सूची देखने के लिए, InfoType detector reference देखें. पहचान हटाने की प्रोसेस में, टेंप्लेट में मौजूद infoTypes प्रॉपर्टी में तय किए गए टेक्स्ट के उन हिस्सों को मास्क किया जाता है.
सिंटैक्स
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify"
"templateName" : "path-to-template"
}]]></Input>
उदाहरण
यहां दिए गए उदाहरण में, पहचान हटाने के लिए इनपुट, request.content फ़्लो वैरिएबल में मौजूद अनुरोध का मुख्य हिस्सा है.
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "{request.content}"
"templateName" : "projects/[PROJECT_ID]/deidentifyTemplates/1231258663242"
}]]></Input>
इस उदाहरण के लिए, आउटपुट, पहचान हटाया गया अनुरोध का कॉन्टेंट होगा.
अनुरोध के पैरामीटर
| पैरामीटर | ब्यौरा | टाइप | डिफ़ॉल्ट | ज़रूरी है |
|---|---|---|---|---|
| text | वह टेक्स्ट जिसकी पहचान हटानी है. पहचान हटाने की प्रोसेस इसी पर काम करती है. | ऑब्जेक्ट | कोई नहीं. | हां. |
| templateName | इस्तेमाल किया जाने वाला टेंप्लेट. यह टेंप्लेट का पाथ होगा, जो इस फ़ॉर्मैट में होगा: projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID. Google API की मदद से टेंप्लेट बनाते समय, जवाब की name प्रॉपर्टी की वैल्यू को templateName के तौर पर इस्तेमाल करें. |
स्ट्रिंग | कोई नहीं. | हां. |
जवाब
इनपुट टेक्स्ट में, तय किए गए infoTypes की वैल्यू को infoType के नामों से बदल दिया जाता है.
deidentifyWithType
टेक्स्ट कॉन्टेंट में मौजूद संवेदनशील डेटा की पहचान हटाएं. साथ ही, मेल खाने वाली हर वैल्यू को infoType के नाम से बदलें. infoTypes की सूची देखने के लिए, InfoType detector reference देखें. यह कार्रवाई, एक्सटेंशन के कॉन्फ़िगरेशन में मौजूद infoTypes प्रॉपर्टी में तय किए गए text के उन हिस्सों को मास्क करती है.
यहां दिए गए उदाहरण में, सेवा से फ़ोन नंबर की पहचान की जाती है. इसके बाद, इसे 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-deidentify"
}]]></Input>
उदाहरण
यहां दिए गए उदाहरण में, मास्क करने के लिए इनपुट, input.email.address फ़्लो वैरिएबल में सेव किया गया ईमेल पता है. इस उदाहरण के लिए, इस एक्सटेंशन को EMAIL_ADDRESS infoType के साथ काम करने के लिए कॉन्फ़िगर किया जाना चाहिए. infoTypes की सूची देखने के लिए, InfoType Detector Reference देखें.
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "{input.email.address}"
}]]></Input>
इस उदाहरण के लिए, आउटपुट यह होगा:
{"text":"EMAIL_ADDRESS"}
अनुरोध के पैरामीटर
| पैरामीटर | ब्यौरा | टाइप | डिफ़ॉल्ट | ज़रूरी है |
|---|---|---|---|---|
| text | वह टेक्स्ट जिसकी पहचान हटानी है. | स्ट्रिंग | कोई नहीं. | हां. |
जवाब
इनपुट टेक्स्ट में, तय किए गए infoTypes की वैल्यू को infoType के नामों से बदल दिया जाता है. उदाहरण के लिए,
{"text":"EMAIL_ADDRESS"}
redactImage
उस टेक्स्ट को छिपाएं जो infoType की किसी कैटगरी में आता है. छिपाए गए कॉन्टेंट की पहचान की जाती है और उसे अपारदर्शी आयत से छिपा दिया जाता है. यह कार्रवाई, एक्सटेंशन के कॉन्फ़िगरेशन में मौजूद infoTypes प्रॉपर्टी में तय किए गए image_data के उन हिस्सों को मास्क करती है.
infoTypes की सूची देखने के लिए, InfoType detector reference देखें.
अनुरोध के पैरामीटर
<Action>redactImage</Action>
<Input><![CDATA[{
"image_data" : "base64-encoded-image-to-analyze",
"image_type" : "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 | संवेदनशील डेटा के infoType. अगर इसे छोड़ दिया जाता है, तो सेवा, सभी बिल्ट-इन टाइप का पता लगाएगी. Google Cloud DLP सेवा के साथ काम करने वाले infoTypes की सूची देखने के लिए, InfoType Detector Reference देखें. | कोई नहीं. | नहीं. |
| credentials | Apigee Edge कंसोल में डालने पर, यह आपके सेवा खाते की कुंजी वाली फ़ाइल का कॉन्टेंट होता है. मैनेजमेंट एपीआई के ज़रिए भेजने पर, यह सेवा खाते की कुंजी वाली फ़ाइल से जनरेट की गई base64 में कोड में बदली गई वैल्यू होती है. | कोई नहीं. | हां. |