DCSIMG
ניהול הרשאות, משתמשים, קבוצות הרשאה וחיות אחרות - MOSS is my middle name

MOSS is my middle name

ניהול הרשאות, משתמשים, קבוצות הרשאה וחיות אחרות

בפוסט הקודם הבטחתי להתחיל לכתוב קצת על Governance - אז הנה הנושא הראשון והחשוב ביותר לדעתי - ניהול הרשאות.
נושא הקצאת הרשאות למשתמשים ולפריטי מידע הוא אחד המרכזיים ביותר בכל מערכת, בוודאי ב- SharePoint 2007, שעשה קפיצת דרך גדולה מאז גירסת 2003. הבעיה היא שמודל ההרשאות קצת מורכב ולא תמיד ברור איך בדיוק עושים מה ואיפה.
 
שתי בעיות מרכזיות אחראיות ל"ערפל הקרב" הזה לדעתי, ואני מקווה לתת להן מענה בסיסי בפוסט הזה:
1. "קבוצות" SharePoint - ארכיטקטי המוצר הוסיפו ישות בשם "Group" המהווה קבוצת הרשאות פנימית של SharePoint. הבעיה שלא מעט מתבלבלים בינן לבין קבוצות ההרשאה הרגילות של Active Directory, או שכלל לא מבינים את הצורך בהן.
2. דפי הניהול - בכדי לנהל את מערך ההרשאות, יש צורך להשתמש לפחות ב- 4 דפי ניהול, בכל אחד פעולות משלו, ובחלקם ישנן פעולות זהות, מה שמגדיל את הבלבול - איפה עושים מה?
הנחת העבודה שלי בפוסט היא שאתם מכירים ברמה סבירה מה זה Active Directory - אם לא כל-כך - תקראו ב- Wikipedia, זה מסביר הכל. אגב, המודל תקף כמובן גם במקרה של זיהוי מבוסס טפסים (Forms Authentication), אלא שבמקום AD יש לנו את ה- asp.net DB או כל מסד משתמשים אחר.

"גליון הרשאות" - הבנת מודל ההרשאות ב- MOSS 2007

לפני שנתחיל, נסתכל רגע על הסכימה הבאה, שמתארת את מודל ההרשאות ושיוכן למשתמשים\קבוצות במערכת. שימו לב שמתחת לכל "ישות" הוספתי את שם דף הניהול הרלוונטי (יש להוסיף כמובן את כתובת האתר לפני ה- /Layouts_. במקרה של דף admin_ יש להוסיף את כתובת אתר הניהול המרכזי). מייד תקבלו הסבר מושגים + הסבר תהליכים לתרשים הזה:

מודל ההרשאות ב- SharePoint

הסבר מושגים

עריכת רמות הרשאה ב- SharePointהרשאות - זה ה"סל" של כל סוגי\פרטי ההרשאה האפשריים, ברזולוציה הגבוהה ביותר. לא ניתן להוסיף הרשאות מעבר לקיים (למשל אם תרצו לתת למשתמש הרשאות להוספת wp מסוג עורך תוכן בלבד וכדומה). לשם נוחות, מחולקות ההרשאות ל- 3 קבוצות תצוגה: רשימה, אתר ואישיות - אבל אין לכך משמעות פונקציונלית. המקבילה של זה ב-AD הן כמובן ההרשאות read, write, execute וכו'.

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

רמות הרשאה - קבוצות\קטגוריות של הרשאות, או בלשון אחרת - Roles. כאן כבר ניתן להוסיף Roles משלנו, שיורכבו למעשה מסט של הרשאות כאלו ואחרות, על-פי החלטתנו. המקבילה של זה ב-AD היא למשל Full Control, שלמעשה מסמנת אוטומטית את כל רמות הרשאה הקיימות.

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

קבוצות SharePoint - הקצאה של רמת הרשאה ספציפית למשתמשים\קבוצות מה- AD. אם ב-AD הקבוצות מכילות רק משתמשים\קבוצות אחרות, הרי שכאן הקבוצות מכילות גם הרשאות כחלק בלתי-נפרד מהגדרת הקבוצה.

בהתאם לכך, ישות לוגית זו מאפשרת שתי פעולות עיקריות:

  1. קיבוץ של משתמשים\קבוצות מה-AD מצד אחד
  2. הקצאת הרשאה (אחת בלבד) לקבוצה מצד שני.

הסבר תהליכים

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

  1. באתר הניהול המרכזי החליטו אילו הרשאות יהיו בכלל חשופות בכל אוספי האתרים (admin/vsmask.aspx_).
  2. לאחר מכן באוסף האתרים הרלוונטי קבצו הרשאות לרמות הרשאה מתאימות, עפ"י הצורך.
  3. אופציה א': הקצו רמות הרשאה ישירות למשתמשים\קבוצות מה- AD
  4. אופציה ב': הקצו רמות הרשאה לקבוצות SharePoint ובמקביל - 
  5. אופציה ב' - המשך: שייכו משתמשים\קבוצות מה- AD לאותן קבוצות SharePoint

מתי להשתמש בקבוצות SharePoint?

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

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

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

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

  1. אין קבוצה מתאימה ב- AD
  2. קיימות מספר ספריות\רשימות\אובייקטי תוכן להם יש צורך לשייך את אותה קבוצה בדיוק

מתי כדאי להשתמש בקבוצות SP - דוגמה:

אתם מעוניינים לתת לקבוצת משתמשים בארגון יכולת ליצור תצוגות אישיות ברשימות. למשתמשים אלו אין מכנה ארגוני משותף (ולכן לא יטרחו ליצור להם קבוצה ב- AD) וכמות הרשימות האפשריות היא גדולה. כאן קבוצות SP נותנו מענה מצויין - צרו רמת הרשאה בשם "משתתף עם תצוגות אישיות", שייכו אותה לקבוצת SP בשם "משתתפים עם תצוגות אישיות" ובמקביל שייכו לקבוצה הזו את כל המשתמשים המתאימים מה- AD.

מתי לא כדאי להשתמש בקבוצות SP - דוגמה:

אתם יוצרים מספר סקרים בארגון. לכל סקר קהל יעד משלו, להם נדרש לתת הרשאות השתתפות בסקר. אם תשתמשו בקבוצות SP, תצטרכו ליצור מס' קבוצות כמספר הסקרים + תצטרכו לנהל שיוך ידני של משתמשים לקבוצות. אם תשתמשו בקבוצות AD - פעם אחת תשקיעו ביצירת הקבוצות (בד"כ באחריות ה- IT), ומכאן והלאה לכל סקר תשייכו ישירות רמת הרשאה לקבוצת ה- AD המתאימה.

טיפ קטן - הרשאה מוגבלת

לא דיברתי בפוסט על הצד השני של המטבע - איך נותנים הרשאות לאובייקטי תוכן שונים (ספריות, מסמכים וכו'), וכמובן נושא ההורשה או ה"שבירה" של הרשאות בין ישויות.

אבל שימו לב למשהו אחד מעניין ומוזר - במקרה של "שבירת" הרשאות (=מתן הרשאות ייעודיות למשתמשים מסויימים על פריטים מסויימים), אם תלכו לדף ניהול ההרשאות (user.aspx) של אתר האב, תראו פתאום שאותם אנשים נוספו כ"הרשאה מוגבלת". זו הדרך של MOSS להודיע למנהל האתר שיש באתר אנשים בעלי הרשאה חריגה על פריטי תוכן. זה יכול להיות מאוד מטריד כשמדובר באתר עם הרבה "שבירות" - מתקבלת רשימה גדולה מאוד של בעלי הרשאה מוגבלת - אבל זה מה יש, לפחות ככל הידוע לי.

מקורות

מומלץ לעיין במאמר הבא:

http://technet2.microsoft.com/Office/en-us/library/610a48d4-a805-4c47-8801-a8a912b294ea1033.mspx?mfr=true

ובבלוג הבא של Sahil Malic שמדגים חלק ממה שהצגתי:

 http://blah.winsmarts.com/2007-4-SharePoint_2007__Fine_grained_permission_control.aspx

תוכן התגובה

MOSS is my middle name כתב/ה:

אפשרי גם אפשרי -

יש ב- MOSS הגדרה המאפשרת למשתמשים ליצור אתרים בשירות עצמי.

לכי לדף הבא באתר הניהול המרכזי (ניהול יישומים>>ניהול אתרים בשירות עצמי) -

_admin/ConfigSSC.aspx

ברגע שתפעילי את השירות הזה, תתווסף הודעה אוטומטית בדף הבית ברשימת ה- Announcments שתפנה לדף יצירת אתרים כאלו. כתובת הדף היא (תחת כל אוסף אתרים):

_layouts/scsignup.aspx

שימי לב שמשתמש חייב להיות בעל הרשאה בשם "שימוש ביצירת אתרים בשירות עצמי" - כברירת מחדל, לכל בעלי רמת הרשאה "השתתפות" יש את זה.

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

_Layouts/AreaTemplateSettings.aspx

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

זה פתרון סביר, לא?

# February 20, 2008 4:36 PM

שרון כתב/ה:

הכל טוב ויפה בתשובתך אבל אני רוצה שהמשתמש שיהיה מנהל האתר לא יוכל לעצב או להוריד או להוסיף Web Parts אלא רק שייצור תתי אתרים בעזרת התבנית שאני אבנה לו וישייך אליה קבוצת משתמשים מסוימת שתקבע מראש על ידי.

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

תודה.

# March 5, 2008 2:15 PM

MOSS is my middle name כתב/ה:

כן, אין בעיה.

קודם כל תקימי (באתר הראשי) רמת הרשאה חדשה בשם "יוצרי אתרים":

_layouts/addrole.aspx

לרמה הזו תשייכי את ההרשאות הבאות:

1)ניהול הרשאות

2) שימוש ביצירת אתרים בשירות עצמי

3) יצירת אתרי משנה    

(שימי לב שאוטומטית ייבחרו כל מיני הרשאות אחרות - זה בסדר)

עכשיו תשייכי למשתמשים הספציפיים שאת חפצה ביקרם (עדיף כמובן שזו תהיה קבוצה/ות ב-AD) את רמת ההרשאה הזו:

_layouts/aclinv.aspx

ועכשיו תשלחי להם מייל עם קישור לדף הקמת אתר:

_layouts/scsignup.aspx

כמובן תבדקי קודם עם משתמש לדוגמה שאכן הכל עובד ותראי מה הוא יכול/לא יכול לעשות - אם תרצי תמיד תוכלי לחזור לרמת ההרשאה הזו ולהוסיף לה הרשאות

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

או שתיצרי קשר:

blogs.microsoft.co.il/.../contact.aspx

# March 5, 2008 2:51 PM

ציונה כתב/ה:

אני מחפשת דרך ליצור רמת הרשאה שתתאים למנהל הרשאות האתר.

למנהל הרשאות באתר לא ניתן לעשות שום פעולה הקשורה לתוכן ולעריכה של האתר, אלא רק להוסיף משתמשים וקבוצות ולשייך להם רמות הרשאה.

האם זה אפשרי? רמת ההרשאה שניסיתי ליצור לא אפשרה למנהל המשתמשים להוסיף משתמשים חדשים אלא רק ליצור קבוצות או להוסיף משתמשים קיימים לקבוצות שונות.

תודה.

# November 23, 2010 11:32 AM
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 1 and 4 and type the answer here:


Enter the numbers above: