אַקסעס קאָנטראָלס פֿאַר וסערס און ראָלעס אין סקל

זיכערהייַט איז העכסט באַפרייַען צו דייטאַבייס אַדמיניסטראַטאָרס וואס ווילן צו באַשיצן זייער גיגאבייט פון וויטאַל געשעפט דאַטן פון די פּירז אויגן פון אַנאָטערייזד אַוציידערז און ינסידערס טריינג צו יקסיד זייער אויטאָריטעט. אַלע ריליישאַנאַל דייטאַבייס פאַרוואַלטונג סיסטעמען צושטעלן עטלעכע סאָרט פון ינטרינסיק זיכערהייַט מעקאַניזאַמז דיזיינד צו מינאַמייז די טרעץ. זיי קייט פון די פּשוט פּאַראָל שוץ געפֿינט דורך מיקראָסאָפט אַקסעס צו די קאָמפּלעקס באַניצער / ראָלע סטרוקטור געשטיצט דורך אַוואַנסירטע ריליישאַנאַל דאַטאַבייסיז ווי אָראַקלע און מיקראָסאָפט סקל סערווירער. דעם אַרטיקל פאָוקיסיז אויף די זיכערהייַט מעקאַניזאַמז פּראָסט צו אַלע דאַטאַבייסיז וואָס ינסטרומענט די סטרוקטורעד קווערי שפּראַך (אָדער סקל ). צוזאַמען, מיר גיין דורך דעם פּראָצעס פון פֿאַרשטאַרקונג דאַטן אַקסעס קאָנטראָלס און די זיכערקייַט פון דיין דאַטן.

ניצערס

סערווירער-באזירט דאַטאַבייסיז אַלע שטיצן אַ באַניצער באַגריף ענלעך צו אַז געניצט אין קאָמפּיוטער אַפּערייטינג סיסטעמס. אויב איר 'רע באַקאַנט מיט דער באַניצער / גרופּע כייעראַרקי געפונען אין מיקראָסאָפט ווינדאָוז נט און ווינדאָוז 2000, איר וועט געפֿינען אַז די באַניצער / ראָלל גרופּינגז געשטיצט דורך סקל סערווירער און אָראַקלע זענען זייער ענלעך.

עס איז העכסט רעקאַמענדיד צו מאַכן יחיד דאַטאַבאַסע באַניצער אַקאַונץ פֿאַר יעדער מענטש וואָס וועט זיין אַקסעסינג דיין דאַטאַבאַסע. עס איז טעקניקלי מעגלעך צו טיילן אַקאַונץ צווישן ניצערס אָדער פשוט ניצן איין באַניצער חשבון פֿאַר יעדער טיפּ פון באַניצער וואס דאַרף צוטריט דיין דאַטאַבאַסע, אָבער איך שטארק דיסקערידזש דעם פיר פֿאַר צוויי סיבות. ערשטער, עס וועט עלימינירן יחיד אַקאַונטאַביליטי-אויב אַ באַניצער מאכט אַ טוישן צו דיין דאַטאַבאַסע (לאָזן 'ס זאָגן דורך געבן זיך אַ $ 5,000 כאַפּן), איר וועט נישט קענען צו שפּור עס צוריק צו אַ ספּעציפיש מענטש דורך די נוצן פון קאָנטראָלירן לאָגס. דערצו, אויב אַ ספּעציפיש באַניצער בלעטער דיין אָרגאַניזאַציע און איר ווילט צו באַזייַטיקן זייַן אָדער איר צוטריט פון די דאַטאַבאַסע, איר וועט זיין געצווונגען צו טוישן דעם פּאַראָל אַז אַלע ניצערס פאַרלאָזנ זיך.

די מעטהאָדס פֿאַר שאַפֿן באַניצער אַקאַונץ בייַטן פון פּלאַטפאָרמע צו פּלאַטפאָרמע און איר וועט האָבן צו באַראַטנ דיין דבמס-ספּעציפיש דאַקיומענטיישאַן פֿאַר די פּינטלעך פּראָצעדור. מיקראָסאָפט סקל סערווירער ניצערס זאָל ויספאָרשן די נוצן פון די ספּ_אַדדערוסער סטאָרד פּראָצעדור. אָראַקלע דייטאַבייס אַדמיניסטראַטאָרס וועט געפֿינען די CREATE USER באַפֿעל נוצלעך. איר אויך וויל צו פאָרשן אנדער ברירה אָטענטאַקיישאַן סקימז. למשל, מיקראָסאָפט סקל סערווירער שטיצט די נוצן פון Windows NT Integrated Security. אונטער דעם סכעמע, ניצערס זענען יידענאַפייד צו די דייטאַבייס דורך זייער ווינדאָוז נט באַניצער אַקאַונץ און זענען נישט פארלאנגט צו אַרייַן אַ נאָך באַניצער שייַן און פּאַראָל צו צוטריט די דאַטאַבאַסע. דעם צוגאַנג איז גאָר פאָלקס צווישן דייטאַבייס אַדמיניסטראַטאָרס ווייַל עס שיפט די מאַסע פון ​​חשבון פאַרוואַלטונג צו די נעץ אַדמיניסטראַציע שטעקן און עס גיט די יז פון אַ איין צייכן-אויף צו דער סוף באַניצער.

ראָלעס

אויב איר זענען אין אַ סוויווע מיט אַ קליין נומער פון ניצערס, איר וועט מסתּמא געפינען אַז שאפן באַניצער אַקאַונץ און אַסיינינג פּערמישאַנז גלייַך צו זיי איז גענוג פֿאַר דיין באדערפענישן. אָבער, אויב איר האָבן אַ פּלאַץ פון ניצערס, איר וועט רובֿ מסתּמא זיין אָוווערכוועלמד דורך די מאַסע פון ​​מיינינג אַקאַונץ און געהעריק פּערמישאַנז. צו יאַסע דעם מאַסע, ריליישאַנאַל דאַטאַבייסיז שטיצן די געדאנק פון ראָלעס. דאַטאַבאַסע ראָללס פונקציאָנירן גלייַך צו ווינדאָוז נט גרופּעס. באַניצער אַקאַונץ זענען אַסיינד צו ראָלע (s) און פּערמישאַנז זענען דעמאָלט אַסיינד צו די ראָלע ווי אַ גאַנץ ווי די יחיד באַניצער אַקאַונץ. פֿאַר בייַשפּיל, מיר קענען שאַפֿן אַ דבאַ ראָלע און דעריבער לייגן די באַניצער אַקאַונץ פון אונדזער אַדמיניסטראַטיווע שטעקן צו דעם ראָלע. אַמאָל מיר האָבן געטאן דעם, מיר קענען געבן אַ ספּעציפיש דערלויבעניש צו אַלע די פאָרשטעלן (און צוקונפֿט) אַדמיניסטראַטאָרס דורך פשוט באַשטימען די דערלויבעניש צו די ראָלע. אַמאָל ווידער, די פּראָוסידזשערז פֿאַר שאפן ראָלעס זענען אַנדערש פון פּלאַטפאָרמע צו פּלאַטפאָרמע. מס סקל סערווירער אַדמיניסטראַטאָרס זאָל ויספאָרשן די ספּ_אַדדראָולי סטאָרד פּראַסידזשער בשעת אָראַקקלע דבאַסס זאָל נוצן די קריייץ ראָלע סינטאַקס.

Granting Permissions

איצט אַז מיר האָבן צוגעלייגט ניצערס צו אונדזער דאַטאַבאַסע, עס ס צייַט צו אָנהייבן פֿאַרשטאַרקונג זיכערהייַט דורך צולייגן פּערמישאַנז. אונדזער ערשטער שריט וועט זיין צו שענקען צונעמען דייטאַבייס פּערמישאַנז צו אונדזער וסערס. מיר וועלן דורכפירן דעם דורך די נוצן פון די סקל גראַנט סטאַטעמענט.

דאָ ס סינטאַקס פון די דערקלערונג:

שענקען <דערלויבעניש>
[ON

]
צו <באַניצער / ראָלע>
[מיט גראַנט אָפּציע]

איצט, לאָמיר נעמען אַ קוק אין דעם סטאַטעמענט שורה-דורך-שורה. דער ערשטער שורה, גראַנט <דערלויבט>, אַלאַוז אונדז צו ספּעציפיצירן די ספּעציפיש טיש פּערמישאַנז מיר זענען גראַנטינג. די קען זיין אָדער טיש מדרגה פּערמישאַנז (אַזאַ ווי סעלעקטירן, ינסערט, דערהייַנטיקן און דיליט) אָדער דייטאַבייס פּערמישאַנז (אַזאַ ווי קרעאַט טיש, אַלטער דאַטאַבאַסע און שענקען). מער ווי איין דערלויבעניש קענען זיין געגעבן אין אַ איין גראַנט ויסזאָגונג, אָבער טיש-מדרגה פּערמישאַנז און דייטאַבייס-מדרגה פּערמישאַנז קען נישט זיין קאַמביינד אין אַ איין ויסזאָגונג.

די רגע שורה, אויף <טיש>, איז געניצט צו ספּעציפיצירן די אַפעקטיד טיש פֿאַר טיש מדרגה פּערמישאַנז. דעם שורה איז אוועקגענומען אויב מיר זענען די דאַטאַבאַסע גלייַך פּערמישאַנז. די דריט שורה באשטייט דער באַניצער אָדער ראָלע וואָס איז געגעבן פּערמישאַנז.

צום סוף, דער פערט שורה, מיט גראַנט אָפּציע, איז אַפּשאַנאַל. אויב דאָס שורה איז אַרייַנגערעכנט אין די דערקלערונג, דער באַניצער אַפעקטיד איז אויך דערלויבט צו שענקען די זעלבע פּערמישאַנז צו אנדערע ניצערס. באַמערקונג אַז די מיט GRANT אָפּציע קענען ניט זיין ספּעסאַפייד ווען די דערלויבעניש זענען אַסיינד צו אַ ראָלע.

ביישפילן

זאל ס קוק בייַ אַ ביסל ביישפילן. אין אונדזער ערשטער סצענאַר, מיר האָבן לעצטנס כייערד אַ גרופּע פון ​​42 דאַטן אָפּערייטערז וואָס וועט זיין אַדינג און מיינטיינינג קונה רעקאָרדס. זיי דאַרפֿן צו קענען צוטריט אינפֿאָרמאַציע אין די קוסטאָמערס טיש, מאָדיפיצירן דעם אינפֿאָרמאַציע און לייגן נייַ רעקאָרדס צו די טיש. זיי זאָלן נישט קענען צו פאַרענדיקן אַ רעקאָרד פֿון די דאַטאַבאַסע. ערשטער, מיר זאָל שאַפֿן באַניצער אַקאַונץ פֿאַר יעדער אָפּעראַטאָר און דעריבער לייגן זיי אַלע צו אַ נייַ ראָלע, DataEntry. ווייַטער, מיר זאָל נוצן די ווייַטערדיק סקל ויסזאָגונג צו שענקען זיי די צונעמען פּערמישאַנז:

גרייט אויסקלייַבן, ינסערט, דערהייַנטיקן
ON Customers
TO DataEntry

און אַז ס אַלע עס איז צו אים! איצט לאָזן ס ונטערזוכן אַ פאַל ווו מיר זענען אַטאַטינג דאַטאַבייס מדרגה פּערמישאַנז. מיר ווילן צו געבן מיטגלידער פון די דבאַ ראָלע צו לייגן נייַע טישן צו אונדזער דאַטאַבאַסע. דערצו, מיר וועלן זיי קענען צו דערלויבן אנדערע ניצערס דערלויבן צו טאָן די זעלבע. דאָ ס דער סקל ויסזאָגונג:

GRANT CREATE TABLE
צו דבאַ
מיט גראַנט אָפּציע

באמערקט אַז מיר האָבן אַרייַנגערעכנט די מיט גראַנט אָפּציע שורה צו ענשור אַז אונדזער דבס קענען באַשטימען דעם דערלויבעניש צו אנדערע וסערס.

רימוווינג פּערמישאַנז

אַמאָל מיר האָבן געגעבן פּערמישאַנז, עס אָפט פּרוווד נייטיק צו אָפּרופן זיי בייַ אַ שפּעטער דאַטע. צומ גליק, SQL גיט אונדז מיט די REVOKE באַפֿעל צו באַזייַטיקן פריער געגעבן פּערמישאַנז. דאָ ס דער סינטאַקס:

רעוואָקע [גראַנט אָפּציע פֿאַר] <דערלויבט>
אויף <טיש>
פֿון <באַניצער / role>

איר וועט באַמערקן אַז דער סינטאַקס פון דעם באַפֿעל איז ענלעך צו דעם פון די באַפֿעלן גראַנט. דער בלויז חילוק איז אַז מיט גראַנט אָפּציע איז ספּעסאַפייד אויף די רעוואָקע באַפֿעלן שורה ווי אין די סוף פון די באַפֿעל. ווי אַ בייַשפּיל, לאָזן אונדז ימאַדזשאַן מיר ווילן צו אָפּרופן מרים ס ביז אַהער געגעבן דערלויבעניש צו באַזייַטיקן רעקאָרדס פון די קוסטאָמערס דאַטאַבאַסע. מיר'ד נוצן די פאלגענדע באַפֿעל:

REVOKE DELETE
ON Customers
פון מרים

און אַז ס אַלע עס איז צו אים! עס ס איינער נאָך מעקאַניזאַם געשטיצט דורך מייקראָסאָפֿט סקל סערווירער אַז איז ווערט מענשאַנינג-דעם געביטן פון דין. דעם באַפֿעל קענען ווערן גענוצט צו בלייבן לייקענען אַ דערלויבעניש צו אַ באַניצער וואָס זיי זאלן אַנדערש האָבן דורך אַ קראַנט אָדער צוקונפֿט ראָלע מיטגליד. דאָ ס דער סינטאַקס:

DENY <דערלויבעניש>
אויף <טיש>
צו <באַניצער / ראָלע

ביישפילן

אומגעקערט צו אונדזער פרייַערדיק בייַשפּיל, לאָזן מיר ימאַדזשאַן אַז מרים איז אויך אַ מיטגליד פון דער מאַנאַגערס ראָלע וואָס אויך האט צוטריט צו די קאַסטאַמערז טיש. די פרייַערדיק רעוואָקע סטאַטעמענט וואָלט נישט זיין גענוג צו לייקענען איר צוטריט צו די טיש. עס וואָלט באַזייַטיקן די דערלויבעניש צוגעשטעלט צו איר דורך אַ גראַנט ויסזאָגונג טאַרגאַטינג איר באַניצער חשבון, אָבער וואָלט נישט ווירקן די פּערמישאַנז פארדינט דורך איר מיטגלידערשאַפט אין די מאַנאַגערס ראָלע. אָבער, אויב מיר נוצן אַ דעני ויסזאָגונג, עס וועט פאַרשפּאַרן איר ירושה פון די דערלויבעניש. דאָ ס דער באַפֿעל:

DENY DELETE
ON Customers
צו מר

די דיני באַפֿעל איז קעסיידער קריייץ אַ "נעגאַטיוו דערלויבעניש" אין די דאַטאַבאַסע צוטריט קאָנטראָלס. אויב מיר שפּעטער באַשלאָסן צו געבן מר דערלויבעניש צו באַזייַטיקן ראָוז פון די קוסטאָמערס טיש, מיר קענען נישט פשוט ניצן די GRANT באַפֿעל. אַז באַפֿעל וואָלט זיין מיד אָווועררייטיד דורך די יגזיסטינג דעני. אַנשטאָט, מיר וואָלט ערשטער נוצן די REVOKE באַפֿעל צו באַזייַטיקן די נעגאַטיוו דערלויבעניש פּאָזיציע ווי גייט:

REVOKE DELETE
ON Customers
פון מרים

איר וועט באַמערקן אַז דעם באַפֿעל איז פּונקט די זעלבע ווי דער איינער געניצט צו באַזייַטיקן אַ positive דערלויבעניש. געדענק אַז די דעני און גראַנט באאמטע ביידע אַרבעט אין אַ ענלעך שניט * מדאַש, זיי ביידע שאַפֿן פּערמישאַנז (positive אָדער נעגאַטיוו) אין די דאַטאַבאַסע צוטריט קאָנטראָל מעקאַניזאַם. די REVOKE באַפֿעל רימוווז אַלע positive און נעגאַטיוו פּערמישאַנז פֿאַר די ספּעסאַפייד באַניצער. אַמאָל דעם באַפֿעל איז ארויס, מרים וועט קענען צו ויסמעקן ראָוז פון די טיש, אויב זי איז אַ מיטגליד פון אַ ראָלע וואָס פאַרמאַכן דעם דערלויבעניש. אַלטערנאַטיוועלי, אַ גראַנט באַפֿעל קען זיין ארויס צו צושטעלן די דערלויבעניש דערלויבעניש גלייַך צו איר חשבון.

איבער דעם גאַנג פון דעם אַרטיקל, איר האָט געלערנט אַ גוט האַנדלען וועגן די צוטריט קאָנטראָל מעקאַניזאַמז געשטיצט דורך די סטאַנדאַרד קווערי שפּראַך. דעם הקדמה זאָל צושטעלן איר מיט אַ גוט סטאַרטינג פונט, אָבער איך רעקאָמענדירן איר צו דערמאָנען דיין דבמס דאַקיומענטיישאַן צו לערנען די ינכאַנסט זיכערהייַט מיטלען געשטיצט דורך דיין סיסטעם. איר וועט געפינען אַז פילע דאַטאַבייסיז שטיצן מער אַוואַנסירטע צוטריט קאָנטראָל מעקאַניזאַמז, אַזאַ ווי גראַנטינג פּערמישאַנז אויף ספּעציפיש שפאלטן.