सुरक्षा डेटाबेस प्रशासकों के लिए सर्वोपरि है जो अनधिकृत बाहरी लोगों और उनके अधिकारियों से अधिक होने का प्रयास करने वाले अंदरूनी बाहरी लोगों के प्राइमिंग आंखों से महत्वपूर्ण व्यावसायिक डेटा के अपने गीगाबाइट की रक्षा करना चाहते हैं। सभी रिलेशनल डेटाबेस प्रबंधन प्रणालियां इन खतरों को कम करने के लिए डिज़ाइन की गई कुछ प्रकार की आंतरिक सुरक्षा तंत्र प्रदान करती हैं। वे ओरेकल और माइक्रोसॉफ्ट एसक्यूएल सर्वर जैसे उन्नत रिलेशनल डेटाबेस द्वारा समर्थित जटिल उपयोगकर्ता / भूमिका संरचना के लिए माइक्रोसॉफ्ट एक्सेस द्वारा प्रदान की गई सरल पासवर्ड सुरक्षा से हैं। यह आलेख संरचित क्वेरी भाषा (या SQL ) को लागू करने वाले सभी डेटाबेसों के लिए सामान्य सुरक्षा तंत्र पर केंद्रित है। साथ में, हम डेटा एक्सेस नियंत्रण को मजबूत करने और आपके डेटा की सुरक्षा सुनिश्चित करने की प्रक्रिया के माध्यम से चलेंगे।
उपयोगकर्ता
सर्वर-आधारित डेटाबेस सभी उपयोगकर्ता ऑपरेटिंग सिस्टम में उपयोग किए जाने वाले उपयोगकर्ता अवधारणा का समर्थन करते हैं। यदि आप Microsoft Windows NT और Windows 2000 में पाए गए उपयोगकर्ता / समूह पदानुक्रम से परिचित हैं, तो आप पाएंगे कि SQL सर्वर और ओरेकल द्वारा समर्थित उपयोगकर्ता / भूमिका समूह बहुत समान हैं।
यह अत्यधिक अनुशंसा की जाती है कि आप प्रत्येक डेटाबेस के लिए अलग-अलग डेटाबेस उपयोगकर्ता खाते बनाएं जो आपके डेटाबेस तक पहुंच पाएंगे। उपयोगकर्ताओं के बीच खातों को साझा करना तकनीकी रूप से संभव है या प्रत्येक डेटाबेस के लिए केवल एक उपयोगकर्ता खाते का उपयोग करें, जिसे आपके डेटाबेस तक पहुंचने की आवश्यकता है, लेकिन मैं इस अभ्यास को दो कारणों से दृढ़ता से हतोत्साहित करता हूं। सबसे पहले, यह अलग-अलग उत्तरदायित्व को खत्म कर देगा-यदि कोई उपयोगकर्ता आपके डेटाबेस में बदलाव करता है (आइए खुद को $ 5,000 बढ़ाकर बताएं), तो आप इसे ऑडिट लॉग के उपयोग के माध्यम से किसी विशिष्ट व्यक्ति को वापस ढूंढने में सक्षम नहीं होंगे। इसके अलावा, यदि कोई विशिष्ट उपयोगकर्ता आपके संगठन को छोड़ देता है और आप डेटाबेस से अपनी पहुंच को हटाना चाहते हैं, तो आपको उस पासवर्ड को बदलने के लिए मजबूर होना होगा जो सभी उपयोगकर्ता भरोसा करते हैं।
उपयोगकर्ता खातों को बनाने के तरीके प्लेटफ़ॉर्म से प्लेटफ़ॉर्म तक भिन्न होते हैं और आपको सटीक प्रक्रिया के लिए अपने डीबीएमएस-विशिष्ट दस्तावेज़ों से परामर्श करना होगा। माइक्रोसॉफ्ट एसक्यूएल सर्वर उपयोगकर्ताओं को sp_adduser संग्रहीत प्रक्रिया के उपयोग की जांच करनी चाहिए। ओरेकल डेटाबेस प्रशासक CREATE USER कमांड को उपयोगी पाएंगे। आप वैकल्पिक प्रमाणीकरण योजनाओं की जांच भी कर सकते हैं। उदाहरण के लिए, माइक्रोसॉफ्ट एसक्यूएल सर्वर विंडोज एनटी एकीकृत सुरक्षा के उपयोग का समर्थन करता है। इस योजना के तहत, उपयोगकर्ताओं को उनके विंडोज एनटी उपयोगकर्ता खातों द्वारा डेटाबेस में पहचाना जाता है और डेटाबेस तक पहुंचने के लिए अतिरिक्त उपयोगकर्ता आईडी और पासवर्ड दर्ज करने की आवश्यकता नहीं होती है। यह दृष्टिकोण डेटाबेस प्रशासकों के बीच बेहद लोकप्रिय है क्योंकि यह खाता प्रबंधन के बोझ को नेटवर्क प्रशासन कर्मचारियों को बदल देता है और यह अंतिम उपयोगकर्ता को एकल साइन-ऑन की सुविधा प्रदान करता है।
भूमिकाएँ
यदि आप उपयोगकर्ताओं की एक छोटी संख्या वाले वातावरण में हैं, तो आप शायद पाएंगे कि उपयोगकर्ता खाते बनाना और उन्हें सीधे अनुमतियां देना आपकी आवश्यकताओं के लिए पर्याप्त है। हालांकि, यदि आपके पास बड़ी संख्या में उपयोगकर्ता हैं, तो आप खातों को बनाए रखने और उचित अनुमतियों के बोझ से अभिभूत होंगे। इस बोझ को कम करने के लिए, संबंधपरक डेटाबेस भूमिकाओं की धारणा का समर्थन करते हैं। डेटाबेस भूमिकाएं विंडोज एनटी समूहों के समान ही काम करती हैं। उपयोगकर्ता खाते भूमिका (ओं) को आवंटित किए जाते हैं और अनुमतियों को व्यक्तिगत उपयोगकर्ता खातों की बजाय पूरी तरह से भूमिका के लिए आवंटित किया जाता है। उदाहरण के लिए, हम एक डीबीए भूमिका बना सकते हैं और फिर हमारे प्रशासनिक कर्मचारियों के उपयोगकर्ता खातों को इस भूमिका में जोड़ सकते हैं। एक बार ऐसा करने के बाद, हम भूमिका के लिए अनुमति निर्दिष्ट करके सभी मौजूदा (और भविष्य) प्रशासकों को एक विशिष्ट अनुमति असाइन कर सकते हैं। एक बार फिर, भूमिकाएं बनाने की प्रक्रिया प्लेटफ़ॉर्म से प्लेटफ़ॉर्म तक भिन्न होती है। एमएस एसक्यूएल सर्वर प्रशासकों को sp_addrole संग्रहीत प्रक्रिया की जांच करनी चाहिए जबकि ओरेकल डीबीए को CREATE ROLE वाक्यविन्यास का उपयोग करना चाहिए।
अनुदान अनुमतियां
अब जब हमने उपयोगकर्ताओं को हमारे डेटाबेस में जोड़ा है, तो समय पर अनुमति जोड़कर सुरक्षा को मजबूत करना शुरू करने का समय है। हमारा पहला कदम हमारे उपयोगकर्ताओं को उपयुक्त डेटाबेस अनुमतियां प्रदान करना होगा। हम SQL अनुदान कथन के उपयोग के माध्यम से इसे पूरा करेंगे।
कथन का वाक्यविन्यास यहां दिया गया है:
अनुदान <अनुमतियाँ>
[चालू <टेबल>]
<उपयोगकर्ता / भूमिका> के लिए
[अनुदान विकल्प के साथ]
अब, आइए इस कथन को लाइन-बाय-लाइन देखें। पहली पंक्ति, अनुदान <अनुमतियाँ>, हमें प्रदान की जाने वाली विशिष्ट तालिका अनुमतियां निर्दिष्ट करने की अनुमति देती है। ये या तो टेबल-स्तरीय अनुमतियां हो सकती हैं (जैसे चयन, इन्सर्ट, अद्यतन और हटाएं) या डेटाबेस अनुमतियां (जैसे तालिका बनाएं, वैकल्पिक डेटा और अनुदान)। एक ही अनुदान में एक से अधिक अनुमति दी जा सकती है, लेकिन तालिका-स्तर अनुमतियां और डेटाबेस-स्तरीय अनुमतियों को एक ही कथन में जोड़ा नहीं जा सकता है।
दूसरी पंक्ति, चालू