באתר התיעוד של 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.
כדי להוסיף מנהל מערכת:
- יצירת משתמש בממשק המשתמש של Edge או ב-API של Edge.
- הוספת המשתמש לתפקיד sysadmin:
curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \ -X POST http://ms_IP:8080/v1/userroles/sysadmin/users -d 'id=foo@bar.com'
- חשוב לוודא שהמשתמש החדש נמצא בתפקיד sysadmin:
curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/userroles/sysadmin/users
מחזירה את כתובת האימייל של המשתמש:
[ " foo@bar.com " ]
- בדיקת ההרשאות של משתמש חדש:
curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com/permissions
החזרות:
{ "resourcePermission" : [ { "path" : "/", "permissions" : [ "get", "put", "delete" ] } ] }
- לאחר הוספת מנהל המערכת החדש, ניתן להוסיף את המשתמש לכל ארגון
- כדי להסיר את המשתמש מתפקיד אדמין בשלב מאוחר יותר, אפשר להשתמש
בממשק ה-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
כדי לשנות את ברירת המחדל של מנהל המערכת למשתמש אחר:
- יוצרים מנהל מערכת חדש כמתואר למעלה, או מוודאים שחשבון המשתמש של האדמין החדש כבר מוגדר כמנהל מערכת.
- עורכים את
/opt/apigee/customer/defaults.sh
כדי להגדיר אתADMIN_EMAIL
ככתובת האימייל של האדמין החדש. - עורכים את קובץ התצורה השקטה שבו השתמשתם כדי להתקין את ממשק המשתמש של 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:
/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
אם ברצונך לשנות את כתובת האימייל של חשבון המשתמש של מנהל המערכת הנוכחי המוגדר כברירת מחדל, תחילה עליך לעדכן את חשבון המשתמש ולהגדיר את כתובת האימייל החדשה, ולאחר מכן לשנות את כתובת האימייל של מנהל המערכת המוגדרת כברירת מחדל:
- מעדכנים את חשבון המשתמש של האדמין הנוכחי שמוגדר כברירת מחדל, ומוסיפים כתובת אימייל
חדשה:
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, 3 ו-4 מהתהליך הקודם כדי לעדכן את הקובץ
/opt/apigee/customer/defaults.sh
ולעדכן את ממשק המשתמש של Edge.
ציון דומיין האימייל של מנהל מערכת
כרמת אבטחה נוספת, אפשר לציין את דומיין האימייל שנדרש לאדמין של מערכת Edge. כשמוסיפים מנהל מערכת, אם כתובת האימייל של המשתמש לא בדומיין שצוין, הוספת המשתמש לתפקיד 'sysadmin' תיכשל.
כברירת מחדל, הדומיין הנדרש ריק. כלומר, אפשר להוסיף כל כתובת אימייל לתפקיד 'sysadmin'.
כדי להגדיר את דומיין האימייל:
- פותחים את הקובץ
management-server.properties
בעורך:vi /opt/apigee/customer/application/management-server.properties
אם הקובץ לא קיים, יש ליצור אותו.
- מגדירים את המאפיין
conf_security_rbac.global.roles.allowed.domains
לרשימת הדומיינים המורשים שמופרדים בפסיקים. לדוגמה:conf_security_rbac.global.roles.allowed.domains=myCo.com,yourCo.com
- שומרים את השינויים.
- מפעילים מחדש את השרת לניהול 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