לדלג לתוכן

בקרת גישה מבוססת תפקידים

מתוך ויקיפדיה, האנציקלופדיה החופשית

באבטחת מחשבים, בקרת גישה מבוססת תפקידים (Role-based access control) [1] [2] או RBAC היא גישה לניהול הרשאות משתמשים. גישה זו יכולה ליישם בקרת גישה מנדטורית (MAC) או בקרת גישה דיסקרטית (DAC).

בגישת RBAC אנחנו יוצרים תפקידים ועבור כל תפקיד אנו מגדירים את ההרשאות המתאימות לו. לאחר מכן ניתן לשייך כל משתמש במערכת לתפקיד מסוים (או יותר), וכך כל משתמש מקבל את ההרשאות הרצויות לו.

יתרונות של RBAC לעומת מודלים אחרים

[עריכת קוד מקור | עריכה]

ל-RBAC יש מספר יתרונות בולטים:

  1. ב-RBAC ניתן להגדיר בקלות את ההרשאות עבור כל משתמש. אם יש הרשאות דומות להרבה משתמשים, אפשר ליצור תפקיד שיאגד את כל ההרשאות האלו, וכך לשייך את המשתמשים הללו לתפקיד הזה במקום להגדיר עבור כל משתמש את ההרשאות האלו.
  2. ניתן לשנות את ההרשאות של מספר משתמשים במהירות, על ידי שינוי של ההרשאות של התפקיד שלהם.
  3. ניתן להגדיר תפקידים והרשאות ספציפיים שמותאמים לצרכים של כל ארגון. לדוגמה, במערכת מידע עבור אוניברסיטה במקום להגדיר הרשאות "קריאה" או "כתיבה" לקבצים מסוימים, אפשר ליצור הרשאת "רישום לקורס" או "הזנת ציון".

מודלים שונים של RBAC

[עריכת קוד מקור | עריכה]

ל-RBAC ישנם מספר מודלים שמרחיבים את המודל הבסיסי[3].

מודל זה הוא המודל הבסיסי והפשוט ביותר. הוא פועל בצורה הבסיסית שתיארנו (יצירת תפקידים, הגדרת הרשאות עבורם ושיוך משתמשים לתפקידים).

דוגמה להיררכיית תפקידים במודל

במודל הזה התפקידים מוגדרים במבנה היררכי, כך שלכל תפקיד יש את כל ההרשאות שיש לתפקידים שמתחתיו בהיררכיה.

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

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

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

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

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

הערות שוליים

[עריכת קוד מקור | עריכה]
  1. ^ Ferraiolo, D.F.; Kuhn, D.R. (באוקטובר 1992). "Role-Based Access Control" (PDF). 15th National Computer Security Conference: 554–563. {{cite journal}}: (עזרה)
  2. ^ Sandhu, R., Coyne, E.J., Feinstein, H.L. and Youman, C.E. (באוגוסט 1996). "Role-Based Access Control Models" (PDF). IEEE Computer. 29 (2): 38–47. doi:10.1109/2.485845. {{cite journal}}: (עזרה)תחזוקה - ציטוט: multiple names: authors list (link)
  3. ^ Stallings, William and Brown, Lawrie, Computer Security: Principles and Practice, USA: Prentice Hall Press, 2014, עמ' 127-133