Edge for Private Cloud v4.18.05
כשמשתמשים ב-SAML עם Edge API, התהליך שבו משתמשים כדי לקבל אסימוני גישה וטוקן רענון של OAuth2 מטענת ה-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. אם בהתקנה שלכם לא נעשה שימוש בברירות המחדל האלה, ציינו אותן בהתאם. - SSO_ADMIN_NAME הוא שם המשתמש של האדמין שמוגדר במאפיין
- מתחברים לממשק המשתמש של 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'
שומרים את האסימונים לשימוש מאוחר יותר.
- מעבירים את טוקן הגישה לקריאה ל-Edge management API בתור הכותרת 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'
יצירת משתמש מכונה באמצעות Edge management API
אתם יכולים ליצור משתמש מכונה באמצעות 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, מוסיפים את כתובת האימייל של המשתמש המכונה לארגונים שלכם ומקצים למשתמש המכונה את התפקיד הנדרש. מידע נוסף זמין במאמר הוספת משתמשים גלובליים.