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

Edge for Private Cloud גרסה 4.16.05

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

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

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

הוספת משתמש

אפשר ליצור משתמש באמצעות Edge API, ממשק המשתמש של 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 הבאה כדי ליצור משתמש:

> /<inst_root>/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 -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 יש הרשאות מלאות לכל המשאבים.

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

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

  1. יוצרים משתמש בממשק המשתמש או ב-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

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


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

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

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

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

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

  1. פותחים את הקובץ management-server.properties בעורך:
    vi /<inst_root>/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:
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server restart

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

מחיקת משתמש

אפשר ליצור משתמש באמצעות Edge API או ממשק המשתמש של 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>