GRANT, REVOKE અને DENY ડેટાબેઝ પરવાનગીઓ
ડેટા કન્ટ્રોલ લેંગ્વેજ (ડીસીએલ) એ સ્ટ્રક્ચર્ડ ક્વેરી લેંગ્વેજ (એસક્યુએલ) નું સબસેટ છે અને ડેટાબેઝ એડમિનિસ્ટ્રેટર્સને સબંધિત ડેટાબેસેસની સિક્યોરિટી એક્સેસ કરવાની મંજૂરી આપે છે. તે ડેટા ડેફિનેશન લેંગ્વેજ (ડીડીએલ) નું પરિપૂર્ણતા ધરાવે છે, જે ડેટાબેઝ ઑબ્જેક્ટ્સને ઉમેરવા અને કાઢી નાખવા માટે ઉપયોગમાં લેવાય છે, અને ડેટા મેનિપ્યુલેશન લેન્ગવેજ (ડીએમએલ) ડેટાબેઝની સામગ્રીને પુનઃપ્રાપ્ત કરવા, દાખલ કરવા અને સંશોધિત કરવા માટે વપરાય છે.
એસસીએલ ઉપગણોમાં ડીસીએલ સૌથી સરળ છે, કારણ કે તેમાં માત્ર ત્રણ આદેશો છે: GRANT, REVOKE, અને DENY. સંયુક્ત, આ ત્રણ આદેશો અત્યંત દાણાદાર ફેશનમાં ડેટાબેઝ પરવાનગીઓને સેટ કરવા અને દૂર કરવાની સાનુકૂળતા સાથે સંચાલકોને પ્રદાન કરે છે.
GRANT કમાન્ડ સાથે પરવાનગીઓ ઉમેરવાનું
GRANT કમાન્ડ એ ડેટાબેઝ વપરાશકર્તાને નવી પરવાનગીઓ ઉમેરવા માટે સંચાલકો દ્વારા ઉપયોગમાં લેવાય છે. તેની પાસે ખૂબ સરળ વાક્યરચના છે, જે નીચે પ્રમાણે વ્યાખ્યાયિત છે:
GRANT [વિશેષાધિકાર] પર [ઑબ્જેક્ટ] પર [વપરાશકર્તા] [GRANT OPTION સાથે]અહીં તમે આ આદેશ સાથે દરેક પરિમાણોને સપ્લાય કરી શકો છો:
- વિશેષાધિકાર એ ક્યાંતો કીવર્ડ હોઈ શકે છે (વિવિધ પ્રકારની પરવાનગીઓ આપવા) અથવા ચોક્કસ ડેટાબેઝ પરવાનગી અથવા પરવાનગીઓનો સેટ. ઉદાહરણોમાં ડેટાબેઝ બનાવો, પસંદ કરો, શામેલ કરો, અપડેટ કરો, કાઢી નાખો, એક્ઝેક્ટ કરો અને જુઓ.
- ઑબ્જેક્ટ કોઈપણ ડેટાબેસ ઑબ્જેક્ટ હોઈ શકે છે માન્ય વિશેષાધિકાર વિકલ્પો તમે આ કલમમાં શામેલ ડેટાબેસ ઓબ્જેક્ટના પ્રકારને આધારે બદલાય છે. લાક્ષણિક રીતે, ઑબ્જેક્ટ ક્યાંતો ડેટાબેઝ, ફંક્શન, સંગ્રહિત કાર્યપ્રણાલી , કોષ્ટક અથવા દૃશ્ય હશે.
- વપરાશકર્તા કોઈપણ ડેટાબેઝ વપરાશકર્તા હોઈ શકે છે. જો તમે રોલ-આધારિત ડેટાબેઝ સિક્યુરિટીનો ઉપયોગ કરવા માગો છો, તો તમે આ ક્લોઝમાં યુઝર માટે રોલને બદલી શકો છો.
- જો તમે GRANT આદેશની અંતમાં GRANT OPTION ક્લૉગ સાથે વૈકલ્પિક સમાવિષ્ટ કરો છો, તો તમે ફક્ત સ્પષ્ટ કરેલ વપરાશકર્તાને એસક્યુએલ સ્ટેટમેન્ટમાં વ્યાખ્યાયિત પરવાનગીઓ આપ્યા નથી પણ તે વપરાશકર્તાને અન્ય ડેટાબેઝ વપરાશકર્તાઓને તે જ પરવાનગીઓ આપવા માટેની ક્ષમતા પણ આપે છે. આ કારણોસર, સંભાળ સાથે આ કલમનો ઉપયોગ કરો.
ઉદાહરણ તરીકે, ધારો કે તમે યુઝર જૉને એચઆર (HR) નામના ડેટાબેઝમાં કર્મચારીઓની કોષ્ટકમાંથી માહિતી મેળવવાની ક્ષમતા આપવા માંગો છો. તમે નીચેની SQL આદેશનો ઉપયોગ કરી શકો છો:
જૉ માટે એચઆર કર્મચારીઓને પસંદ કરોજૉ હવે કર્મચારીઓની કોષ્ટકમાંથી માહિતી પુનઃપ્રાપ્ત કરવાની ક્ષમતા ધરાવે છે. તેમ છતાં, તે અન્ય ટેબ્સની માહિતી મેળવવા માટે અન્ય વપરાશકર્તાઓને પરવાનગી આપવાની મંજૂરી આપતા નથી કારણ કે તમે GRANT નિવેદનમાં WITH GRANT OPTION ખંડનો સમાવેશ નહીં કર્યો.
ડેટાબેઝ ઍક્સેસને રદ કરી રહ્યું છે
REVOKE કમાન્ડનો ઉપયોગ પહેલાંથી આવી ઍક્સેસ આપવામાં વપરાશકર્તા પાસેથી ડેટાબેઝ એક્સેસને દૂર કરવા માટે થાય છે. આ આદેશ માટે વાક્યરચના નીચે પ્રમાણે વ્યાખ્યાયિત થયેલ છે:
REVOKE [GRANT OPTION FOR] [પરવાનગી] પર [ઑબ્જેક્ટ] [વપરાશકર્તા] [કાસ્કેડ]REVOKE આદેશ માટેનાં પેરામીટર્સ પર અહીંનો રેન્ડ્રોન છે:
- પરવાનગી ઓળખિત વપરાશકર્તામાંથી દૂર કરવા માટે ડેટાબેઝ પરવાનગીઓ સ્પષ્ટ કરે છે. આદેશ ઓળખી કાઢવામાં આવેલી મંજૂરી માટે પહેલાં આપેલી GRANT અને DENY દાવાઓને રદ કરે છે.
- ઑબ્જેક્ટ કોઈપણ ડેટાબેસ ઑબ્જેક્ટ હોઈ શકે છે માન્ય વિશેષાધિકાર વિકલ્પો તમે આ કલમમાં શામેલ ડેટાબેસ ઓબ્જેક્ટના પ્રકારને આધારે બદલાય છે. લાક્ષણિક રીતે, ઑબ્જેક્ટ ક્યાંતો ડેટાબેઝ, ફંક્શન, સંગ્રહિત કાર્યપ્રણાલી, કોષ્ટક અથવા દૃશ્ય હશે.
- વપરાશકર્તા કોઈપણ ડેટાબેઝ વપરાશકર્તા હોઈ શકે છે. જો તમે રોલ-આધારિત ડેટાબેઝ સિક્યુરિટીનો ઉપયોગ કરવા માગો છો, તો તમે આ ક્લોઝમાં યુઝર માટે રોલને બદલી શકો છો.
- કલમ માટેના GRANT વિકલ્પ અન્ય વપરાશકર્તાઓને ચોક્કસ પરવાનગી આપવા માટે સ્પષ્ટ કરેલ વપરાશકર્તાની ક્ષમતાને દૂર કરે છે. નોંધ : જો તમે REVOKE નિવેદનમાં કલમ માટે GRANT વિકલ્પને શામેલ કરો છો, તો પ્રાથમિક પરવાનગી રદ કરવામાં આવી નથી . આ કલમ માત્ર મંજૂર ક્ષમતાને રદ કરે છે.
- કાસ્કેડનો વિકલ્પ કોઈપણ વપરાશકર્તા તરફથી ઉલ્લેખિત પરવાનગીને રદ કરે છે કે જે ઉલ્લેખિત વપરાશકર્તાએ પરવાનગી આપેલ છે.
ઉદાહરણ તરીકે, નીચેનો આદેશ પાછલા ઉદાહરણમાં જૉને મંજૂરીની પરવાનગીને રદ કરે છે:
જૉ માંથી એચઆર કર્મચારીઓને પસંદ કરોસ્પષ્ટતાપૂર્વક ડેટાબેઝ ઍક્સેસનો ઇનકાર કર્યો
DENY આદેશનો ઉપયોગ વપરાશકર્તાને કોઈ ચોક્કસ મંજૂરી મેળવવાથી અટકાવવા માટે કરવામાં આવે છે. આ ઉપયોગી છે જ્યારે વપરાશકર્તા કોઈ ભૂમિકા અથવા જૂથના સભ્ય હોય કે જેને પરવાનગી આપવામાં આવે છે, અને તમે તે વ્યક્તિગત વપરાશકર્તાને અપવાદ બનાવીને પરવાનગી પ્રાપ્ત કરવાથી રોકવા માંગો છો. નીચે પ્રમાણે આ આદેશ માટે વાક્યરચના છે:
DENY [પરવાનગી] પર [ઑબ્જેક્ટ] TO [વપરાશકર્તા] DENY આદેશ માટેનાં પરિમાણો GRANT કમાન્ડ માટે ઉપયોગમાં લેવાતા હોય તે સમાન છે.
ઉદાહરણ તરીકે, જો તમે તેની ખાતરી કરવા માગો છો કે મેથ્યુ કર્મચારીઓની ટેબલમાંથી માહિતી કાઢી નાખવાની ક્ષમતા પ્રાપ્ત કરશે નહીં, તો નીચેના આદેશનો ઉપયોગ કરો: