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

Edge for Private Cloud v4.18.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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD -X POST http://ms_IP:8080/v1/users \
  -d '<User> \
    <FirstName>New</FirstName> \
    <LastName>User</LastName> \
    <Password>NEW_USER_PASSWORD</Password> \
    <EmailId>foo@bar.com</EmailId> \
  </User>'

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

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

כאשר configFile יוצר את המשתמש, כמו בדוגמה הבאה:

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

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD 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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD

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

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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com/userroles

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

curl -X DELETE -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
  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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      -X POST http://ms_IP:8080/v1/userroles/sysadmin/users -d 'id=foo@bar.com'
  3. מוודאים שהמשתמש החדש נמצא בתפקיד sysadmin:
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/userroles/sysadmin/users

    הפונקציה מחזירה את כתובת האימייל של המשתמש:

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

    החזרות:

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

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

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

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

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

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD 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=NEW_SYS_ADMIN_EMAIL
    APIGEE_ADMINPW=NEW_SYS_ADMIN_PASSWORD
    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 CURRENT_SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      http://ms_IP:8080/v1/users/CURRENT_SYS_ADMIN_EMAIL \
      -d '{"emailId": "NEW_SYS_ADMIN_EMAIL", "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 Management Server:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

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

מחיקת משתמש

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

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms-IP:8080/v1/users

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD -X DELETE http://ms_IP:8080/v1/users/USER_EMAIL