מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
כאן מוסבר איך ליצור תפקידים בהתאמה אישית ולהקצות תפקידים למשתמשים באמצעות API לניהול. אנחנו גם מראים איך בודקים הקצאות תפקידים באמצעות ה-API. (לסקירה כללית בנושא תפקידים בהתאמה אישית, קראו את המאמר יצירת תפקידים בהתאמה אישית UI.)
מידע על הגדרת ההרשאות
הרשאות התפקידים מוגדרות במזהי URI של ממשקי API לניהול (לא במזהי URI של ממשק משתמש לניהול). לדוגמה, אם רוצים להגדיר הרשאות PUT, GET ו/או DELETE לישויות של מפתחי האפליקציות בארגון Edge, צריך להגדיר הרשאות במשאב /developers
, כי הנתיב של ממשק ה-API לניהול עבור מפתחים הוא https://api.enterprise.apigee.com/v1/organizations/{org_name}/developers
.
(כשמגדירים הרשאות לא צריך לכלול את החלק של הארגון בנתיב, כי
ההרשאות בהיקף של ארגון ספציפי, כמו הקריאות ל-Management API בנושא הזה
illustrate.)
אפשר גם להגדיר הרשאות לישויות ספציפיות. לדוגמה:
- אם רוצים להגדיר הרשאות למפתח יחיד, מגדירים אותן ב-
/developers/steve@example.com
- עבור מוצר API ספציפי, כגון free-api-product, יש להגדיר
ב-
/apiproducts/free-api-product
- במפה של מפתח/ערך בסביבה ספציפית, מגדירים הרשאה ל-
/environments/test/keyvaluemaps/fooMap
או ל-/environments/test/keyvaluemaps/*
לכל המפות של מפתח/ערך בסביבת הבדיקה.
ההרשאות שהגדרתם באמצעות ה-API:
- לאפשר למשתמשים בתפקיד בהתאמה אישית לבצע קריאות ל-Management API בהתאם להרשאות שלהם. לדוגמה, אם תפקיד מסוים מאפשר גישה לקריאה בלבד לכל שרתי ה-proxy ל-API, משתמש בתפקיד הזה יוכל להשתמש ב-API List API Proxies אבל לא ב-API Create an API Proxy.
- לקבוע מה משתמשים בתפקיד בהתאמה אישית יכולים לראות ולעשות בממשק הניהול. לדוגמה, הרשאת קריאה בלבד לשרתי proxy ל-API משביתה את הגישה ללחצנים 'שרת proxy ל-API' ו'מחיקה' בדף 'שרתי proxy ל-API'.
כדי לראות את המשאבים והנתיבים שבהם אפשר להגדיר הרשאות, אפשר לעיין בחומר העזר בנושא API לניהול ולמצוא את כתובות ה-URL השונות של המשאבים.
ב-API של תפקידי משתמשים תוכלו למצוא את המידע המלא על ניהול תפקידים.
תחביר וקדימות
אפשר להשתמש בתו הכללי לחיפוש (*) כדי לציין 'כל מה שמגיע אחרי' בהגדרת הרשאה. עם זאת, אם מגדירים הרשאות רק למשאב הורה (למשל ב- /developers), הגדרה של הרשאות ספציפיות יותר (למשל /developers/*), ההרשאה חלה על החל מ- /developers ואחריה.
שיטת PUT משמשת גם כ-POST בהרשאות.
אפשר לשלב הרשאות כלליות עם הרשאות מפורטות יותר למשאבים. הגדרות מפורטות יותר מקבלות קדימות במקרים של חפיפה בהרשאות. לדוגמה, נניח שההרשאות הבאות מוגדרות לתפקיד 'developeradmin':
- PUT ב-/developers
- GET בכתובת /developers/*
המשמעות היא שהאדמין של המפתח יכול:
- ליצור מפתח, אבל לא לעדכן מפתחים ספציפיים או ישויות משנה (בגלל ההרשאה הספציפית יותר של GET באותו נתיב).
- אחזור של מפתח או ישות משנה, אבל לא רשימה של כל המפתחים.
בחומר העזר בנושא הרשאות תוכלו למצוא רשימה מלאה של ההרשאות שניתן להגדיר באמצעות ה-API.
יוצרים תפקיד בהתאמה אישית חדש בשם 'development'
יצירת 'פיתוח' כדי לאפשר למפתחים להציג, ליצור ולעדכן שרתי proxy ל-API.
$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles -H "Content-type:application/json" -X POST -d'{ "role" : [ { "name" : "development" } ] }'
מוסיפים הרשאות לתפקיד הפיתוח
ההרשאות שאפשר להגדיר לקבוצה שלמה של ארטיפקטים של Edge (כמו כל /apps, /apis, /apiproducts וכו') וגם לארטיפקטים בודדים (כמו אפליקציה ספציפית, שרת proxy של API או מוצר API) הן GET, PUT ו-DELETE.
באמצעות GET, משתמשים יכולים להציג כל ממשק API, כולל קובצי תצורה של שרת proxy ל-API, כללי מדיניות משויכים, JavaScript, קובצי XSLT וכו'. הרשאת PUT בממשקי API מאפשרת למפתחים ליצור, לשנות, לייבא, לייצא, לפרוס ולבטל פריסה של שרתי proxy ל-API.
המאפיין path מציין את הארטיפקט שבו מגדירים את ההרשאות. לדוגמה: /applications, /apps, /apiproducts, /developers או /reports.
curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles/development/permissions -H "Content-type:application/json" -X POST -d'{"path" : "/applications","permissions" : [ "put", "get" ]}'
יצירת תפקיד: בדיקה
יצירת 'בדיקה' שמאפשר למהנדסי איכות להציג שרתי proxy ל-API ואת התוכן שלהם (כולל, לדוגמה, מדיניות).
$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles -H "Content-type:application/json" -X POST -d'{ "role" : [ { "name" : "testing" } ] }'
הוספת הרשאות לתפקיד הבדיקה
התכונה GET מאפשרת למשתמשים לצפות בכל ממשקי ה-API, כולל קובצי התצורה שלהם, מדיניות משויכת, JavaScript, קובצי XLS וכן הלאה. על ידי הוספת ההרשאה הזו 'בדיקה' אנחנו מאפשרים למהנדסי איכות להציג את התוכן של ממשקי ה-API בדיקה. עם זאת, משתמשים בתפקיד הזה לא יוכלו ליצור, לשנות, לייבא, לייצא ולפרוס ולבטל את הפריסה של שרתי proxy ל-API.
$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles/testing/permissions -H "Content-type:application/json" -X POST -d'{"path" : "/applications","permissions" : [ "get" ]}'
בהתקנה מקומית של Edge, אלה קבוצת ההרשאות המינימלית שצריך להגדיר כדי לאפשר למשתמש להתחבר לממשק המשתמש של Edge:
{"path" : "/","permissions" : [ "get" ]} {"path" : "/*","permissions" : [ ]} {"path" : "/environments","permissions" : [ "get" ]} {"path" : "/userroles","permissions" : [ "get" ]}
משתמשים בפקודה הבאה של cURL כדי להגדיר את ההרשאות האלה:
curl -H "Content-Type:application/json" -u email:password \ -X POST \ http://<ms-IP>:8080/v1/organizations/{org_name}/userroles/testing/resourcepermissions \ -d '{ "resourcePermission" : [ { "path" : "/", "permissions" : [ "get" ] }, { "path" : "/*", "permissions" : [] }, { "path" : "/environments", "permissions" : [ "get" ] }, { "path" : "/userroles", "permissions" : [ "get"] } ] }'
כאשר <ms-IP> הוא כתובת ה-IP או שם ה-DNS של שרת ניהול הקצה.
הוספת משתמש לתפקיד בדיקה
כדי להקצות למשתמש תפקיד משתמש:
$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/users/justauser@apigee.com/userroles -H "Content-type:application/json" -X POST -d'{"role" : [ {"name" : "testing"} ] }'
הצגת ממשקי ה-API בתור משתמשים
התחזות למשתמש והגשת בקשה ל-API שירותים להצגת שרתי proxy ל-API. למשתמש צריכה להיות אפשרות לצפות בממשקי API יחד עם התוכן שלהם.$ curl -u justauser@apigee.com:secret https://api.enterprise.apigee.com/v1/o/{org_name}/apis
$ curl -u justauser@apigee.com:secret https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/policies
יצירת API בתור משתמש בתפקיד בדיקה
להתחזות למשתמש ולהגיש בקשה לשירותי API ליצירת שרת proxy ל-API. הבקשה תידחה על ידי API Services, כי התפקיד 'בדיקה' לא מאפשר למשתמש ליצור ממשקי API.
$ curl -u justauser@apigee.com:secret -H "Content-Type: application/json" https://api.enterprise.apigee.com/v1/o/{org_name}/apis -X POST -d'{"name" : "rbacTestApi"}'
הוספת משתמש לתפקיד פיתוח
עכשיו מקצים למשתמש את התפקיד 'פיתוח'.
$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/users/justauser@apigee.com/userroles -H "Content-type:application/json" -X POST -d'{"role" : [ {"name" : "development"} ] }'
יצירת API כמשתמש בתפקיד פיתוח
מתחזים למשתמש ומחזור את הבקשה לפלטפורמת ה-API כדי ליצור שרת proxy ל-API. הבקשה תבוצע בהצלחה, כי התפקיד 'פיתוח' מאפשרת למשתמש ליצור ממשקי API.
$ curl -u justauser@apigee.com:secret -H "Content-Type: application/json" https://api.enterprise.apigee.com/v1/o/{org_name}/apis -X POST -d'{"name" : "rbacTestApi"}'
אחזור תפקידי משתמש של משתמש
כאדמינים ארגוניים, אתם יכולים לבדוק את רשימת תפקידי המשתמש של משתמש (בכל ארגונים) בכל זמן:
$ curl -u email:password -X GET https://api.enterprise.apigee.com/v1/users/justauser@apigee.com/userroles