SQL ನಲ್ಲಿ ಬಳಕೆದಾರರು ಮತ್ತು ಪಾತ್ರಗಳಿಗೆ ಪ್ರವೇಶ ನಿಯಂತ್ರಣಗಳು

ಅನಧಿಕೃತ ಹೊರಗಿನವರು ಮತ್ತು ಅವರ ಅಧಿಕಾರವನ್ನು ಮೀರಿ ಪ್ರಯತ್ನಿಸುವ ಒಳಗಿನವರ ಗೂಢಾಚಾರಿಕೆಯ ಕಣ್ಣುಗಳಿಂದ ತಮ್ಮ ಗಿಗಾಬೈಟ್ಗಳ ಪ್ರಮುಖ ವ್ಯಾಪಾರ ಡೇಟಾವನ್ನು ರಕ್ಷಿಸಲು ಡೇಟಾಬೇಸ್ ಆಡಳಿತಗಾರರಿಗೆ ಭದ್ರತೆ ಅತ್ಯುತ್ಕೃಷ್ಟವಾಗಿದೆ. ಎಲ್ಲಾ ಬೆದರಿಕೆ ಡೇಟಾಬೇಸ್ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಗಳು ಈ ರೀತಿಯ ಬೆದರಿಕೆಗಳನ್ನು ಕಡಿಮೆಮಾಡಲು ವಿನ್ಯಾಸಗೊಳಿಸಿದ ಸ್ವಾಭಾವಿಕ ಭದ್ರತಾ ಯಾಂತ್ರಿಕ ವ್ಯವಸ್ಥೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಒರಾಕಲ್ ಮತ್ತು ಮೈಕ್ರೋಸಾಫ್ಟ್ SQL ಸರ್ವರ್ನಂತಹ ಮುಂದುವರಿದ ರಿಲೇಷನಲ್ ಡಾಟಾಬೇಸ್ಗಳಿಂದ ಬೆಂಬಲಿಸಲ್ಪಟ್ಟ ಸಂಕೀರ್ಣ ಬಳಕೆದಾರ / ಪಾತ್ರ ರಚನೆಗೆ ಮೈಕ್ರೋಸಾಫ್ಟ್ ಪ್ರವೇಶದಿಂದ ಒದಗಿಸಲಾದ ಸರಳವಾದ ಪಾಸ್ವರ್ಡ್ ರಕ್ಷಣೆನಿಂದ ಅವುಗಳು ಇರುತ್ತವೆ. ಈ ಲೇಖನವು ರಚನಾತ್ಮಕ ಪ್ರಶ್ನೆ ಭಾಷೆ (ಅಥವಾ SQL ) ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಎಲ್ಲಾ ಡೇಟಾಬೇಸ್ಗಳಿಗೆ ಸಾಮಾನ್ಯವಾಗಿರುವ ಭದ್ರತಾ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಕೇಂದ್ರೀಕರಿಸುತ್ತದೆ. ಒಟ್ಟಿಗೆ, ನಾವು ಡೇಟಾ ಪ್ರವೇಶ ನಿಯಂತ್ರಣಗಳನ್ನು ಬಲಪಡಿಸುವ ಪ್ರಕ್ರಿಯೆಯ ಮೂಲಕ ನಡೆಯುತ್ತೇವೆ ಮತ್ತು ನಿಮ್ಮ ಡೇಟಾದ ಸುರಕ್ಷತೆಯನ್ನು ಖಾತ್ರಿಪಡಿಸುತ್ತೇವೆ.

ಬಳಕೆದಾರರು

ಸರ್ವರ್ ಆಧಾರಿತ ಡೇಟಾಬೇಸ್ಗಳು ಎಲ್ಲಾ ಕಂಪ್ಯೂಟರ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂಗಳಲ್ಲಿ ಬಳಸಿದಂತೆ ಬಳಕೆದಾರ ಪರಿಕಲ್ಪನೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ. ಮೈಕ್ರೋಸಾಫ್ಟ್ ವಿಂಡೋಸ್ ಎನ್ಟಿ ಮತ್ತು ವಿಂಡೋಸ್ 2000 ನಲ್ಲಿ ಕಂಡುಬರುವ ಬಳಕೆದಾರ / ಗುಂಪಿನ ಶ್ರೇಣಿಯನ್ನು ನಿಮಗೆ ತಿಳಿದಿದ್ದರೆ, SQL ಸರ್ವರ್ ಮತ್ತು ಒರಾಕಲ್ ಬೆಂಬಲಿಸುವ ಬಳಕೆದಾರ / ಪಾತ್ರ ಗುಂಪುಗಳು ಬಹಳ ಹೋಲುತ್ತವೆ ಎಂದು ನೀವು ಕಾಣುತ್ತೀರಿ.

ನಿಮ್ಮ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಪ್ರವೇಶಿಸುವ ಪ್ರತಿಯೊಬ್ಬ ವ್ಯಕ್ತಿಗೂ ನೀವು ವೈಯಕ್ತಿಕ ಡೇಟಾಬೇಸ್ ಬಳಕೆದಾರ ಖಾತೆಗಳನ್ನು ರಚಿಸುವಂತೆ ಸೂಚಿಸಲಾಗುತ್ತದೆ. ಬಳಕೆದಾರರ ನಡುವೆ ಖಾತೆಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ತಾಂತ್ರಿಕವಾಗಿ ಸಾಧ್ಯವಿದೆ ಅಥವಾ ನಿಮ್ಮ ಡೇಟಾಬೇಸ್ ಪ್ರವೇಶಿಸಲು ಅಗತ್ಯವಿರುವ ಪ್ರತಿಯೊಬ್ಬ ಬಳಕೆದಾರರಿಗೆ ಒಂದು ಬಳಕೆದಾರ ಖಾತೆಯನ್ನು ಬಳಸಿ, ಆದರೆ ನಾನು ಈ ಅಭ್ಯಾಸವನ್ನು ಎರಡು ಕಾರಣಗಳಿಗಾಗಿ ಬಲವಾಗಿ ನಿರುತ್ಸಾಹಗೊಳಿಸುತ್ತೇನೆ. ಮೊದಲನೆಯದು, ಒಬ್ಬ ವ್ಯಕ್ತಿಯು ನಿಮ್ಮ ಡೇಟಾಬೇಸ್ಗೆ ಬದಲಾಯಿಸಿದರೆ (ಸ್ವತಃ $ 5,000 ಹೆಚ್ಚಳ ನೀಡುವ ಮೂಲಕ ಹೇಳುವುದಾದರೆ) ವೈಯಕ್ತಿಕ ಹೊಣೆಗಾರಿಕೆಯನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ, ಆಡಿಟ್ ಲಾಗ್ಗಳ ಬಳಕೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನಿರ್ದಿಷ್ಟ ವ್ಯಕ್ತಿಗೆ ಅದನ್ನು ನೀವು ಪತ್ತೆಹಚ್ಚಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಇದಲ್ಲದೆ, ಒಂದು ನಿರ್ದಿಷ್ಟ ಬಳಕೆದಾರರು ನಿಮ್ಮ ಸಂಸ್ಥೆಯಿಂದ ಹೊರಹೋದರೆ ಮತ್ತು ಡೇಟಾಬೇಸ್ನಿಂದ ಅವನ ಅಥವಾ ಅವಳ ಪ್ರವೇಶವನ್ನು ತೆಗೆದುಹಾಕಲು ನೀವು ಬಯಸಿದರೆ, ಎಲ್ಲಾ ಬಳಕೆದಾರರು ಅವಲಂಬಿಸಿರುವ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನೀವು ಬದಲಾಯಿಸಬೇಕಾಗುತ್ತದೆ.

ಬಳಕೆದಾರರ ಖಾತೆಗಳನ್ನು ರಚಿಸುವ ವಿಧಾನಗಳು ವೇದಿಕೆಯಿಂದ ವೇದಿಕೆಗೆ ಬದಲಾಗುತ್ತವೆ ಮತ್ತು ನಿಖರವಾದ ವಿಧಾನಕ್ಕಾಗಿ ನಿಮ್ಮ ಡಿಬಿಎಂಎಸ್-ನಿರ್ದಿಷ್ಟ ದಾಖಲಾತಿಯನ್ನು ನೀವು ಸಂಪರ್ಕಿಸಬೇಕು. ಮೈಕ್ರೋಸಾಫ್ಟ್ SQL ಸರ್ವರ್ ಬಳಕೆದಾರರು sp_adduser ಸಂಗ್ರಹಿಸಿದ ವಿಧಾನದ ಬಳಕೆಯನ್ನು ತನಿಖೆ ಮಾಡಬೇಕು. ಒರಾಕಲ್ ಡೇಟಾಬೇಸ್ ನಿರ್ವಾಹಕರು ಸೃಷ್ಟಿಕರ್ತ ಆಜ್ಞೆಯನ್ನು ಉಪಯುಕ್ತವೆಂದು ಕಂಡುಕೊಳ್ಳುತ್ತಾರೆ. ನೀವು ಪರ್ಯಾಯ ದೃಢೀಕರಣ ಯೋಜನೆಗಳನ್ನು ತನಿಖೆ ಮಾಡಲು ಬಯಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ಮೈಕ್ರೋಸಾಫ್ಟ್ SQL ಸರ್ವರ್ ವಿಂಡೋಸ್ ಎನ್ಟಿ ಇಂಟಿಗ್ರೇಟೆಡ್ ಸೆಕ್ಯುರಿಟಿ ಬಳಕೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಈ ಯೋಜನೆಯಡಿ, ಬಳಕೆದಾರರು ತಮ್ಮ ವಿಂಡೋಸ್ ಎನ್ಟಿ ಬಳಕೆದಾರ ಖಾತೆಗಳ ಮೂಲಕ ಡೇಟಾಬೇಸ್ಗೆ ಗುರುತಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಡೇಟಾಬೇಸ್ ಪ್ರವೇಶಿಸಲು ಹೆಚ್ಚುವರಿ ಬಳಕೆದಾರ ID ಮತ್ತು ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸುವ ಅಗತ್ಯವಿಲ್ಲ. ಈ ವಿಧಾನವು ಡೇಟಾಬೇಸ್ ಆಡಳಿತಗಾರರಲ್ಲಿ ಅತ್ಯಂತ ಜನಪ್ರಿಯವಾಗಿದೆ ಏಕೆಂದರೆ ಇದು ಖಾತೆ ನಿರ್ವಹಣೆಯ ಭಾರವನ್ನು ನೆಟ್ವರ್ಕ್ ಆಡಳಿತ ಸಿಬ್ಬಂದಿಗೆ ವರ್ಗಾಯಿಸುತ್ತದೆ ಮತ್ತು ಇದು ಅಂತಿಮ ಬಳಕೆದಾರರಿಗೆ ಏಕೈಕ ಸೈನ್-ಆನ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ.

ಪಾತ್ರಗಳು

ನೀವು ಒಂದು ಸಣ್ಣ ಸಂಖ್ಯೆಯ ಬಳಕೆದಾರರೊಂದಿಗೆ ಪರಿಸರದಲ್ಲಿದ್ದರೆ, ಬಳಕೆದಾರ ಖಾತೆಗಳನ್ನು ರಚಿಸುವುದು ಮತ್ತು ಅವರಿಗೆ ನೇರವಾಗಿ ಅನುಮತಿಗಳನ್ನು ನಿಯೋಜಿಸುವುದು ನಿಮ್ಮ ಅವಶ್ಯಕತೆಗಳಿಗೆ ಸಾಕಾಗುತ್ತದೆ ಎಂದು ನೀವು ಬಹುಶಃ ಕಂಡುಕೊಳ್ಳಬಹುದು. ಹೇಗಾದರೂ, ನೀವು ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಬಳಕೆದಾರರನ್ನು ಹೊಂದಿದ್ದರೆ, ನೀವು ನಿರ್ವಹಿಸುವ ಖಾತೆಗಳ ಹೊರೆ ಮತ್ತು ಸೂಕ್ತವಾದ ಅನುಮತಿಗಳಿಂದಾಗಿ ನೀವು ಹೆಚ್ಚು ಖುಷಿಯಾಗುತ್ತೀರಿ. ಈ ಹೊರೆ ಸರಾಗಗೊಳಿಸುವ, ಸಂಬಂಧಿತ ದತ್ತಸಂಚಯಗಳನ್ನು ಪಾತ್ರಗಳ ಕಲ್ಪನೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಡೇಟಾಬೇಸ್ ಪಾತ್ರಗಳು ವಿಂಡೋಸ್ ಎನ್ಟಿ ಗುಂಪುಗಳಿಗೆ ಹೋಲುತ್ತವೆ. ಬಳಕೆದಾರರ ಖಾತೆಗಳನ್ನು ಪಾತ್ರಕ್ಕೆ (ಗಳು) ನಿಗದಿಪಡಿಸಲಾಗಿದೆ ಮತ್ತು ಅನುಮತಿಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಬಳಕೆದಾರ ಖಾತೆಗಳಿಗಿಂತ ಹೆಚ್ಚಾಗಿ ಪಾತ್ರಕ್ಕೆ ನಿಯೋಜಿಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ನಾವು ಒಂದು ಡಿಬಿಎ ಪಾತ್ರವನ್ನು ರಚಿಸಬಹುದು ಮತ್ತು ನಂತರ ಈ ಪಾತ್ರಕ್ಕೆ ನಮ್ಮ ಆಡಳಿತಾತ್ಮಕ ಸಿಬ್ಬಂದಿಗಳ ಬಳಕೆದಾರ ಖಾತೆಗಳನ್ನು ಸೇರಿಸಬಹುದು. ಇದನ್ನು ನಾವು ಒಮ್ಮೆ ಮಾಡಿದರೆ, ಎಲ್ಲ ಪ್ರಸ್ತುತ (ಮತ್ತು ಭವಿಷ್ಯದ) ನಿರ್ವಾಹಕರ ಪಾತ್ರಕ್ಕೆ ಅನುಮತಿಯನ್ನು ನಿಯೋಜಿಸುವ ಮೂಲಕ ನಿರ್ದಿಷ್ಟ ಅನುಮತಿಯನ್ನು ನಾವು ನಿಯೋಜಿಸಬಹುದು. ಮತ್ತೊಮ್ಮೆ, ಪಾತ್ರಗಳನ್ನು ರಚಿಸುವ ಕಾರ್ಯವಿಧಾನಗಳು ವೇದಿಕೆಯಿಂದ ವೇದಿಕೆಗೆ ಬದಲಾಗುತ್ತದೆ. MS SQL ಸರ್ವರ್ ನಿರ್ವಾಹಕರು sp_addrole ಸಂಗ್ರಹಿಸಿದ ಕಾರ್ಯವಿಧಾನವನ್ನು ತನಿಖೆ ಮಾಡಬೇಕು, ಆದರೆ ಒರಾಕಲ್ DBA ಗಳು ರಚನೆ ವಾಕ್ಯ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಬಳಸಬೇಕು.

ಅನುಮತಿಗಳನ್ನು ನೀಡಲಾಗುತ್ತಿದೆ

ಈಗ ನಾವು ನಮ್ಮ ಡೇಟಾಬೇಸ್ಗೆ ಬಳಕೆದಾರರನ್ನು ಸೇರಿಸಿದ್ದೇವೆ, ಇದು ಅನುಮತಿಗಳನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಭದ್ರತೆಯನ್ನು ಬಲಪಡಿಸುವ ಸಮಯ. ನಮ್ಮ ಬಳಕೆದಾರರಿಗೆ ಸೂಕ್ತ ಡೇಟಾಬೇಸ್ ಅನುಮತಿಗಳನ್ನು ನೀಡಲು ನಮ್ಮ ಮೊದಲ ಹೆಜ್ಜೆ ಇರುತ್ತದೆ. SQL GRANT ಹೇಳಿಕೆಯ ಬಳಕೆಯ ಮೂಲಕ ನಾವು ಅದನ್ನು ಸಾಧಿಸುತ್ತೇವೆ.

ಹೇಳಿಕೆ ಸಿಂಟ್ಯಾಕ್ಸ್ ಇಲ್ಲಿದೆ:

GRANT <ಅನುಮತಿಗಳು>
[ಆನ್ <ಟೇಬಲ್>]
<ಬಳಕೆದಾರ / ಪಾತ್ರ> ಗೆ
[ಗ್ರಾಂಟ್ ಆಯ್ಕೆಗಳೊಂದಿಗೆ]

ಈಗ, ಈ ಹೇಳಿಕೆ ಲೈನ್-ಬೈ-ಲೈನ್ ನೋಡೋಣ. ಮೊದಲ ಸಾಲು, GRANT <ಅನುಮತಿಗಳು>, ನಾವು ನೀಡುವ ನಿರ್ದಿಷ್ಟ ಟೇಬಲ್ ಅನುಮತಿಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ನಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಇವು ಟೇಬಲ್-ಮಟ್ಟದ ಅನುಮತಿಗಳಾಗಬಹುದು (ಉದಾಹರಣೆಗೆ, ಆಯ್ಕೆ, ಇನ್ಸರ್ಟ್, ನವೀಕರಿಸಿ ಮತ್ತು ಅಳಿಸಿಬಿಡು) ಅಥವಾ ಡೇಟಾಬೇಸ್ ಅನುಮತಿಗಳನ್ನು (ಉದಾಹರಣೆಗೆ ರಚನೆ ಟ್ಯಾಬ್, ಆಲ್ಟರ್ ಡೇಟಾಬೇಸ್ ಮತ್ತು GRANT). ಏಕೈಕ GRANT ಹೇಳಿಕೆಯಲ್ಲಿ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಅನುಮತಿಯನ್ನು ನೀಡಬಹುದು, ಆದರೆ ಟೇಬಲ್-ಮಟ್ಟದ ಅನುಮತಿಗಳು ಮತ್ತು ಡೇಟಾಬೇಸ್ ಮಟ್ಟದ ಅನುಮತಿಗಳನ್ನು ಒಂದೇ ಹೇಳಿಕೆಯಲ್ಲಿ ಸಂಯೋಜಿಸಬಾರದು.

ಟೇಬಲ್-ಹಂತದ ಅನುಮತಿಗಳಿಗಾಗಿ ಪೀಡಿತ ಕೋಷ್ಟಕವನ್ನು ಸೂಚಿಸಲು

ನಲ್ಲಿ, ಎರಡನೇ ಸಾಲಿನಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ. ನಾವು ಡೇಟಾಬೇಸ್ ಮಟ್ಟದ ಅನುಮತಿಗಳನ್ನು ನೀಡುತ್ತಿದ್ದರೆ ಈ ಸಾಲನ್ನು ಬಿಟ್ಟುಬಿಡಲಾಗಿದೆ. ಮೂರನೇ ಸಾಲಿನಲ್ಲಿ ಬಳಕೆದಾರರಿಗೆ ಅಥವಾ ಪಾತ್ರವನ್ನು ಅನುಮತಿ ನೀಡಲಾಗಿದೆ.

ಅಂತಿಮವಾಗಿ, GRANT ಆಯ್ಕೆಯನ್ನು ಹೊಂದಿರುವ ನಾಲ್ಕನೇ ಸಾಲು ಐಚ್ಛಿಕವಾಗಿರುತ್ತದೆ. ಈ ಸಾಲಿನ ಹೇಳಿಕೆಯಲ್ಲಿ ಸೇರ್ಪಡೆಗೊಂಡಿದ್ದರೆ, ಬಳಕೆದಾರರು ಈ ರೀತಿಯ ಅನುಮತಿಗಳನ್ನು ಇತರ ಬಳಕೆದಾರರಿಗೆ ನೀಡುವಂತೆ ಅನುಮತಿಸಲಾಗಿದೆ. ಅನುಮತಿಗಳನ್ನು ಒಂದು ಪಾತ್ರಕ್ಕೆ ನಿಯೋಜಿಸಿದಾಗ ಗ್ರಾಂಟ್ ಆಯ್ಕೆಯೊಂದಿಗೆ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗುವುದಿಲ್ಲ ಎಂಬುದನ್ನು ಗಮನಿಸಿ.

ಉದಾಹರಣೆಗಳು

ಕೆಲವು ಉದಾಹರಣೆಗಳನ್ನು ನೋಡೋಣ. ನಮ್ಮ ಮೊದಲ ಸನ್ನಿವೇಶದಲ್ಲಿ, ಗ್ರಾಹಕರ ದಾಖಲೆಗಳನ್ನು ಸೇರಿಸುವ ಮತ್ತು ನಿರ್ವಹಿಸುವ 42 ಡೇಟಾ ಎಂಟ್ರಿ ಆಪರೇಟರ್ಗಳ ಗುಂಪನ್ನು ನಾವು ಇತ್ತೀಚೆಗೆ ನೇಮಿಸಿಕೊಂಡಿದ್ದೇವೆ. ಗ್ರಾಹಕರ ಟೇಬಲ್ನಲ್ಲಿ ಮಾಹಿತಿಯನ್ನು ಪ್ರವೇಶಿಸಲು, ಈ ಮಾಹಿತಿಯನ್ನು ಮಾರ್ಪಡಿಸಲು ಮತ್ತು ಮೇಜಿನ ಮೇಲೆ ಹೊಸ ದಾಖಲೆಗಳನ್ನು ಸೇರಿಸಲು ಅವರಿಗೆ ಅಗತ್ಯವಿರುತ್ತದೆ. ಡೇಟಾಬೇಸ್ನಿಂದ ದಾಖಲೆಯನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಅಳಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಮೊದಲಿಗೆ, ನಾವು ಪ್ರತಿ ಆಪರೇಟರ್ಗೆ ಬಳಕೆದಾರರ ಖಾತೆಗಳನ್ನು ರಚಿಸಬೇಕು ಮತ್ತು ಅವುಗಳನ್ನು ಎಲ್ಲಾ ಹೊಸ ಡೇಟಾ, ಡೇಟಾಎಂಟ್ರಿಗೆ ಸೇರಿಸಬೇಕು. ಮುಂದೆ, ನಾವು ಸೂಕ್ತವಾದ ಅನುಮತಿಗಳನ್ನು ನೀಡಲು ಕೆಳಗಿನ SQL ಹೇಳಿಕೆಯನ್ನು ಬಳಸಬೇಕು:

ಆಯ್ಕೆಮಾಡಿ, ಸೇರಿಸಿ, ನವೀಕರಿಸಿ
ಗ್ರಾಹಕರಿಗೆ
ಡೇಟಾಎಂಟ್ರಿಗೆ

ಮತ್ತು ಅದು ಎಲ್ಲಕ್ಕೂ ಇದೆ! ಈಗ ನಾವು ಡೇಟಾಬೇಸ್-ಹಂತದ ಅನುಮತಿಗಳನ್ನು ನಿಯೋಜಿಸುತ್ತಿರುವ ಸಂದರ್ಭದಲ್ಲಿ ಪರಿಶೀಲಿಸೋಣ. ನಮ್ಮ ಡೇಟಾಬೇಸ್ಗೆ ಹೊಸ ಕೋಷ್ಟಕಗಳನ್ನು ಸೇರಿಸಲು ನಾವು ಡಿಬಿಎ ಪಾತ್ರದ ಸದಸ್ಯರನ್ನು ಅನುಮತಿಸಲು ಬಯಸುತ್ತೇವೆ. ಇದಲ್ಲದೆ, ಇತರ ಬಳಕೆದಾರರಿಗೆ ಅದೇ ರೀತಿ ಮಾಡಲು ಅನುಮತಿ ನೀಡಬೇಕೆಂದು ನಾವು ಬಯಸುತ್ತೇವೆ. ಇಲ್ಲಿ SQL ಹೇಳಿಕೆ ಇಲ್ಲಿದೆ:

GRANT ಟೇಬಲ್ ರಚಿಸಿ
ಡಿಬಿಎಗೆ
ಗ್ರಾಂಟ್ ಆಯ್ಕೆಗಳೊಂದಿಗೆ

ನಮ್ಮ ಡಿಬಿಎಗಳು ಇತರ ಬಳಕೆದಾರರಿಗೆ ಈ ಅನುಮತಿಯನ್ನು ನಿಯೋಜಿಸಬಹುದೆಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ನಾವು ಗ್ರಾಂಟ್ ಆಯ್ಕೆ ಲೈನ್ ಅನ್ನು ಸೇರಿಸಿದ್ದೇವೆ ಎಂದು ಗಮನಿಸಿ.

ಅನುಮತಿಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತಿದೆ

ಒಮ್ಮೆ ನಾವು ಅನುಮತಿಗಳನ್ನು ನೀಡಿದ್ದೇವೆ, ನಂತರದ ದಿನಗಳಲ್ಲಿ ಅವುಗಳನ್ನು ಹಿಂತೆಗೆದುಕೊಳ್ಳುವ ಅವಶ್ಯಕತೆಯಿದೆ. ಅದೃಷ್ಟವಶಾತ್, ಹಿಂದೆ ನೀಡಿರುವ ಅನುಮತಿಗಳನ್ನು ತೆಗೆದುಹಾಕಲು SQL ನಮಗೆ REVOKE ಆದೇಶವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಸಿಂಟ್ಯಾಕ್ಸ್ ಇಲ್ಲಿದೆ:

<ಅನುಮತಿಗಳು> ರಿವೊಕ್ ಮಾಡಿ [ಗಾಗಿ ಆಯ್ಕೆಯು]

ನಲ್ಲಿ
<ಬಳಕೆದಾರ / ಪಾತ್ರ> ದಿಂದ

ಈ ಆದೇಶದ ಸಿಂಟ್ಯಾಕ್ಸ್ GRANT ಆಜ್ಞೆಯಂತೆಯೇ ಇರುತ್ತದೆ ಎಂದು ನೀವು ಗಮನಿಸಬಹುದು. ಮಾತ್ರ ವ್ಯತ್ಯಾಸವೆಂದರೆ ಆಜ್ಞೆಯ ಕೊನೆಯಲ್ಲಿ ಬದಲಾಗಿ REVOKE ಆಜ್ಞಾ ಸಾಲಿನ ಮೇಲೆ ಗ್ರಾಂಟ್ ಆಯ್ಕೆಯನ್ನು ಸೂಚಿಸಲಾಗಿದೆ. ಉದಾಹರಣೆಯಾಗಿ, ಗ್ರಾಹಕರ ಡೇಟಾಬೇಸ್ನಿಂದ ದಾಖಲೆಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಮೇರಿ ಹಿಂದೆ ಅನುಮತಿ ನೀಡಿದ್ದನ್ನು ನಾವು ಹಿಂಪಡೆಯಲು ಬಯಸುತ್ತೇವೆ. ನಾವು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಬಳಸುತ್ತೇವೆ:

ರಿವೊಕ್ ಅಳಿಸಿ
ಗ್ರಾಹಕರಿಗೆ
ಮೇರಿ ರಿಂದ

ಮತ್ತು ಅದು ಎಲ್ಲಕ್ಕೂ ಇದೆ! ಮೈಕ್ರೋಸಾಫ್ಟ್ SQL ಸರ್ವರ್ನಿಂದ ಬೆಂಬಲಿತವಾದ ಒಂದು ಹೆಚ್ಚುವರಿ ಯಾಂತ್ರಿಕತೆ ಇದೆ, ಇದು ಮೌಲ್ಯದ ಪ್ರಸ್ತಾಪವನ್ನು -ದಿನಕ ಆದೇಶ. ಪ್ರಸ್ತುತ ಅಥವಾ ಭವಿಷ್ಯದ ಪಾತ್ರದ ಸದಸ್ಯತ್ವದ ಮೂಲಕ ಅವರು ಹೊಂದಿರದಂತಹ ಬಳಕೆದಾರರಿಗೆ ಅನುಮತಿಯನ್ನು ನಿರಾಕರಿಸಲು ಈ ಆಜ್ಞೆಯನ್ನು ಬಳಸಬಹುದು. ಸಿಂಟ್ಯಾಕ್ಸ್ ಇಲ್ಲಿದೆ:

DENY <ಅನುಮತಿಗಳು>

ನಲ್ಲಿ
<ಬಳಕೆದಾರ / ಪಾತ್ರಕ್ಕೆ

ಉದಾಹರಣೆಗಳು

ನಮ್ಮ ಹಿಂದಿನ ಉದಾಹರಣೆಯಲ್ಲಿ ಹಿಂದಿರುಗುತ್ತಿದ್ದೇವೆ, ಮ್ಯಾನೇಜರ್ ವ್ಯವಸ್ಥಾಪಕರ ಪಾತ್ರದಲ್ಲಿ ಮೇರಿ ಕೂಡ ಗ್ರಾಹಕರ ಮೇಜಿನ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದ್ದಾರೆಂದು ಊಹಿಸೋಣ. ಟೇಬಲ್ಗೆ ತನ್ನ ಪ್ರವೇಶವನ್ನು ನಿರಾಕರಿಸಲು ಹಿಂದಿನ REVOKE ಹೇಳಿಕೆ ಸಾಕಾಗುವುದಿಲ್ಲ. ತನ್ನ ಬಳಕೆದಾರ ಖಾತೆಯನ್ನು ಗುರಿಯಾಗಿಟ್ಟುಕೊಂಡು GRANT ಹೇಳಿಕೆಯ ಮೂಲಕ ಅನುಮತಿಸಿದ ಅನುಮತಿಯನ್ನು ಅದು ತೆಗೆದುಹಾಕುತ್ತದೆ, ಆದರೆ ವ್ಯವಸ್ಥಾಪಕರ ಪಾತ್ರದಲ್ಲಿ ತನ್ನ ಸದಸ್ಯತ್ವದ ಮೂಲಕ ಪಡೆದ ಅನುಮತಿಗಳ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ. ಹೇಗಾದರೂ, ನಾವು ಒಂದು ದೈನಂದಿನ ಹೇಳಿಕೆಯನ್ನು ಬಳಸಿದರೆ ಅದು ಅವರ ಪರವಾನಗಿಯನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ. ಆಜ್ಞೆಯು ಇಲ್ಲಿದೆ:

ದೈನಂದಿನ ಅಳಿಸಿ
ಗ್ರಾಹಕರಿಗೆ
ಮೇರಿ ಗೆ

DENY ಆಜ್ಞೆಯು ಮೂಲಭೂತವಾಗಿ ಡೇಟಾಬೇಸ್ ಪ್ರವೇಶ ನಿಯಂತ್ರಣಗಳಲ್ಲಿ "ನಕಾರಾತ್ಮಕ ಅನುಮತಿಯನ್ನು" ರಚಿಸುತ್ತದೆ. ಗ್ರಾಹಕರ ಟೇಬಲ್ನಿಂದ ಸಾಲುಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಮೇರಿ ಅನುಮತಿ ನೀಡಲು ನಾವು ನಿರ್ಧರಿಸಿದಲ್ಲಿ, ನಾವು ಕೇವಲ GRANT ಕಮಾಂಡ್ ಅನ್ನು ಬಳಸಲಾಗುವುದಿಲ್ಲ. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಆಜ್ಞೆಯನ್ನು ತಕ್ಷಣವೇ DENY ನಿಂದ ಆಜ್ಞೆಗೊಳಿಸಲಾಗುವುದು. ಬದಲಿಗೆ, ಋಣಾತ್ಮಕ ಅನುಮತಿ ನಮೂದನ್ನು ಈ ಕೆಳಗಿನಂತೆ ತೆಗೆದುಹಾಕಲು ನಾವು ಮೊದಲು REVOKE ಆಜ್ಞೆಯನ್ನು ಬಳಸುತ್ತೇವೆ:

ರಿವೊಕ್ ಅಳಿಸಿ
ಗ್ರಾಹಕರಿಗೆ
ಮೇರಿ ರಿಂದ

ಸಕಾರಾತ್ಮಕ ಅನುಮತಿಯನ್ನು ತೆಗೆದುಹಾಕಲು ಬಳಸಿದಂತೆಯೇ ಈ ಆಜ್ಞೆಯು ಒಂದೇ ಎಂದು ನೀವು ಗಮನಿಸಬಹುದು. DENY ಮತ್ತು GRANT ಆದೇಶಗಳು ಎರಡೂ ರೀತಿಯಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತವೆ ಎಂದು ನೆನಪಿಡಿ * mdash; ಡೇಟಾಬೇಸ್ ಪ್ರವೇಶ ನಿಯಂತ್ರಣ ಕಾರ್ಯವಿಧಾನದಲ್ಲಿ ಇಬ್ಬರೂ ಅನುಮತಿಗಳನ್ನು (ಧನಾತ್ಮಕ ಅಥವಾ ಋಣಾತ್ಮಕ) ರಚಿಸುತ್ತಾರೆ. ನಿರ್ದಿಷ್ಟ ಬಳಕೆದಾರರಿಗೆ ಎಲ್ಲಾ ಧನಾತ್ಮಕ ಮತ್ತು ಋಣಾತ್ಮಕ ಅನುಮತಿಗಳನ್ನು REVOKE ಆಜ್ಞೆಯು ತೆಗೆದುಹಾಕುತ್ತದೆ. ಈ ಆಜ್ಞೆಯನ್ನು ನೀಡಿದಾಗ, ಆ ಅನುಮತಿಯನ್ನು ಹೊಂದಿರುವ ಪಾತ್ರವೊಂದರಲ್ಲಿ ಮೇರಿ ಮೇರೆಯಿಂದ ಸಾಲುಗಳನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಪರ್ಯಾಯವಾಗಿ, DELETE ಅನುಮತಿಯನ್ನು ನೇರವಾಗಿ ತನ್ನ ಖಾತೆಗೆ ಒದಗಿಸಲು GRANT ಆಜ್ಞೆಯನ್ನು ನೀಡಬಹುದು.

ಈ ಲೇಖನದ ಅವಧಿಯಲ್ಲಿ, ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಕ್ವೆರಿ ಲಾಂಗ್ವೇಜ್ನಿಂದ ಬೆಂಬಲಿತವಾದ ಪ್ರವೇಶ ನಿಯಂತ್ರಣ ಕಾರ್ಯವಿಧಾನಗಳ ಬಗ್ಗೆ ನೀವು ಉತ್ತಮವಾದ ಒಪ್ಪಂದವನ್ನು ಕಲಿತಿದ್ದೀರಿ. ಈ ಪರಿಚಯವು ನಿಮಗೆ ಉತ್ತಮ ಆರಂಭವನ್ನು ಒದಗಿಸಬೇಕು, ಆದರೆ ನಿಮ್ಮ ಸಿಸ್ಟಮ್ ಬೆಂಬಲಿಸಿದ ಸುಧಾರಿತ ಭದ್ರತಾ ಕ್ರಮಗಳನ್ನು ತಿಳಿಯಲು ನಿಮ್ಮ ಡಿಬಿಎಂಎಸ್ ದಾಖಲೆಯನ್ನು ಉಲ್ಲೇಖಿಸಲು ನಾನು ನಿಮ್ಮನ್ನು ಪ್ರೋತ್ಸಾಹಿಸುತ್ತೇವೆ. ನಿರ್ದಿಷ್ಟವಾದ ಕಾಲಮ್ಗಳಲ್ಲಿ ಅನುಮತಿಗಳನ್ನು ನೀಡುವಂತಹ ಹೆಚ್ಚಿನ ಡೇಟಾಬೇಸ್ಗಳು ಹೆಚ್ಚಿನ ಸುಧಾರಿತ ಪ್ರವೇಶ ನಿಯಂತ್ರಣ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಬೆಂಬಲಿಸುವುದನ್ನು ನೀವು ಕಾಣುತ್ತೀರಿ.