ניהול משתמשים, תפקידים והרשאות

Edge for Private Cloud גרסה 4.17.05

באתר התיעוד של Apigee יש מידע מקיף על ניהול תפקידי משתמשים והרשאות. אפשר לנהל את המשתמשים גם באמצעות ממשק המשתמש של Edge וגם באמצעות Management API. אפשר לנהל תפקידים והרשאות רק דרך Management API.

למידע על משתמשים ויצירת משתמשים, אפשר לעיין ב:

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

הוספת משתמש

אפשר ליצור משתמש באמצעות ה-API של Edge, ממשק המשתמש של Edge או הפקודות של Edge. בקטע הזה מוסבר איך להשתמש ב-Edge API ובפקודות Edge. למידע על יצירת משתמשים בממשק המשתמש של Edge, אפשר לקרוא את המאמר יצירת משתמשים גלובליים.

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

כדי ליצור משתמש באמצעות Edge API, משתמשים בפקודה הבאה:

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<passwd> \
-X POST http://<ms_IP>:8080/v1/users \
-d '<User> \
   <FirstName>New</FirstName> \
   <LastName>User</LastName> \
   <Password>newUserPWord</Password> \
   <EmailId>foo@bar.com</EmailId> \
</User>'

או להשתמש בפקודה הבאה של Edge כדי ליצור משתמש:

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision create-user -f configFile

כאשר configFile מכיל את המידע הנדרש ליצירת המשתמש:

APIGEE_ADMINPW=sysAdminPW    # If omitted, you will be prompted.
USER_NAME=foo@bar.com
FIRST_NAME=New
LAST_NAME=User
USER_PWD="newUserPWord"
ORG_NAME=myorg  

לאחר מכן תוכלו להשתמש בשיחה הזו כדי להציג מידע על המשתמש:

curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/users/foo@bar.com

הקצאת המשתמש לתפקיד בארגון

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

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

כדי להקצות את המשתמש לתפקיד בארגון, צריך להשתמש בפקודה הבאה:

curl -X POST -H "Content-Type:application/x-www-form-urlencoded" /
http://<ms_IP>:8080/v1/o/<org_name>/userroles/<role>/users?id=foo@bar.com /
-u <sysAdminEmail>:<passwd> 

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

curl -X POST -H "Content-Type: application/xml" /
http://<ms_IP>:8080/v1/o/<org_name>/users/foo@bar.com/userroles /
-d '<Roles><Role name="role"/></Roles>' /
-u <sysAdminEmail>:<passwd>

כדי להציג את התפקידים של המשתמש, אפשר להשתמש בפקודה הבאה:

curl -u <sysAdminEmail>:<passwd> /
http://<ms_IP>:8080/v1/users/foo@bar.com/userroles

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

curl -X DELETE -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/o/<org_name>/userroles/<role>/users/foo@bar.com

הוספה של מנהל מערכת

מנהלי מערכת יכולים:

  • יצירת ארגונים
  • הוספה של נתבים, מעבדי הודעות ורכיבים אחרים להתקנת Edge
  • הגדרת TLS/SSL
  • יצירה של מנהלי מערכת נוספים
  • ביצוע כל משימות הניהול של Edge

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

אפשר ליצור את המשתמש עבור מנהל המערכת בממשק המשתמש של Edge או ב-API. עם זאת, כדי להקצות את המשתמש לתפקיד sysadmin צריך להשתמש ב-Edge API. בממשק המשתמש של Edge לא ניתן להקצות משתמש לתפקיד sysadmin.

כדי להוסיף מנהל מערכת:

  1. יצירת משתמש בממשק המשתמש של Edge או ב-API של Edge.
  2. הוספת משתמש לתפקיד sysadmin:
    curl -u <sysAdminEmail>:<passwd> \
    -X POST http://<ms_IP>:8080/v1/userroles/sysadmin/users \
    -d 'id=foo@bar.com'
  3. צריך לוודא שהמשתמש החדש נמצא בתפקיד sysadmin:
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/userroles/sysadmin/users

    מחזיר את כתובת האימייל של המשתמש:
    [ " foo@bar.com " ]
  4. בודקים את ההרשאות של המשתמש החדש:
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/users/foo@bar.com/permissions

    Returns:
    {
    "resourcePermission" : [ {
    "path" : "/", [" delete" : [ "get" : ]


  5. לאחר הוספת מנהל המערכת החדש, ניתן להוסיף את המשתמש לכל ארגון
    הערה: מנהל המערכת החדש לא יכול להתחבר לממשק המשתמש של Edge עד שתוסיפו את המשתמש לארגון אחד לפחות.
  6. אם בהמשך רוצים להסיר את המשתמש מתפקיד מנהל המערכת, אפשר להשתמש בממשק ה-API הבא:
    curl -X DELETE -u <sysadminEmail:pword>
    http://<ms_IP>:8080/v1/userroles/sysadmin/users/foo@bar.com


    לתשומת ליבכם: המשתמש הזה רק מסיר את המשתמש מהתפקיד, אלא רק אותו.

שינוי של משתמש ברירת המחדל של אדמין

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

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

כדי לראות את רשימת המשתמשים שמוגדרים כרגע כאדמינים של מערכות, צריך להשתמש בקריאה הבאה ל-API:

curl -u sysAdminEmail:passwd http://<ms_IP>:8080/v1/userroles/sysadmin/users

כדי לקבוע מיהו האדמין הנוכחי שמוגדר כברירת המחדל, אפשר לעיין בקובץ /opt/apigee/customer/defaults.sh. בקובץ מופיעה השורה הבאה, שבה מוצגת כתובת האימייל של האדמין הנוכחי שמוגדר כברירת מחדל:

ADMIN_EMAIL=foo@bar.com

כדי לשנות את ברירת המחדל של מנהל המערכת למשתמש אחר:

  1. יוצרים מנהל מערכת חדש כמתואר למעלה, או מוודאים שחשבון המשתמש של האדמין החדש כבר מוגדר כמנהל מערכת.
  2. עורכים את /opt/apigee/customer/defaults.sh כדי להגדיר את ADMIN_EMAIL לכתובת האימייל של מנהל המערכת החדש.
  3. עורכים את קובץ התצורה השקטה שהשתמשת בו כדי להתקין את ממשק המשתמש של Edge כדי להגדיר את המאפיינים הבאים:
    ADMIN_EMAIL=emailAddressOfNewSysAdmin
    APIGEE_ADMINPW=pwOfNewSysAdmin

    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    המאפיינים SMTP=foo.com כוללים את ה-SMTP=foo@
    המאפיינים SMTP.foo@
    מאפסים את כל המאפיינים SMTP=foogmail.com@
  4. Reconfigure the Edge UI:
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
    > /opt/apigee/apigee-service/bin/apigee-service fedge-uiga2 setup -
    configFile

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

  1. "כתובת אימייל חדשה" עבור חשבון המשתמש הנוכחי של מנהל המערכת שמוגדר כברירת מחדל:
    > curl -H content-type:application/json -X PUT /
    -u currentSysAdminEmail:passwd /
    http://<ms_IP>:8080/v1/users/currentSysEmail':lastName} /'adminSysEmail /
  2. חוזרים על שלבים 2, 3 ו-4 מהתהליך הקודם כדי לעדכן את הקובץ /opt/apigee/customer/defaults.sh ולעדכן את ממשק המשתמש של Edge.

ציון דומיין האימייל של מנהל מערכת

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

כברירת מחדל, הדומיין הנדרש ריק. כלומר, אפשר להוסיף כל כתובת אימייל לתפקיד sysadmin.

כדי להגדיר את דומיין האימייל:

  1. פותחים את הכלי management-server.properties בעורך:
    vi /opt/apigee/customer/application/management-server.properties

    אם הקובץ לא קיים, יוצרים אותו.
  2. מגדירים את המאפיין conf_security_rbac.global.roles.allowed.domains לרשימה של הדומיינים המותרים שמופרדים בפסיקים. לדוגמה:
    conf_security_rbac.global.roles.allowed.domains=myCo.com,yourCo.com
  3. שומרים את השינויים.
  4. מפעילים מחדש את שרת ניהול Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server מחדש

    אם מנסים להוסיף משתמש לתפקיד sysadmin, וכתובת האימייל של המשתמש לא נמצאת באחד מהדומיינים שצוינו, ההוספה תיכשל.

מחיקת משתמש

אפשר ליצור משתמש באמצעות ממשק ה-API של Edge או של Edge. עם זאת, אפשר למחוק משתמש רק באמצעות ה-API.

כדי לראות את הרשימה של המשתמשים הנוכחיים, כולל כתובות אימייל, משתמשים בפקודה cURL הבאה:

curl -u <sysAdminEmail>:<passwd> http://<ms-IP>:8080/v1/users

כדי למחוק משתמש, משתמשים בפקודה הבאה מסוג cURL:

curl -u <sysAdminEmail>:<passwd> -X DELETE http://<ms-IP>:8080/v1/users/<userEmail>