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

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

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

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

  1. יצירת משתמש בממשק המשתמש של Edge או ב-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:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

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

מחיקת משתמש

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