LDAP ו- Directories

עופר גיגי,

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

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

לפניכם מספר תחומים בהם ניתן להיעזר בנו בנושא זה:

תכנון סכמה (Schema)

תכנון נכון של מאפייני השדות (Attributes) וסוגי האובייקטים (Object Classes) שיהיו בשימוש במערכת. אמנם כל מערכת LDAP תומכת באוסף חוקים בסיסי (ראה למשל rfc2798 - הגדרת שדות ל inetOrgPerson) , אך במהלך התאמת יישום חדש לעבודה מול LDAP, יש לבחון בזהירות את הדרך בה היישום משתמש בנתונים.

בתכנון Directory Schema אנו בוחנים, בין היתר, את הנושאים הבאים:

  • מה הם סוגי פריטי המידע השונים הנחוצים ליישום (מספרים, מחרוזות, מבנים מיוחדים)?
  • אילו מגבלות או תכונות נדרשות לכל סוג שדה? באילו מקרים נחוץ שימוש ברבוי ערכים לשדה ובאילו מקרים ניתן להגביל את אורכי הנתונים לשדה כזה או אחר?
  • אילו שדות אמורים לשמש לחיפוש, או שליפת מידע?
  • מה היא דרך עדכון הנתונים לשדות כאלה ואחרים?
 

תכנון מבנה עץ הנתונים (Directory Tree)

כידוע, פרוטוקול LDAP מאפשר גישה למערכות ספרייה (Directory Service) המכילות נתונים במבנה עץ היררכי. תכנון נכון של היררכית ה"עץ" יתמוך בביזור הרשאות ומידור "ענפים" בעץ. יתר על כן, למבנה הנתונים במערכת יכולה להיות השפעה מהותית על תגובת המערכת לחיפושי מידע בזמן אמת.

תכנון מערכות עם זמינות ויתירות גבוהה

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

הייעוץ המסופק בנושא זה לוקח בחשבון את סוגי היישומים הנשענים על מערכת ה Directory ודרך פעולתם, כמות השרתים הנדרשת, צורך בחלוקת עומסים (Load Balancing) וצורך במנגנון Cluster ליתירות גבוהה - הן של בסיס הנתונים והן של דרכי הגישה אל הנתונים.

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

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

התאמת שירותי רשת לעבודה עם LDAP

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

למעשה מרבית שירותי הרשת המצריכים זיהוי משתמש ואכיפת הרשאות, ניתנים לשילוב עם תשתית LDAP סטנדרטית. בין שירותים אלה ניתן למשל למצוא: SSH, Telnet, SAMBA, FTP, WWW, DNS ועוד... עם ביצוע האינטגרציה הרלוונטית, יכול הארגון לנהל ולשלוט ממקום אחד בנתוני המשתמשים והרשאותיהם לשרתים והשירותים השונים.

עמוד זה מתאר את מגוון השירותים אותו אנו מספקים בתחום Directory Services ופרוטוקול הגישה LDAP

הקניית מיומנויות לאנשי פיתוח תוכנה

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

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

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