.
Master & Derived role
בפוסט זה נלמד על שני סוג Role-ים מאוד חשובים שנקראים Master Role ו Derived Role.
מה נעשה אם אנחנו רוצים לתת את אותם הרשאות לשלושה עובדים אבל שכל עובד יוכל להשתמש בהרשאות רק בקבוצה שהוא נמצא בה?
האם ניצור שלושה Single Role שאותו דבר אך רק הOrganization Level בשם division יהיה שונה בכל אחד מהם ונביא אותם לכל אחד מהעבודים ?
זה יכול לעבוד, אבל מה יקרה אם אחרי כמה זמן אנחנו נרצה להוסיף עוד איזו הרשאה לRole-ים האלה שיצרנו?
עכשיו אנחנו צריכים לעבור אחד אחד על השלושה Role-ים האלה שיצרנו ולשנות אותם בהתאם, מציק אבל אפשרי,אבל כשאנחנו מדברים על 20 Role-ים זה כבר מתחילה להיות לא טוב.
בדיוק בשביל זה אנחנו משתמשים בMaster & Derived Roles.
בסיטואציה שלנו אנחנו ניצור Role אחד שהוא יהיה המאסטר בתוכו יהיו את כל ההרשאות שאנחנו רוצים אבל הOrganization Level יהיה ריק.
ואז ניצור שלושה Derived Role שהם ירשו מהמאסטר את ההרשאות, ובהם אנחנו נגדיר את הOrganization Level בהתאם למה שאנחנו רוצים.
עכשיו יצרנו לנו את השלושה Role-ים ואם בעתיד אנחנו נרצה להוסיף או לשנות משהו אז נוכל לעשות את זה פעם אחת בMaster Role וזה ישתנה בכל הDerived Role.
עכשיו שהסברנו את הרעיון בכללי נראה איך עושים את זה פרקטי במערכת.
Master Role
יצירת Master Role זהה כמעט לגמרי ליצירת Role רגיל רק שאנחנו לא מגדירים את הOrganization Leve שאנחנו רוצים שיהיה שונה.
(אם אינך יודע איך ליצור Role יש הסבר מפורט בקישור הזה)
נכנס לטרנזקציה PFCG ונתן שם מתאים לRole
ולאחר מכן נלחץ על הכפתור
לאחר שהבאנו תיאור מתאים לRole נעבור ללשונית הMenu ונוסיף טרנזקציה על ידי לחיצה על כפתור ההוספה
אני הוספתי את טרנזקציה VA03
לאחר מכן נעבור ללשונית הAuthorizations ונלחץ על כפתור העפרון
בחלון שיפתח נגדיר את הOrganizational level בהתאם למה שאנחנו רוצים
אני רוצה שרק השדה של הקבוצה יהיה שונה אז אותה אני אשאיר רק .
לאחר מכן נגדיר את כל הAuthorization value field בהתאם והתוצאה הסופית אמורה להראות ככה:
שהחיווי האדום נוצר לנו עקב הDivision שנשאר ריק.
לאחר מכן נשמור ונלחץ על כפתור הGenerate
ואז יקפוץ לנו החלון הזה :
שאומר שחסר לנו Organizational level שזה בסדר כי אנחנו רוצים את זה אז נלחץ על Generate.
ועכשיו
יצרנו לנו Master Role
Derived Role
גם יצירת Derived Role מתחילה כמו יצירת Role רגיל
נכנס לPFCG נתן שם Role ונלחץ על כפתור הSingle Role
ואחרי שנתנו תיאור לRole נרשום באזור הבאה את השם של הMaster Role שלנו
ואחרי שרשמנו נשמור וזה אמור להראות כך:
עכשיו קשרנו בין הDerived Role לMaster Role,ואם נעבור ללשונית הMenu נוכל לראות שיש לנו את הטרנזקציה ששמנו בMaster Role.
ועכשיו לפי מה שהסברנו בהתחלה אם נכנס למסך הAuthorization data אמור להיות לנו בדיוק מה שהיה בMaster Role (הכל ירוק ורק חסר לנו הDivision)
בא נכנס למסך על ידי לחיצה על כפתור העפרון במסך הAuthorization.
והמסך שקבלנו נראה ככה:
ההגדרות בכלל לא מסונכרנות עם הMaster Role
!!!
אל דאגה זה לא שעשינו משהו לא נכון,זה אמור להיות ככה.
מה שקורה כאן בעצם זה שהDerived Role ירש את Authorization Object אבל הוא לא מסונכרן עם הMaster.
כדי לסנכרן נצטרך לחזור לMaster Role ונראה שנוסף לנו כפתור במסך הAuthorization data
כפתור זה עושה Generate לDerived Role של אותו הMaster Role (או במילים אחרונות מסנכרן בניהם)
אז עכשיו נלחץ עליו ויבוא לנו המסך הבא
שאומר לנו איזה הרשאות אנחנו צריכים שיהיה לנו כדי לעשות את הפעולה הזאת
נלחץ על הוי ונעבור לDerived Role כדי לראות את התוצאה .
וכמו שרצינו רק שדה הDivision שלנו חסר
חשוב לשים לב שכל פעם שנשנה את הMaster Role נצטרך ללחוץ על כפתור הסנכרון כדי שהDerived Role ישתנו גם,
וכל פעם שניצור Derived Role חדש נצטרך ללחוץ על הכפתור.
וככה יוצרים Master & Derived Role.