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

Edge for Private Cloud גרסה 4.16.09

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

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

אפשר ליצור את המשתמש עבור מנהל המערכת בממשק המשתמש של 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. כשמוסיפים אדמין, אם כתובת האימייל של המשתמש לא בדומיין שצוין, הוספת המשתמש לתפקיד 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 מחדש

    אם ניסית עכשיו להוסיף משתמש לתפקיד 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>