Edge for Private Cloud v4.18.01
כשמשתמשים ב-SAML עם Edge API, התהליך שבו משתמשים כדי לקבל אסימוני גישה ואסימוני רענון של OAuth2 מהטענת הנכוֹנוּת (assertion) של SAML נקרא תהליך קוד הגישה. בתהליך של קוד הגישה, משתמשים בדפדפן כדי לקבל קוד גישה חד-פעמי, שמשמש לאחר מכן לקבלת אסימוני OAuth2.
עם זאת, סביבת הפיתוח עשויה לתמוך באוטומציה של משימות פיתוח נפוצות, כמו אוטומציה של בדיקות או אינטגרציה רציפה/פריסה רציפה (CI/CD). כדי לבצע את המשימות האלה באופן אוטומטי כש-SAML מופעל, צריך דרך לקבל ולרענן אסימוני OAuth2 בלי להעתיק או להדביק קוד גישה מהדפדפן.
Edge תומך ביצירת אסימונים אוטומטית באמצעות משתמשי מכונה. משתמש במכונה יכול לקבל טוקני OAuth2 בלי לציין קוד גישה. כלומר, אפשר להפוך את התהליך של קבלת אסימוני OAuth2 ורענון שלהם לאוטומטי לחלוטין באמצעות Edge Management API.
יצירת משתמש מכונה
משתמשים בכלי apigee-ssoadminapi.sh כדי ליצור משתמש מכונה לארגון SAML. מידע נוסף זמין במאמר שימוש ב-apigee-ssoadminapi.sh. אפשר ליצור משתמש מכונה יחיד שישמש את כל הארגונים שלכם, או ליצור משתמש מכונה נפרד לכל ארגון.
המשתמש במכונה נוצר ונשמר במאגר הנתונים של Edge, ולא בספק הזהויות של SAML. לכן, אתם לא אחראים על ניהול המשתמש במכונה באמצעות ממשק המשתמש של Edge ו-Edge Management API.
כשיוצרים את משתמש המכונה, צריך לציין כתובת אימייל וסיסמה. אחרי שיוצרים את משתמש המכונה, מקצים אותו לארגון אחד או יותר.
כדי ליצור משתמש מכונה:
- משתמשים בפקודה הבאה apigee-ssoadminapi.sh כדי ליצור את משתמש המכונה:
> apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME --secret SSO_ADMIN_SECRET --host edge_sso_IP_or_DNS -u machine_user_email -p machine_user_password
כאשר:- SSO_ADMIN_NAME הוא שם המשתמש של האדמין שמוגדר על ידי המאפיין SSO_ADMIN_NAME בקובץ התצורה שמשמש להגדרת מודול ה-SSO של Edge. ברירת המחדל היא ssoadmin.
- SSO_ADMIN_SECRET הוא הסיסמה של האדמין כפי שצוינה במאפיין SSO_ADMIN_SECRET בקובץ התצורה.
בדוגמה הזו, אפשר להשמיט את הערכים של --port ו---ssl כי המודול apigee-sso משתמש בערכי ברירת המחדל של 9099 עבור --port ו-http עבור --ssl. אם ברירת המחדל הזו לא מוגדרת במסגרת ההתקנה, צריך לציין אותה בהתאם.
- מתחברים לממשק המשתמש של Edge, מוסיפים את כתובת האימייל של משתמש המכונה לארגונים ומקצים את משתמש המכונה לתפקיד הנדרש. מידע נוסף זמין במאמר הוספת משתמשים גלובליים.
אחזור ורענון של אסימון משתמש של מכונה
משתמשים ב-Edge API כדי לקבל ולרענן אסימוני OAuth2 על ידי העברת פרטי הכניסה של משתמש המכונה, במקום קוד גישה.
כדי לקבל אסימוני OAuth2 למשתמש המכונה:
- משתמשים בקריאת ה-API הבאה כדי ליצור את אסימוני הגישה והרענון הראשוניים:
> curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" /
-H "accept: application/json;charset=utf-8" /
-H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
http://edge_sso_IP_DNS:9099/oauth/token -s /
-d 'grant_type=password&username=m_user_email&password=m_user_password '
הקריאה מדפיסה את אסימוני הגישה והרענון במסך. שומרים את האסימונים לשימוש מאוחר יותר. - מעבירים את אסימון הגישה לקריאה של ממשק API לניהול Edge ככותרת Bearer:
> curl -H "Authorization: Bearer access_token" http://ms_IP_DNS:8080/v1/organizations/orgName
כאשר orgName הוא שם הארגון שמכיל את המשתמש במכונה. - כדי לרענן את אסימון הגישה מאוחר יותר, משתמשים בקריאה הבאה שכוללת את אסימון הרענון:
> curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" /
-H "Accept: application/json;charset=utf-8" /
-H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
http://edge_sso_IP_DNS:9099/oauth/token /
-d 'grant_type=refresh_token&refresh_token=refreshToken'
יצירת משתמש מכונה באמצעות Management API של Edge
אפשר ליצור משתמש מכונה באמצעות Edge Management API במקום להשתמש בכלי apigee-ssoadminapi.sh. כדי ליצור משתמש מכונה:
- משתמשים בפקודה הבאה של cURL כדי לקבל אסימון למשתמש ssoadmin, שם המשתמש של חשבון האדמין ב-apigee-sso:
> curl "http://edge_sso_IP_DNS:9099/oauth/token" -i -X POST /
-H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' /
-d "response_type=token" -d "grant_type=client_credentials" /
--data-urlencode "client_secret=SSO_ADMIN_SECRET" /
--data-urlencode "client_id=ssoadmin"
כאשר SSO_ADMIN_SECRET הוא סיסמת האדמין שהגדרתם כשהתקנתם את apigee-sso, כפי שצוין במאפיין SSO_ADMIN_SECRET בקובץ התצורה.
הפקודה הזו מציגה אסימון שדרוש כדי לבצע את הקריאה הבאה. - משתמשים בפקודה הבאה של cURL כדי ליצור את משתמש המכונה, ומעבירים את האסימון שקיבלת בשלב הקודם:
> curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST /
-H "Accept: application/json" -H "Content-Type: application/json" /
-d '{"userName" : "machine_user_email", "name" : {"formatted":"DevOps", "familyName" : "last_name", "givenName" : "first_name"}, "emails" : [ {"value" : "machine_user_email", "primary" : true } ], "active" : true, "verified" : true, "password" : "machine_user_password" }' /
-H "Authorization: Bearer token"
צריך את הסיסמה של משתמש המכונה בשלבים מאוחרים יותר. - מתחברים לממשק המשתמש של Edge, מוסיפים את כתובת האימייל של משתמש המכונה לארגונים ומקצים את משתמש המכונה לתפקיד הנדרש. מידע נוסף זמין במאמר הוספת משתמשים גלובליים.