שפת בקרת נתונים (DCL)

מענק, לדחות הרשאות מסד נתונים DENY

שפת בקרת הנתונים (DCL) היא קבוצת משנה של שפת השאילתות המובנית (SQL) ומאפשרת למנהלי מסד נתונים להגדיר את גישת האבטחה למסדי נתונים יחסיים. היא משלימה את שפת Data Definition Language (DDL), המשמשת להוספה ולמחיקה של אובייקטי מסד נתונים, ואת Data Manipulation Language (DML) המשמשת לאחזור, הוספה ושינוי של תוכן מסד נתונים.

DCL היא הפשוטה ביותר של קבוצות המשנה , שכן היא מורכבת משלוש פקודות בלבד: GRANT, REVOKE, ו- DENY. משולבים, אלה שלוש פקודות לספק למנהלים את הגמישות להגדיר ולהסיר הרשאות מסד נתונים בצורה מפורטת ביותר.

הוספת הרשאות עם פקודה מענק

הפקודה GRANT משמשת את מנהלי המערכת להוספת הרשאות חדשות למשתמש מסד נתונים . יש לו תחביר פשוט מאוד, מוגדר כדלקמן:

מענק [זכות] על [אובייקט] ל- [משתמש] [עם אפשרות מענק]

הנה סקירה על כל אחד מהפרמטרים שאתה יכול לספק עם פקודה זו:

לדוגמה, נניח שברצונך להעניק למשתמש ג'ו את היכולת לאחזר מידע מטבלת העובדים במסד נתונים הנקרא HR. באפשרותך להשתמש בפקודת SQL הבאה:

מענק בחר על HR.employees לג 'ו

ג 'ו עכשיו יש את היכולת לאחזר מידע מהשולחן עובדים. עם זאת, הוא לא יוכל להעניק למשתמשים אחרים הרשאה לאחזר מידע מאותו טבלה, משום שלא הוספת את הסעיף אופציה עם מענק בהצהרה המענק.

ביטול גישה למסד הנתונים

הפקודה REVOKE משמשת להסרת גישת מסד נתונים ממשתמש שהוענק לו בעבר. התחביר עבור פקודה זו מוגדר כדלקמן:

ביטול [אפשרות מענק עבור] [אישור] ב [אובייקט] מ [משתמש] [CASCADE]

הנה את rundown על הפרמטרים של הפקודה REVOKE:

לדוגמה, הפקודה הבאה מבטלת את ההרשאה שניתנה לג'ו בדוגמה הקודמת:

סרב לבחור על HR.employees מ ג 'ו

במפורש מונעת גישה למסד הנתונים

הפקודה DENY משמשת כדי למנוע במפורש ממשתמש לקבל הרשאה מסוימת. דבר זה מועיל כאשר משתמש הוא חבר בתפקיד או בקבוצה המוענקת להרשאה, וברצונך למנוע ממשתמש זה לירושה את ההרשאה על-ידי יצירת חריגה. התחביר עבור פקודה זו הוא כדלקמן:

DENY [הרשאה] על [Object] ל- [User]

הפרמטרים עבור הפקודה DENY זהים לאלו המשמשים את הפקודה GRANT.

לדוגמה, אם ברצונכם להבטיח שמתיו לעולם לא יקבל את היכולת למחוק מידע מטבלת העובדים, הוציאו את הפקודה הבאה:

DENY DELETE על HR.employees כדי מתיו