MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

डार्कशील्ड के साथ MongoDB, Cassandra, और Elasticsearch में मास्किंग PII:…

यह लेख व्यक्तिगत रूप से पहचाने जाने योग्य जानकारी (PII) और MongoDB, Cassandra, और Elasticsearch डेटाबेस में अन्य संवेदनशील डेटा की पहचान और उपचार (मास्क) करने के लिए IRI डार्कशील्ड के उपयोग को दर्शाता है। यद्यपि ये चरण मुख्य रूप से MongoDB संग्रह में डेटा खोजने और परिरक्षण पर ध्यान केंद्रित करते हैं, वही चरणों का उपयोग कैसेंड्रा तालिकाओं में डेटा के लिए भी किया जा सकता है। Elasticsearch पर भी यह लेख देखें।

ध्यान दें कि यह आलेख चौथी विधि का प्रतिनिधित्व करता है IRI MongoDB में डेटा को मास्क करने के लिए समर्थन करता है, और दूसरी विधि Cassandra के लिए। वे पिछली और अभी भी समर्थित विधियां आईआरआई फील्डशील्ड के माध्यम से संरचित डेटा खोज और डी-पहचान पर भरोसा करती हैं, जबकि डार्कशील्ड विधि संरचित या असंरचित संग्रह में टेक्स्ट डेटा का समर्थन करती है। हालांकि DarkShield और FieldShield स्टैंडअलोन IRI डेटा मास्किंग उत्पाद हैं, दोनों ही IRI Voracity डेटा प्रबंधन प्लेटफ़ॉर्म में शामिल हैं।

नवीनतम दृष्टिकोण डेटा वर्गीकरण . के कुछ तत्वों का उपयोग करता है , डेटा के स्रोत से स्वतंत्र रूप से PII खोजने के लिए उपयोग की जाने वाली खोज विधियों को परिभाषित करने के लिए एक एकीकृत डेटा कैटलॉगिंग प्रतिमान। हालांकि यह आलेख चरण 1 के दौरान डेटा वर्गीकरण के लिए एक छोटा सा परिचय प्रदान करता है, आपको यह पढ़ना उपयोगी हो सकता है कि डेटा वर्गीकरण खोजों के संचालन के लिए हमारे एकीकृत दृष्टिकोण में कैसे फिट बैठता है। डार्कशील्ड एट अल के लिए आईआरआई वर्कबेंच फ्रंट एंड में डेटा वर्गीकरण के बारे में अधिक जानकारी के लिए, कृपया आगे बढ़ने से पहले इस लेख को पढ़ें।

IRI DarkShield का उपयोग करके PII की पहचान और उपचार में 4 सामान्य चरण शामिल हैं:

(वैकल्पिक) चरण - अपना डेटा स्रोत पंजीकृत करें

इस (वैकल्पिक) चरण में, मोंगो डेटाबेस, कैसेंड्रा कीस्पेस, या इलास्टिक्स खोज क्लस्टर के लिए डेटा स्रोत पंजीकृत हैं। यह डेटा स्रोतों को पुन:प्रयोज्य करने की अनुमति देता है। परिणामस्वरूप, यह चरण वैकल्पिक है यदि वांछित डेटा स्रोत पहले से ही रजिस्ट्री में मौजूद है, या यदि आप उन्हें विज़ार्ड से परिभाषित करने की योजना बना रहे हैं।

चरण 1 - खोज पैरामीटर निर्दिष्ट करें

यहां खोज के सभी पहलुओं को चुना जाता है। सबसे पहले, रजिस्ट्री में निर्दिष्ट या विज़ार्ड में बनाए गए डेटा कनेक्शन के आधार पर एक स्रोत और लक्ष्य संग्रह/तालिका स्थापित की जाती है। फिर, आप खोज मिलानकर्ताओं का उपयोग करके अपने डेटा के लिए खोज और उपचार मानदंड निर्दिष्ट कर सकते हैं कि किस प्रकार की जानकारी को देखना है और उस जानकारी का उपचार कैसे किया जाना चाहिए। इस चरण का परिणाम एक .खोज . है फ़ाइल।

चरण 2 - एक खोज का संचालन करें

खोज को .खोज . से चलाया जा सकता है फ़ाइल। परिणाम एक .darkdata . है किसी भी पहचाने गए PII की व्याख्या करने वाली फ़ाइल।

चरण 3 - उपचार (मास्किंग)

उपचार .darkdata . से किया जा सकता है फ़ाइल। किसी भी पहचाने गए PII को खोज निर्माण के दौरान निर्दिष्ट तरीके से ठीक किया जाएगा।

(वैकल्पिक) चरण - अपने डेटा स्रोतों को पंजीकृत करें

एक पूर्वापेक्षा चरण के रूप में, आपको अपने ऑनलाइन डेटा स्रोतों (और लक्ष्य) के लिए URL कनेक्शन रजिस्ट्री में कनेक्शन पंजीकृत करने की आवश्यकता होगी, जो प्राथमिकताएं> IRI> URL कनेक्शन रजिस्ट्री में स्थित है। आईआरआई वर्कबेंच में संवाद।

MongoDB, Cassandra, और Elasticsearch के लिए URI कनेक्शन स्ट्रिंग सहित सभी URL कनेक्शन सहेजे जा सकते हैं। यह यूआरएल, प्रमाणीकरण क्रेडेंशियल, और किसी भी अतिरिक्त पैरामीटर को भविष्य में उपयोग के लिए आईआरआई वर्कबेंच द्वारा सहेजा और संग्रहीत करने की अनुमति देता है।

चरण 1 - खोज पैरामीटर निर्दिष्ट करें (.खोज फ़ाइल बनाएं)

डार्कशील्ड के लिए आईआरआई वर्कबेंच आईडीई में, डार्कशील्ड मेनू से नया डेटाबेस डिस्कवरी जॉब चुनें। प्रोजेक्ट फ़ोल्डर का चयन करें और कार्य के लिए एक नाम दर्ज करें:

स्रोत और लक्ष्य निर्दिष्ट करना

कोई भी Mongo, Cassandra या ElasticsearchURL जो पहले रजिस्ट्री में बनाए और सहेजे गए थे, उन्हें URI से एक्सेस किया जा सकता है स्रोत और लक्ष्य चयनकर्ताओं दोनों के लिए ड्रॉपडाउन। संबंधित MongoDB संग्रह, कैसेंड्रा तालिका, या इलास्टिक्स खोज अनुक्रमणिका का नाम भी दर्ज करना होगा:

नया . दबाकर एक नया यूआरआई भी बनाया जा सकता है बटन। यह URL कनेक्शन विवरण संवाद खोलेगा। कनेक्शन के लिए एक नाम दर्ज करें, वांछित योजना का चयन करें, होस्ट दर्ज करें, और डेटाबेस दर्ज करें। यदि कोई पोर्ट मौजूद नहीं है तो योजना के लिए डिफ़ॉल्ट पोर्ट मान लिया जाएगा।

यदि डेटाबेस को प्राधिकरण की आवश्यकता है तो एक उपयोगकर्ता नाम और पासवर्ड भी प्रदान किया जा सकता है। कोई भी नया URL कनेक्शन URL कनेक्शन रजिस्ट्री में सहेजा जाएगा, और लक्ष्य के रूप में पुन:उपयोग किया जा सकता है।

स्रोत निर्दिष्ट होने के बाद, आप लक्ष्य यूआरआई चुनने या बनाने के लिए अगले पृष्ठ पर जारी रख सकते हैं। लक्ष्य यूआरआई की योजना चयनित स्रोत यूआरआई तक सीमित होगी, इसलिए एक मोंगोडीबी स्रोत को केवल दूसरे मोंगोडीबी लक्ष्य पर भेजा जा सकता है, और इसी तरह कैसेंड्रा या इलास्टिक्स खोज के लिए।

जब कोई मास्किंग कार्य चलाया जाता है, तो स्रोत की सभी पंक्तियों को लक्ष्य में जोड़ दिया जाएगा, और मिलान कुंजियों वाली कोई भी पंक्तियाँ अधिलेखित हो जाएँगी। कैसेंड्रा के लिए, सुनिश्चित करें कि लक्ष्य तालिका स्कीमा स्रोत तालिका के डेटा के साथ संगत है।

खोज मिलानकर्ता जोड़ना

स्रोत और लक्ष्य दोनों निर्दिष्ट होने के बाद, आप खोज मिलानकर्ताओं को जोड़ने के लिए अगले पृष्ठ पर जा सकते हैं। किसी भी पैटर्न या नियम पुस्तकालयों वाले पुस्तकालय स्थान का चयन करें जिसका आप उपयोग करना चाहते हैं और जोड़ें . पर क्लिक करें एक नया खोज मिलानकर्ता जोड़ने के लिए।

कीनाममैचर

पहला सर्च मैचर जो हम बनाएंगे उसका उपयोग मनमाने ढंग से नेस्टेड जेसन संरचनाओं में स्थित किसी भी "नाम" कुंजी से संबंधित संपूर्ण मूल्य से मेल खाने के लिए किया जाएगा और इसे मास्क करने के लिए एक प्रारूप संरक्षित एन्क्रिप्शन एल्गोरिदम लागू किया जाएगा। हम JSON पथ फ़िल्टर "$..name" बनाकर इसे प्राप्त कर सकते हैं। JSON पथ के बारे में अधिक जानकारी यहां मिल सकती है।

चूंकि MongoDB संग्रह, कैसेंड्रा टेबल और इलास्टिक्स खोज इंडेक्स को डार्कशील्ड द्वारा json दस्तावेज़ों के रूप में पार्स किया जाता है, इसलिए किसी भी "नाम" कुंजी के अनुरूप किसी भी मूल्य को मास्क करने के लिए फ़िल्टर को दोनों पर लागू किया जा सकता है।

फ़िल्टर किए गए डेटा की सामग्री से मिलान करने के लिए, हमें एक नया डेटा वर्ग बनाना होगा . एक डेटा क्लास PII और उससे जुड़े मैचर्स का प्रतिनिधित्व करता है जो इसे पहचानने के लिए उपयोग किए जाते हैं। इन मिलानकर्ताओं में इनमें से कोई भी संयोजन शामिल हो सकता है:

  • रेगुलर एक्सप्रेशन पैटर्न
  • फाइल डिक्शनरी लुकअप सेट करें
  • नामांकित इकाई पहचान मॉडल
  • बाउंडिंग बॉक्स मैचर्स (केवल चित्र)
  • चेहरे की पहचान (केवल चित्र)

आप विज़ार्ड के भीतर या डेटा वर्ग और समूह . खोलकर डेटा वर्ग निर्धारित कर सकते हैं IRI वरीयताएँ . में पृष्ठ . प्राथमिकताओं के भीतर परिभाषित डेटा वर्गों का उपयोग फ़ील्डशील्ड और डार्कशील्ड दोनों में संरचित और असंरचित डेटा सहित अन्य डेटा स्रोतों के लिए किया जा सकता है।

हम एक संबद्ध सब कुछ . बना सकते हैं इस मैचर के लिए डेटा क्लास जो मूल्य की संपूर्ण सामग्री से मेल खाएगा, क्योंकि हम यथोचित रूप से सुनिश्चित हैं कि हम सभी मानों में नाम पाएंगे। यदि आप अपनी "नाम" कुंजियों की सामग्री के बारे में अनिश्चित हैं या यदि आप नामों के केवल एक सबसेट को मुखौटा बनाना चाहते हैं, तो आप नामों के शब्दकोश वाले सेट फ़ाइल लुकअप का उपयोग कर सकते हैं।

नियम का नाम . के लिए KeyNameMatcher के क्षेत्र में, हम अपने द्वारा चुने गए पुस्तकालय स्थान से मौजूदा डेटा नियम का चयन कर सकते हैं, या एक नया नियम बना सकते हैं जो प्रारूप संरक्षण एन्क्रिप्शन (FPE) का उपयोग करता है, उदाहरण के लिए:

FPE नियम बनाने के लिए, बनाएं . पर क्लिक करें नियम नाम . के आगे फ़ील्ड में, एन्क्रिप्शन या डिक्रिप्शन फ़ंक्शंस चुनें दिखाई देने वाले डेटा नियम विज़ार्ड से:

अपनी एन्क्रिप्शन/डिक्रिप्शन कुंजी के रूप में काम करने के लिए एक उपयुक्त पासफ़्रेज़ निर्दिष्ट करें, जो एक स्पष्ट स्ट्रिंग, पर्यावरण चर, या उस स्ट्रिंग वाली सुरक्षित फ़ाइल का नाम हो सकता है।

ईमेल मैचर

पिछले संवाद को समाप्त करने और अपना नया KeyNameMatcher बनाने के बाद, हम ईमेल पतों के लिए एक और खोज मिलानकर्ता जोड़ सकते हैं। बस जोड़ें . क्लिक करें सूची में जोड़ने के लिए एक और खोज मिलानकर्ता बनाने के लिए।

IRI कार्यक्षेत्र एक ईमेल . के साथ पहले से लोड आता है डेटा क्लास जिसे ब्राउज़ . पर क्लिक करके चुना जा सकता है डेटा वर्ग के नाम . के आगे फ़ील्ड और ईमेल . का चयन करना ड्रॉपडाउन मेनू से।

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

आपका सर्च मैचर अब OK. . पर क्लिक करके सूची में जोड़ा जा सकता है

NamesMatcher

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

एक NAMES_NER बनाने के लिए डेटा क्लास, हमें सबसे पहले पर्सन नेम फाइंडर मॉडल, en-ner-person.bin को डाउनलोड करना होगा। , ओपनएनएलपी सोर्सफोर्ज रिपॉजिटरी से। फिर, जोड़ें . पर क्लिक करें नया मैचर जोड़ने के लिए, NER मॉडल चुनें ड्रॉपडाउन से। ब्राउज़ करें . क्लिक करें और डाउनलोड किए गए मॉडल के स्थान पर नेविगेट करें; उदाहरण के लिए:

नया डेटा क्लास बनाने के बाद, ठीक . पर क्लिक करें और उस FPE डेटा नियम का चयन करें जिसे आपने खोज मिलानकर्ता बनाने के लिए पहले परिभाषित किया था:

ध्यान दें कि हमारे NamesMatcher और कीनाममैचर ओवरलैपिंग मैच हो सकते हैं। यदि ऐसा होता है, तो डार्कशील्ड सबसे लंबे समय तक उपलब्ध मैच का चयन करता है और किसी भी अन्य ओवरलैपिंग मैच को हटा देता है। इस तरह, आपको पहले से नकाबपोश मानों पर डार्कशील्ड द्वारा मास्किंग फ़ंक्शन लागू करने के बारे में चिंता करने की ज़रूरत नहीं है।

एक बार जब आप सभी वांछित मिलानकर्ताओं को जोड़ लेते हैं, तो .खोज . उत्पन्न करने के लिए समाप्त पर क्लिक करें फ़ाइल।

उत्पन्न .खोज खोज के बारे में विवरण दिखाने के लिए फ़ाइल का निरीक्षण किया जा सकता है। इसमें स्रोत और लक्ष्य यूआरआई, और सभी मिलानकर्ताओं के बारे में जानकारी शामिल है।

चरण 2 - एक खोज का संचालन करें (एक .डार्कडेटा बनाएं फ़ाइल)

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

खोज शुरू करने के लिए, .search . पर राइट क्लिक करें फ़ाइल, इस रूप में चलाएँ, . चुनें और या तो चुनें आईआरआई खोज नौकरी या IRI खोज और उपचारात्मक कार्य

खोज केवल खोज करेगा, जबकि खोज और उपचार किसी भी पहचाने गए डेटा को छिपाने (या हटाने) का भी प्रयास करेगा। दोनों एक .darkdata . उत्पन्न करेंगे रुचि के किसी भी डेटा की पहचान करने वाली फ़ाइल।

मेरे द्वारा उपयोग किया जाने वाला स्रोत बेतरतीब ढंग से उत्पन्न मूल्यों से भरा हुआ था, इसलिए उत्पन्न .darkdata को साझा करने में कोई बुराई नहीं है। यहां फाइल करें। हालांकि, वास्तव में संवेदनशील जानकारी को संभालते समय, उपयोगकर्ताओं को .darkdata . को आश्वस्त करना चाहिए फ़ाइल को उजागर नहीं किया जाता है और पीआईआई रिसाव को रोकने के लिए उपचार के पूरा होने के बाद सुरक्षित रूप से संग्रहीत या हटा दिया जाता है। IRI .darkdata . को स्टोर करने के लिए क्वारंटाइन विकल्प जोड़ेगा फ़ाइल और संबंधित खोज कलाकृतियों को सुरक्षित स्थान पर; इस नियोजित सुविधा के विवरण के लिए [email protected] से संपर्क करें।

चरण 3 - उपचार (मास्किंग)

फिर से, खोज और उपचार . के माध्यम से खोज कार्यों के दौरान डेटा मास्किंग या विलोपन किया जा सकता है डार्क डेटा डिस्कवरी विज़ार्ड में विकल्प। हालांकि, अगर आप केवल पहचानी गई जानकारी की जांच करना चाहते हैं और बाद में उसे ठीक करना चाहते हैं, तो .darkdata से मास्किंग जॉब चलाएं। खोज में बनाई गई फ़ाइल (चरण 2) इस तरह से:

.darkdata . पर राइट क्लिक करें फ़ाइल, माउस के ऊपर इस रूप में चलाएँ , और IRI उपचारात्मक कार्य . पर क्लिक करें . एक बार कार्य चलने के बाद, उपचारित डेटा लक्ष्य डेटाबेस में दिखाई देना चाहिए।

स्थानीय मोंगो सर्वर तक पहुंचने के लिए वर्कबेंच कमांड प्रॉम्प्ट का उपयोग करके एक छोटे से मोंगोडीबी डेटाबेस संग्रह के पहले और बाद में दिखाने वाला एक उदाहरण यहां दिया गया है:

निष्कर्ष

इस लेख में हमने आईआरआई डार्कशील्ड में कई सर्च मैचर्स का उपयोग करके मोंगो डेटाबेस, कैसेंड्रा कीस्पेस और इलास्टिक्स खोज क्लस्टर में असंरचित डेटा तक पहुंचने के लिए नई आईआरआई क्षमता का प्रदर्शन किया। आप जेनरेट किए गए .darkdata . की जांच कर सकते हैं खोज परिणामों को देखने के लिए मॉडल जो पाए गए और उनका उपचार किया गया, और अद्यतन तालिका/संग्रह देखने के लिए अपने डेटाबेस की जांच करें।

  1. यदि PII आपके MongoDB, Cassandra, Elasticsearch संग्रह में बाइनरी ऑब्जेक्ट में एम्बेड किया गया है, तो हम DarkShield खोज/मास्क संचालन, और उनके पुनः आयात के लिए स्टैंडअलोन फ़ाइलों के लिए उनके निष्कर्षण को स्वचालित करने में मदद कर सकते हैं।
  2. IRI वर्कबेंच IDE, जिसे Eclipse™ पर बनाया गया है,  सभी फ़ील्डशील्ड, डार्कशील्ड, और संबंधित डेटा मास्किंग — और व्यापक डेटा प्रबंधन क्षमताओं — को IRI वोरासिटी प्लैटफ़ॉर्म में आगे बढ़ाता है।
  3. URL कनेक्शन रजिस्ट्री का उपयोग डार्कशील्ड सर्च/मास्क और CoSort/SortCL (Voracity) ETL ऑपरेशंस में उपयोग किए जाने वाले URL-आधारित डेटा स्रोतों को कॉन्फ़िगर करने और सहेजने के लिए किया जाता है; उदा., HDFS, काफ्का, S3 बकेट, MongoDB, S/FTP। यह रजिस्ट्री रिलेशनल डेटाबेस स्रोतों के लिए आईआरआई वर्कबेंच में डेटा कनेक्शन रजिस्ट्री के समान है, लेकिन समान नहीं है, जहां ओडीबीसी डीएसएन दोनों कनेक्शनों का लाभ उठाने वाले जॉब विजार्ड्स के लाभ के लिए संबंधित जेडीबीसी कनेक्शन प्रोफाइल से जुड़े हैं।
  4. सर्च मैचर एक डेटा क्लास के बीच एक जुड़ाव है , जिसका उपयोग पीआईआई को खोजने और वर्गीकृत करने के लिए खोज पद्धति को परिभाषित करने के लिए किया जाता है, और एक डेटा नियम जो संग्रह या तालिका में पाए जाने वाले डेटा वर्ग के किसी भी उदाहरण पर लागू होगा। इसके अतिरिक्त, खोज मिलानकर्ता आपको फ़िल्टर को परिभाषित करने की अनुमति देते हैं जिनका उपयोग खोज के दायरे को कम करने के लिए किया जा सकता है। यह मोंगो संग्रह, कैसेंड्रा टेबल और इलास्टिक्स खोज इंडेक्स में विशेष रूप से उपयोगी है क्योंकि कुंजी नाम पीआईआई का संकेत हो सकता है जो कि संबंधित मूल्य में संग्रहीत है।

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. क्या एग्रीगेशन फ्रेमवर्क मोंगो में प्रक्षेपण के क्रम में फ़ील्ड प्राप्त करना संभव है?

  2. Mongoengine:ConnectionError:आपने एक डिफ़ॉल्ट कनेक्शन परिभाषित नहीं किया है

  3. MongoDB:बिना शर्त अपडेट?

  4. MongoDB नेस्टेड सरणी में फ़ील्ड अपडेट कर रहा है

  5. Mongodb में एक कुंजी के आधार पर डुप्लिकेट कैसे निकालें?