ניהול מדיניות ברירת המחדל של סיסמת LDAP לניהול ממשק API

מערכת Apigee משתמשת ב-OpenLDAP כדי לאמת משתמשים בסביבת ניהול ממשקי ה-API. הפונקציונליות הזו של מדיניות הסיסמאות ב-LDAP זמינה ב-OpenLDAP.

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

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

למידע נוסף:

הגדרת מדיניות ברירת המחדל לסיסמאות ב-LDAP

בקטע הזה מוסבר איך להגדיר את מדיניות ברירת המחדל לסיסמאות LDAP עבור:

הגדרת מדיניות ברירת המחדל לסיסמאות LDAP למשתמשי Edge ול-sysadmin המקורי

כדי להגדיר את מדיניות הסיסמאות שמוגדרת כברירת מחדל ב-LDAP למשתמשי Edge ול-sysadmin המקורי:

  1. מתחברים לשרת ה-LDAP באמצעות לקוח LDAP, כמו Apache Studio או ldapmodify. כברירת מחדל, שרת OpenLDAP מאזין ליציאה 10389 בצומת OpenLDAP.

    כדי להתחבר, מציינים את ה-Bind DN או את המשתמש של cn=manager,dc=apigee,dc=com ואת סיסמת OpenLDAP שהגדרתם בזמן ההתקנה של Edge.

  2. משתמשים בלקוח כדי לנווט למאפיינים של מדיניות הסיסמאות עבור:
    • משתמשי Edge: ‏cn=default,ou=pwpolicies,dc=apigee,dc=com
    • מנהל המערכת המקורי של Edge: cn=sysadmin,ou=pwpolicies,dc=apigee,dc=com
      הערה: כדי להגדיר את מדיניות הסיסמאות של LDAP למנהלי מערכת נוספים (מלבד מנהל המערכת המקורי), צריך לעיין בקטע הגדרת מדיניות הסיסמאות של LDAP למנהלי מערכת נוספים שבהמשך.
  3. עורכים את ערכי המאפיינים של מדיניות הסיסמאות לפי הצורך.
  4. שומרים את ההגדרה.

הגדרת מדיניות הסיסמאות של LDAP למנהלי מערכת נוספים

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

  1. כדי למצוא את כל מנהלי המערכת של dn, מריצים את הפקודה הבאה:
    ldapsearch -x -W -D "cn=manager,dc=apigee,dc=com" -H "ldap://:10389" -b "cn=sysadmin,ou=userroles,ou=global,dc=apigee,dc=com" -s base
     -LLL

    בפלט, המשתמשים עם הרשאות sysadmin מוצגים בתור roleOccupant:

    dn: cn=sysadmin,ou=userroles,ou=global,dc=apigee,dc=com
    objectClass: organizationalRole
    objectClass: top
    cn: sysadmin
    roleOccupant: uid=admin,ou=users,ou=global,dc=apigee,dc=com
    roleOccupant: uid=2a0056b4-5c62-49de-8fb3-925ch67a3e45,ou=users,ou=global,dc=apigee,dc=com
  2. יוצרים קובץ חדש בשם ppchange.ldif ומוסיפים לו את הטקסט הבא (מחליפים את ה-dn של משתמש ה-sysadmin שלכם):
    dn: uid=new-sysadmin-uid,ou=users,ou=global,dc=apigee,dc=com
    changetype: modify
    add: pwdPolicySubentry
    pwdPolicySubentry: cn=sysadmin,ou=pwpolicies,dc=apigee,dc=com
  3. מזינים את הפקודה הבאה כדי לשנות את המשתמש:
    ldapmodify -x -w "$ldappassword" -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f ppchange.ldif
  4. מאמתים את השינוי באמצעות פקודת החיפוש ldap:
    ldapsearch -x -W -D "cn=manager,dc=apigee,dc=com" -H "ldap://:10389" -b "uid=new-sysadmin-uid,ou=users,ou=global,dc=apigee,dc=com" -s base -LLL pwdPolicySubentry

    הפלט יציג את התוספת של pwdPolicySubentry:

    dn: uid=new-admin-uid,ou=users,ou=global,dc=apigee,dc=com
    pwdPolicySubentry: cn=sysadmin,ou=pwpolicies,dc=apigee,dc=com
  5. חוזרים על שלבים 2 עד 4 לכל sysadmin.

מאפייני ברירת המחדל של מדיניות הסיסמאות ב-LDAP

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

604800

(שווה ערך ל-7 ימים)

pwdFailureCountInterval

מספר השניות שאחריהן ניסיונות קישור רצופים ישנים שנכשלו נמחקים ממונה הכישלונות.

במילים אחרות, זה מספר השניות שאחריו מתאפס מספר הניסיונות הרצופים להתחברות שנכשלו.

אם המדיניות pwdFailureCountInterval מוגדרת ל-0, רק אימות מוצלח יכול לאפס את המונה.

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

מומלץ להגדיר את המאפיין הזה לאותו ערך כמו המאפיין pwdLockoutDuration.

300
pwdInHistory

המספר המקסימלי של סיסמאות משומשות או קודמות של משתמש שיישמרו במאפיין pwdHistory.

כשהמשתמשת משנה את הסיסמה שלה, היא לא יכולה לשנות אותה לאחת מהסיסמאות הקודמות שלה.

3
pwdLockout

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

לא נכון
pwdLockoutDuration

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

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

אם הערך של pwdLockoutDuration הוא 0, חשבון המשתמש יישאר נעול עד שמנהל המערכת יבטל את הנעילה.

אפשר לקרוא את המאמר ביטול הנעילה של חשבון משתמש.

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

מומלץ להגדיר את המאפיין הזה לאותו ערך כמו המאפיין pwdFailureCountInterval.

300
pwdMaxAge

מספר השניות שאחריהן פג התוקף של סיסמת משתמש (שאינו sysadmin). אם הערך הוא 0, תוקף הסיסמאות לא יפוג. ערך ברירת המחדל 2592000 תואם ל-30 ימים מהזמן שבו הסיסמה נוצרה.

משתמש: 2592000

sysadmin: 0

pwdMaxFailure

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

3
pwdMinLength

מגדירה את מספר התווים המינימלי שנדרש כשמגדירים סיסמה.

8

ביטול הנעילה של חשבון משתמש

חשבון של משתמש יכול להינעל בגלל מאפיינים שמוגדרים במדיניות הסיסמאות. משתמש עם תפקיד sysadmin ב-Apigee יכול להשתמש בקריאה הבאה ל-API כדי לבטל את הנעילה של חשבון המשתמש. מחליפים את userEmail,‏ adminEmail ו-password בערכים בפועל.

כדי לבטל את הנעילה של משתמש:

/v1/users/userEmail/status?action=unlock -X POST -u adminEmail:password