GRANT, REVOKE आणि DENY डेटाबेस परवानग्या
डेटा कंट्रोल लँग्वेज (डीसीएल) हे स्ट्रक्चर्ड क्वेरी लैंग्वेज (एससीएल) चा उपसंच आहे आणि डेटाबेस प्रशासकांना संबंधक डाटाबेसमध्ये सुरक्षा प्रवेश संरचीत करण्याची परवानगी देतो. हे डेटा डेफिनेशन लँग्वेज (डीडीएल) ची पूर्तता करते, ज्याचा वापर डेटाबेसम ऑब्जेक्ट्स जोडणे आणि हटविण्यासाठी केला जातो, आणि डेटा मॅनिपुलेशन लँग्वेज (डीएमएल) वापरला जातो, डेटाबेसमची सामग्री मिळवणे, घालणे आणि सुधारणे.
एससीएल सबसेट्सचे डीसीएल सर्वात सोपा आहे, कारण त्यामध्ये केवळ तीन कमांड्स आहेत: GRANT, REVOKE, आणि DENY एकत्रित, हे तीन कमांड प्रशासकांना अत्यंत बारीक स्वरूपात डेटाबेस परवानग्या सेट आणि काढून टाकण्याची लवचिकता प्रदान करतात.
अनुदान आदेशासह परवानगी जोडणे
GRANT आदेश प्रशासकाद्वारे डेटाबेस वापरकर्त्यास नवीन परवानगी जोडण्यासाठी वापरले जाते. त्यात एक अत्यंत साध्या सिंटॅक्स आहे, त्याची व्याख्या खालीलप्रमाणे आहे:
GRANT [विशेषाधिकार] वर [ऑब्जेक्ट] ते [वापरकर्ता] [GRANT OPTION सह]येथे आपण या कमांडसह प्रत्येक पॅरामीटर्सची पूर्ती करु शकता.
- विशेषाधिकार एकतर कीवर्ड ALL असू शकतो (विविध परवानग्या मंजूर करणे) किंवा विशिष्ट डेटाबेस परवानगी किंवा परवानग्या संच. उदाहरणे म्हणजे डेटाबैब तयार करा, निवडा, समाविष्ट करा, अद्ययावत करा, हटवा, EXECUTE करा आणि दृश्य तयार करा.
- ऑब्जेक्ट कोणत्याही डेटाबेस ऑब्जेक्ट असू शकते वैध विशेषाधिकार पर्याय आपण या खंडात समाविष्ट केलेल्या डेटाबेस ऑब्जेक्टच्या प्रकारानुसार बदलू शकतात. थोडक्यात, ऑब्जेक्ट एकतर डेटाबेस, फंक्शन, संग्रहित प्रक्रिया , सारणी किंवा दृश्य असेल.
- वापरकर्ता कोणत्याही डेटाबेस वापरकर्ता असू शकते. आपण भूमिका-आधारित डेटाबेस सुरक्षा वापर करू इच्छित असल्यास आपण या कलमातील वापरकर्त्यासाठी भूमिका घेऊ शकता.
- आपण GRANT आज्ञेच्या शेवटी पर्यायी सह GRINT OPTION कलम समाविष्ट केल्यास, आपण निर्दिष्ट केलेल्या वापरकर्त्यास SQL विधानात परिभाषित केलेल्या परवानग्याच देऊ शकत नाही परंतु वापरकर्त्यास इतर डेटाबेस प्रयोक्त्यांना समान परवानग्या देण्याची क्षमता देखील देतो. या कारणास्तव, या खंडाची काळजी घ्या.
उदाहरणार्थ, असे मानू नका की आपण यूजर जो यांना एचआर नावाच्या एका डेटाबेसमध्ये कर्मचारी टेबलवरून माहिती पुनर्प्राप्त करण्याची क्षमता देऊ इच्छित आहात. आपण खालील SQL आदेश वापरू शकता:
जोपर्यंत एचआर कर्मचार्यांची निवड कराज्यो मध्ये आता कर्मचारी टेबल पासून माहिती पुनर्प्राप्त करण्याची क्षमता असेल. तथापि, इतर वापरकर्त्यास त्या टेबलवरून माहिती पुनर्प्राप्त करण्यास परवानगी देणार नाही कारण GRANT विधानात आपण GRANT OPTION चे कलम समाविष्ट केले नाही.
डेटाबेस प्रवेश रद्द करणे
REVOKE आदेश पूर्वी वापरलेल्या वापरकर्त्याद्वारे डेटाबेस प्रवेश काढण्यासाठी वापरला जातो. या आदेशासाठी सिंटॅक्स परिभाषित केले आहे:
REVOKE [GRANT OPTION FOR] [परवानगी] ON [ऑब्जेक्ट] FROM [वापरकर्ता] [कॅसकेड]REVOKE आदेशासाठी पॅरामिटर्सवर कमी करणे येथे आहे:
- परवानगी दिलेल्या वापरकर्त्याकडून काढण्यासाठी डेटाबेस परवानग्या निर्दिष्ट करते. आदेश आधी ओळखलेल्या परवानगीसाठी GRANT आणि DENY दावे दोन्ही पुनरावृत्ती.
- ऑब्जेक्ट कोणत्याही डेटाबेस ऑब्जेक्ट असू शकते वैध विशेषाधिकार पर्याय आपण या खंडात समाविष्ट केलेल्या डेटाबेस ऑब्जेक्टच्या प्रकारानुसार बदलू शकतात. थोडक्यात, ऑब्जेक्ट एकतर डेटाबेस, फंक्शन, संग्रहित प्रक्रिया, सारणी किंवा दृश्य असेल.
- वापरकर्ता कोणत्याही डेटाबेस वापरकर्ता असू शकते. आपण भूमिका-आधारित डेटाबेस सुरक्षा वापर करू इच्छित असल्यास आपण या कलमातील वापरकर्त्यासाठी भूमिका घेऊ शकता.
- कलम अनुदान मंजूर इतर वापरकर्त्यांना विशिष्ट परवानगी मंजूर करण्याची विशिष्ट वापरकर्त्याची क्षमता काढून टाकते टीप : जर आपण REVOKE वक्तव्यात GRANT OPTION FORLOR कलम समाविष्ट केले तर प्राथमिक परवानगी मागे घेतली जाणार नाही . या कलमानामुळे फक्त मंजूर करण्याची क्षमता निरस्त केली जाते.
- CASCADE पर्याय कोणत्याही वापरकर्त्याकडून निर्दिष्ट परवानगी रद्द करतो ज्याने निर्दिष्ट केलेल्या परवानगीने परवानगी दिली आहे.
उदाहरणार्थ, मागील आदेशामध्ये खालील आदेश ज्योसाठी दिलेल्या परवानगीला मागे घेतो:
जोसेफ मधील कर्मचा-यांवर REVOke निवडास्पष्टपणे डेटाबेस प्रवेश नाकारणे
DENY आदेश विशिष्ट उपयोगास प्राप्त करण्यापासून वापरकर्त्याला स्पष्टपणे प्रतिबंधित करण्यासाठी वापरला जातो. हे उपयोगी आहे जेव्हा एखादा वापरकर्ता भूमिका किंवा गटाचा सदस्य असतो ज्यास परवानगी दिली जाते, आणि आपण त्या वैयक्तिक वापरकर्त्यास अपवाद तयार करून परवानगी मिळविण्यापासून प्रतिबंधित करू इच्छित आहात. या आदेशासाठी सिंटॅक्स खालीलप्रमाणे आहे:
DENY [परवानगी] ON [ऑब्जेक्ट] ते [वापरकर्ता] DENY आदेशासाठी पॅरामिटर्स GRANT कमांडसाठी वापरल्या जाणार्या समान आहेत.
उदाहरणार्थ, जर आपण हे सुनिश्चित करू इच्छित असाल की मॅथ्यू कर्मचार्यांच्या टेबलवरून माहिती हटविण्याची क्षमता प्राप्त करणार नाही, तर खालील आदेश जारी करा: