Google Cloud डेटा लीक होने की रोकथाम का एक्सटेंशन

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

वर्शन: 1.3.0

इस एक्सटेंशन का इस्तेमाल, कॉन्टेंट और इमेज से संवेदनशील जानकारी को छिपाने के लिए करें. उदाहरण के लिए, क्रेडिट कार्ड नंबर, नाम, और सोशल सिक्योरिटी नंबर छिपाने के लिए बदलाव किए जा सकते हैं.

ज़रूरी शर्तें

इस कॉन्टेंट में, इस एक्सटेंशन को कॉन्फ़िगर करने और इसका इस्तेमाल करने के बारे में जानकारी दी गई है. एक्सटेंशन कॉलआउट की नीति की मदद से, किसी एपीआई प्रॉक्सी के एक्सटेंशन का इस्तेमाल करने से पहले, आपको ये काम करने होंगे:

  1. अपने प्रोजेक्ट के लिए, Google Cloud डीएलपी API चालू करें.

  2. ऐक्सेस के उस लेवल के लिए अनुमति दें जो आपको एक्सटेंशन के लिए चाहिए.

  3. सेवा खाते के लिए कुंजी जनरेट करने के लिए, GCP कंसोल का इस्तेमाल करें.

  4. कॉन्फ़िगरेशन रेफ़रंस का इस्तेमाल करके, एक्सटेंशन जोड़ते और कॉन्फ़िगर करते समय, नतीजे वाली कुंजी JSON फ़ाइल के कॉन्टेंट का इस्तेमाल करें.

Cloud डेटा लीक होने की रोकथाम (डीएलपी) के बारे में जानकारी

क्लाउड डेटा लीक होने की रोकथाम (डीएलपी), टेक्स्ट, इमेज, और अन्य डेटा की जांच करने का एक एपीआई है. इसकी मदद से, संवेदनशील जानकारी की पहचान की जाती है और उसे मैनेज किया जाता है.

ज़्यादा जानकारी के लिए, डीएलपी की खास जानकारी देखें. यह एक्सटेंशन किस एपीआई की जानकारी दिखाता है, इसके बारे में जानने के लिए Cloud डेटा लीक होने की रोकथाम (डीएलपी) एपीआई देखें.

सैंपल

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

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

स्टार के निशान वाला मास्क

इस उदाहरण में, नीति में बताए गए वर्ण से तय किए गए टेक्स्ट को मास्क करने के लिए, deidentifyWithMask कार्रवाई का इस्तेमाल किया गया है -- यहां, * वर्ण इस्तेमाल किया गया है.

नीचे दी गई AssignmentsMessage नीति, 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>

नीचे दी गई एक्सटेंशन कॉल आउट नीति, request.content वैरिएबल वैल्यू को वापस लाती है और उसे Cloud डीएलपी एक्सटेंशन (यहां, 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 नीति, ट्रेस करने वाले टूल में दिखाने के लिए एक्सटेंशन के आउटपुट को वापस लाती है.

<?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 कार्रवाई का इस्तेमाल किया गया है. उदाहरण के लिए, यह ईमेल पते gladys@example.com को EMAIL_ADDRESS से बदल देगा.

नीचे दी गई AssignmentsMessage नीति, 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>

नीचे दी गई एक्सटेंशन कॉलआउट नीति, request.content वैरिएबल वैल्यू को वापस लाती है और उसे Cloud डीएलपी एक्सटेंशन (यहां, 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 नीति, ट्रेस करने वाले टूल में दिखाने के लिए एक्सटेंशन के आउटपुट को वापस लाती है.

<?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 वर्ण का इस्तेमाल करके मास्क करें. इस कार्रवाई से, text के उन हिस्सों को मास्क कर दिया जाता है जिन्हें एक्सटेंशन कॉन्फ़िगरेशन में infoTypes प्रॉपर्टी ने तय किया है.

संवेदनशील जानकारी को मास्क करने से, उसमें मौजूद कोई सिंबल, जैसे कि तारे का निशान (*) या हैश (#) से बदल जाता है. इन टाइप के संवेदनशील डेटा को, एक्सटेंशन के कॉन्फ़िगरेशन में कॉन्फ़िगर किया जा सकता है.

सिंटैक्स

<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
  "text" : "text-to-deidentify",
  "mask" : "masking-character"
}]]></Input>

उदाहरण

यहां दिए गए उदाहरण में, मास्क का इनपुट एक ईमेल पता है, जिसे input.email.address फ़्लो वैरिएबल में स्टोर किया गया है. इस उदाहरण की मदद करने के लिए, यह ज़रूरी है कि इस एक्सटेंशन को EMAIL_ADDRESS की जानकारी टाइप के साथ काम करने के लिए कॉन्फ़िगर किया गया हो. जानकारी टाइप की सूची के लिए, InfoType डिटेक्टर का रेफ़रंस देखें.

<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
    "text" : "{input.email.address}",
    "mask" : "*"
}]]></Input>
<Output>masked.output</Output>

इस उदाहरण के लिए आउटपुट नीचे दिया गया होगा:

{"text":"*****************"}

अनुरोध के पैरामीटर

पैरामीटर ब्यौरा टाइप डिफ़ॉल्ट ज़रूरी है
टेक्स्ट वह टेक्स्ट जिससे पहचान से जुड़ी जानकारी हटाई जानी है. स्ट्रिंग कोई नहीं. हां.
मास्क संवेदनशील जानकारी को मास्क करने के लिए इस्तेमाल किया जाने वाला वर्ण. स्ट्रिंग कोई नहीं. हां.

जवाब

इनपुट टेक्स्ट को खास जानकारी टाइप की वैल्यू के साथ, बताए गए वर्ण से बदल दिया गया है. उदाहरण के लिए,

{"text":"*********"}

deidentifyWithTemplate

टेक्स्ट कॉन्टेंट में मौजूद संवेदनशील जानकारी से पहचान से जुड़ी जानकारी हटाने के लिए, एक ऐसा टेंप्लेट इस्तेमाल करें जो यह कॉन्फ़िगर करता है कि किस टेक्स्ट की पहचान करनी है और उसे कैसे मैनेज करना है.

टेंप्लेट, कॉन्फ़िगरेशन को अलग करने में मदद करते हैं. जैसे, किस चीज़ की जांच करनी है और एपीआई कॉल को लागू करने के बाद, उस कॉन्फ़िगरेशन की पहचान कैसे करनी है. टेंप्लेट की मदद से, कॉन्फ़िगरेशन का फिर से इस्तेमाल किया जा सकता है. साथ ही, इससे उपयोगकर्ताओं और डेटा सेट को एक जैसा बनाया जा सकता है.

अपने टेंप्लेट में, आपको ऐसे infoTypes डालने होंगे जो उस कॉन्टेंट की पहचान कर रहा हो जिसकी पहचान नहीं करनी है. जानकारी टाइप की सूची के लिए, InfoType डिटेक्टर का रेफ़रंस देखें. टेक्स्ट के उन हिस्सों की पहचान से जुड़ी जानकारी हटाने से, जो टेंप्लेट में 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>

इस उदाहरण के लिए, आउटपुट में पहचान से जुड़ी जानकारी शामिल नहीं होगी.

अनुरोध के पैरामीटर

पैरामीटर ब्यौरा टाइप डिफ़ॉल्ट ज़रूरी है
टेक्स्ट वह टेक्स्ट जिसकी पहचान से जुड़ी जानकारी हटानी है. पहचान से जुड़ी जानकारी हटाने की प्रोसेस इसी पर काम करती है. ऑब्जेक्ट कोई नहीं. हां.
templateName इस्तेमाल करने के लिए टेंप्लेट. यह इस फ़ॉर्म में टेंप्लेट का पाथ होगा: projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID. Google API का इस्तेमाल करके टेंप्लेट बनाते समय, जवाब की name प्रॉपर्टी की वैल्यू को templateName के तौर पर इस्तेमाल करें. स्ट्रिंग कोई नहीं. हां.

जवाब

इनपुट टेक्स्ट को सही जानकारी टाइप की वैल्यू के साथ, infoType के नामों से बदल दिया गया है.

deidentifyWithType

टेक्स्ट कॉन्टेंट में मौजूद संवेदनशील डेटा की पहचान से जुड़ी जानकारी हटा दें. इसके लिए, मेल खाने वाली हर वैल्यू को उसकी जानकारी टाइप का नाम दें. जानकारी टाइप की सूची के लिए, 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-deidentify"
}]]></Input>

उदाहरण

यहां दिए गए उदाहरण में, मास्क का इनपुट एक ईमेल पता है, जिसे input.email.address फ़्लो वैरिएबल में स्टोर किया गया है. इस उदाहरण की मदद करने के लिए, यह ज़रूरी है कि इस एक्सटेंशन को EMAIL_ADDRESS की जानकारी टाइप के साथ काम करने के लिए कॉन्फ़िगर किया गया हो. जानकारी टाइप की सूची के लिए, InfoType डिटेक्टर का रेफ़रंस देखें.

<Action>deidentifyWithType</Action>
<Input><![CDATA[{
    "text" : "{input.email.address}"
}]]></Input>

इस उदाहरण के लिए आउटपुट नीचे दिया गया होगा:

{"text":"EMAIL_ADDRESS"}

अनुरोध के पैरामीटर

पैरामीटर ब्यौरा टाइप डिफ़ॉल्ट ज़रूरी है
टेक्स्ट वह टेक्स्ट जिसकी पहचान से जुड़ी जानकारी हटानी है. स्ट्रिंग कोई नहीं. हां.

जवाब

इनपुट टेक्स्ट को सही जानकारी टाइप की वैल्यू के साथ, infoType के नामों से बदल दिया गया है. उदाहरण के लिए,

{"text":"EMAIL_ADDRESS"}

redactImage

किसी एक InfoType कैटगरी में आने वाले टेक्स्ट को छिपाने के लिए उसमें बदलाव करें. छिपाने के लिए इस्तेमाल किए गए कॉन्टेंट का पता लगाया जाता है और उसे एक ओपेक रेक्टैंगल से छिपाया जाता है. इस कार्रवाई से, image_data के उन हिस्सों को मास्क कर दिया जाता है जिन्हें एक्सटेंशन कॉन्फ़िगरेशन में infoTypes प्रॉपर्टी ने तय किया है.

जानकारी टाइप की सूची के लिए, InfoType डिटेक्टर का रेफ़रंस देखें.

अनुरोध के पैरामीटर

<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 डेटा लीक होने की रोकथाम का एपीआई चालू है. कोई नहीं. हां.
infoTypes इसमें संवेदनशील जानकारी किस तरह की है. अगर इसे छोड़ दिया जाता है, तो सेवा सभी बिल्ट-इन प्रकारों को पहचान लेगी. Google Cloud डीएलपी सेवा के साथ काम करने वाले जानकारी टाइप की सूची के लिए, InfoType डिटेक्टर का रेफ़रंस देखें. कोई नहीं. नहीं.
क्रेडेंशियल Apigee Edge कंसोल में डाला गया कॉन्टेंट, आपके सेवा खाते की कुंजी वाली फ़ाइल का कॉन्टेंट होता है. मैनेजमेंट एपीआई की मदद से भेजने पर, यह base64 कोड में बदली गई वैल्यू होती है. यह सेवा खाते की कुंजी फ़ाइल से जनरेट होती है. कोई नहीं. हां.