यह लेख आईआरआई फील्डशील्ड प्रीमियम साइटों के लिए उपलब्ध एक डायनेमिक डेटा मास्किंग (डीडीएम) विधि का वर्णन करता है जो जेडीबीसी से जुड़े डेटाबेस में एप्लिकेशन क्वेरी को इंटरसेप्ट करने के लिए प्रॉक्सी-आधारित सिस्टम का उपयोग करता है। यह उड़ान में डेटा को छिपाने के कई तरीकों में से एक है, जिस पर फील्डशील्ड उपयोगकर्ता विचार कर सकते हैं।
अन्य आईआरआई डीडीएम विकल्पों में शामिल हैं:एपीआई-कॉल करने योग्य फील्डशील्ड फ़ंक्शंस सी/सी++/सी#, जावा या .NET प्रोग्राम्स में एम्बेडेड; रीयल-टाइम फ़ील्डशील्ड फ़ंक्शन SQL प्रक्रियाओं में एम्बेडेड होते हैं जो नकाबपोश दृश्य बनाते हैं; और, अधिकृत उपयोगकर्ताओं के लिए स्थिर रूप से नकाबपोश तालिकाओं की गतिशील अनमास्किंग।
यहां पेश किया गया प्रॉक्सी-आधारित सिस्टम SQL शार्प (SQL#) नामक कॉन्फ़िगरेशन और प्रबंधन वेब एप्लिकेशन के संयोजन के साथ एक उपयुक्त-उद्देश्य, डेटाबेस-विशिष्ट "JDBC SQL ट्रेल" ड्राइवर का उपयोग करता है। यह आरेख कार्यान्वयन से पहले और बाद में सिस्टम आर्किटेक्चर को दर्शाता है:
यह एप्लिकेशन वर्तमान में निम्नलिखित रिलेशनल डेटाबेस प्लेटफॉर्म का समर्थन करता है:
- Oracle 11g, 12c, 18/19c
- पोस्टग्रेएसक्यूएल 9.5, 9.6, 10, 11
- एमएस एसक्यूएल 2014, 2016
- एसएपी हाना 2.0
और निम्नलिखित तृतीय-पक्ष घटकों की आवश्यकता है:
- एमएस विंडोज 7,10, या सर्वर 2012 और बाद में (परीक्षण किया गया)।
- जावा JDK और JRE 1.8 या बाद के संस्करण।
- टॉमकैट 8.5 या इसके बाद के संस्करण SQL# वेब सर्वर को चलाने के लिए।
- एक आधुनिक वेब ब्राउज़र, जैसे:
- गूगल क्रोम
- मोज़िला फ़ायरफ़ॉक्स
- ऐप्पल सफारी
- माइक्रोसॉफ्ट एज
- ओरेकल या पोस्टग्रेएसक्यूएल स्टोर करने के लिए भंडार डेटाबेस के रूप में:
- SQL# उपयोगकर्ता और समूह कॉन्फ़िगरेशन
- डीबी एक्सेस और गतिविधि नियंत्रण
- डायनामिक डेटा मास्किंग नीतियां
- एसक्यूएल ऑडिट लॉग
यह कैसे काम करता है?
SQL# वेब एप्लिकेशन के भीतर, आप JDBC SQL ट्रेल ड्राइवर के माध्यम से डेटाबेस से कनेक्ट होने वाले अधिकृत उपयोगकर्ताओं को छोड़कर सभी के लिए उड़ान में कॉलम मानों को संशोधित करने के लिए डेटा मास्किंग नीतियां बनाते हैं। आपको उस ड्राइवर को प्रत्येक डेटाबेस इंस्टेंस के लिए स्थापित और कॉन्फ़िगर करने की आवश्यकता है जिसे आप सुरक्षित करना चाहते हैं।
DDM नीतियां परिभाषित करती हैं कि किन तालिकाओं और स्तंभों को मुखौटा बनाना है, और नकाबपोश मान कैसे दिखाई देंगे। एक बार सिस्टम ठीक से कॉन्फ़िगर हो जाने के बाद, ड्राइवर के माध्यम से जुड़े सभी प्रश्न मास्किंग नीति के अधीन होंगे।
उपयोगकर्ताओं को लॉग इन करने और कुछ SQL गतिविधियों को रोकने के लिए नीतियों को परिभाषित करना भी संभव है। एक पूर्ण लॉगिन और SQL गतिविधि ऑडिट लॉग तैयार किया जाता है, और SQL# में देखा जा सकता है।
ड्राइवर ब्लॉकिंग, मास्किंग या ऑडिटिंग उद्देश्यों के लिए एप्लिकेशन उपयोगकर्ताओं के बीच अंतर नहीं करता है। हालांकि, आप विशेष रूप से नामित उपयोगकर्ताओं को अधिकृत कर सकते हैं - एक ही ड्राइवर के माध्यम से डीबी के लिए वैकल्पिक एप्लिकेशन सर्वर कनेक्शन बनाना - डेटा को बिना मास्क के देखने के लिए।
मास्किंग नीति बनाना
SQL# में मास्किंग नीति बनाने के लिए, मास्किंग नीति का उपयोग करें SQL# प्रबंधन निष्पादित करें . का टैब स्क्रीन। + चुनें (जोड़ें) आइकन मास्किंग नियम सूची के दाईं ओर लेबल।
मास्किंग नियम को एक नाम और एक वैकल्पिक विवरण दें। फिर आप मास्क का प्रकार चुन सकते हैं जो Masing Regex: . से लागू होगा मास्किंग नियम जोड़ें में ड्रॉप-डाउन करें संवाद।
पहले तीन विकल्प पूर्वनिर्धारित हैं, जबकि रेगेक्स आपको एक कस्टम मास्किंग प्रारूप को परिभाषित करने की अनुमति देता है। क्लिक करें + (जोड़ें) आइकन TAB/COL . के दाईं ओर स्थित है एक या अधिक तालिका और स्तंभ संयोजन जोड़ने के लिए लेबल, यह निर्दिष्ट करने के लिए कि कौन से डेटा मान मास्क किए जाएंगे।
टेबल और कॉलम के प्रत्येक संयोजन के बाद, जोड़ें . पर क्लिक करें सूची में डालने के लिए संवाद के बीच में बटन। जब आप तालिका और स्तंभ स्थान निर्दिष्ट करना समाप्त कर लें, तो जोड़ें . पर क्लिक करें मास्किंग नियम जोड़ें में स्थानों को जोड़ने के लिए नीचे बटन संवाद।
अंत में, सहेजें . क्लिक करें मास्किंग नियम जोड़ें . के नीचे मास्किंग नियम के साथ समाप्त होने पर संवाद। इस बिंदु पर, डेटा तक पहुंच के लिए कॉन्फ़िगर किए गए सभी उपयोगकर्ता JDBC SQL ट्रेल प्रॉक्सी ड्राइवर के माध्यम से कनेक्ट होने पर नकाबपोश मान देखेंगे।
किसी उपयोगकर्ता को नकाबपोश डेटा देखने की अनुमति देने के लिए, आपको उन्हें बिना नकाबपोश उपयोगकर्ता सूची में जोड़ना होगा , जैसा कि नीचे वर्णित है।
उपयोगकर्ताओं को प्राधिकरण देना
उसी मास्किंग नीति . के अंतर्गत SQL# प्रबंधन निष्पादित करें . का टैब स्क्रीन। क्लिक करें + (जोड़ें) आइकन अनमास्क उपयोगकर्ता सूची के दाईं ओर स्थित है लेबल। यह खोज उपयोगकर्ता . प्रदर्शित करेगा डायलॉग जहां आप एक या अधिक उपयोगकर्ताओं का चयन कर सकते हैं जिनके लिए चयनित कॉलम और टेबल में क्वेरी को छिपाया नहीं जाएगा।
क्लिक करें सहेजें संवाद के निचले भाग में जब आप उपयोगकर्ताओं का चयन करना समाप्त कर लें।
DB अनुप्रयोगों से SQL# और SQL ट्रेल का उपयोग करना
इस उदाहरण में, हमारा डेटाबेस एप्लिकेशन IRI वर्कबेंच होगा, वोरैसिटी, फील्डशील्ड और अन्य IRI सॉफ़्टवेयर उत्पादों के लिए एक्लिप्स फ्रंट-एंड जॉब डिज़ाइन वातावरण।
SQL # प्रॉक्सी सर्वर और JDBC SQL ट्रेल ड्राइवर का उपयोग करके SQL नियंत्रण और डायनेमिक डेटा मास्किंग के लिए अपने अनुप्रयोगों को सक्षम करने के लिए, आपको टॉमकैट और उसके प्रॉक्सी सर्वर के माध्यम से SQL# को सक्रिय करना होगा। आपको JDBC SQL ट्रेल ड्राइवर को IRI वर्कबेंच डेटा सोर्स एक्सप्लोरर व्यू में और साथ ही DDM नीतियों को SQL# में कॉन्फ़िगर करना होगा जैसा कि ऊपर वर्णित है।
यहाँ JDBC SQL ट्रेल ड्राइवर के माध्यम से जुड़े Oracle उदाहरण का एक दृश्य है।
ध्यान दें कि सभी सामान्य डेटाबेस संचालन और IRI जॉब विजार्ड इस कनेक्शन के माध्यम से काम करना जारी रखेंगे। इसका मतलब यह भी है कि आईआरआई वर्कबेंच से किसी भी अनधिकृत गतिविधि को अवरुद्ध कर दिया जाएगा, और यहां से जुड़े डेटाबेस को जारी किए गए सभी SQL कमांड SQL# ऑडिट लॉग में रिकॉर्ड किए जाएंगे।
यह ORDERS तालिका पर एक कार्यक्षेत्र क्वेरी है जिसे SQL# में DDM के लिए नीति-कॉन्फ़िगर किया गया था:
बनाम एक अधिकृत उपयोगकर्ता द्वारा चलाई गई वही क्वेरी, जो मूल अनमास्क डेटा प्रदर्शित करती है:
इस बीच वापस SQL# एप्लिकेशन के लॉगिंग सेक्शन में, आप हमारा क्वेरी रिकॉर्ड देख सकते हैं:
आईआरआई वर्कबेंच आईपी पते से।