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

Edge for Private Cloud גרסה 4.17.09

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

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

אתם יכולים ליצור את המשתמש של מנהל המערכת בממשק המשתמש או ב-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, מציינים את כתובת האימייל של מנהל המערכת. ‫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
    SMTPUSER=foo@gmail.com
    SMTPPASSWORD=bar
    SMTPSSL=y
    שימו לב שצריך לכלול את מאפייני ה-SMTP כי כל המאפיינים בממשק המשתמש מאופסים.
  4. מגדירים מחדש את ממשק המשתמש של Edge:
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui start

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

  1. מעדכנים את חשבון המשתמש של מנהל המערכת הנוכחי שמוגדר כברירת מחדל עם כתובת אימייל חדשה:
    > curl -H content-type:application/json -X PUT /
    -u currentSysAdminEmail:passwd /
    http://<ms_IP>:8080/v1/users/currentSysAdminEmail /
    -d '{"emailId": "newSysAdminEmail", "lastName": "admin", "firstName": "admin"}'
  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 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>