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

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

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

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

הוספת משתמש

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

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

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

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

  4. מגדירים מחדש את ממשק המשתמש החדש של Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-management-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 ולעדכן את ממשק המשתמש של New 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 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