Edge for Private Cloud גרסה 4.17.09
התכונה 'אימות בסיסי' היא אחת מהדרכים לאימות בזמן קריאות ל-Edge Management API. לדוגמה, אפשר לשלוח את בקשת ה-cURL הבאה ל-Edge Management API כדי לגשת למידע על הארגון:
curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
בדוגמה הזו, אתם משתמשים באפשרות cURL -u כדי להעביר פרטי כניסה לאימות בסיסי. לחלופין, אפשר
להעביר אסימון OAuth2 בכותרת Bearer
כדי לבצע קריאות
ל-Edge Management API. לדוגמה:
curl -H "Authorization: Bearer <access_token>" https://ms_IP_DNS:8080/v1/organizations/orgName
לאחר הפעלת SAML, אפשר להשבית באופן אופציונלי את Basic Auth. אם משביתים את Basic Auth, כל הסקריפטים (סקריפטים של Maven, סקריפטים של מעטפת, apigeetool
וכו') שמסתמכים על קריאות לממשק ה-API לניהול Edge שתומכים ב-Basic Auth לא יפעלו יותר. עליך לעדכן את כל הקריאות והסקריפטים ל-API שמשתמשים באימות בסיסי כדי להעביר אסימוני גישה מסוג OAuth2 בכותרת Bearer.
שימוש ב-get_token כדי לקבל אסימונים ולרענן אותם
תוכנית השירות get_token
ממירה את פרטי הכניסה הבסיסיים לאימות וקוד סיסמה לאסימון גישה ולרענון OAuth2. תוכנת
get_token
מקבלת את פרטי הכניסה שלכם
ומדפיסה אסימון גישה תקף. אם אפשר לרענן אסימון, הוא ירענן
וידפיס אותו. אם פג התוקף של אסימון הרענון, תוצג בקשה להזין פרטי כניסה של משתמש.
האסימונים בדיסק נשמרים בכלי העזר get_token
, ומוכנים לשימוש במקרה הצורך. הוא מדפיס גם אסימון גישה תקף ל-stdout.
משם תוכלו להשתמש ב-Postman או להטמיע אותו במשתנה סביבה לשימוש ב-curl.
בהמשך מוסבר איך להשתמש ב-get_token
כדי לקבל אסימון גישה מסוג OAuth2 כדי
לבצע קריאות ל-Edge Management API:
- הורדת החבילה של
sso-cli
:curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
edge_sso_IP_DNS היא כתובת ה-IP של שם ה-DNS של המכונה שמארחת את מודול ה-SSO של Edge. אם הגדרתם TLS ב-Edge SSO, יש להשתמש ב-
https
ובמספר יציאת ה-TLS הנכון. - מחלצים את החבילה
ssocli-bundle.zip
:unzip ssocli-bundle.zip
- התקנת
get_token
באפליקציה/usr/local/bin
:
./install
יש להשתמש באפשרות
-b
כדי לציין מיקום אחר:./install -b path
- מגדירים את משתנה הסביבה
SSO_LOGIN_URL
לכתובת ה-URL להתחברות, בפורמט הבא:export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
edge_sso_IP_DNS היא כתובת ה-IP של שם ה-DNS של המכונה שמארחת את מודול ה-SSO של Edge. אם הגדרתם TLS ב-Edge SSO, יש להשתמש ב-
https
ובמספר יציאת ה-TLS הנכון. - בדפדפן, עוברים לכתובת ה-URL הבאה כדי לקבל קוד גישה חד-פעמי:
http://edge_sso_IP_DNS:9099/passcode
אם הגדרת TLS ב-Edge SSO, יש להשתמש ב-
.https
ובמספר יציאת ה-TLS הנכון.כתובת ה-URL תחזיר קוד סיסמה חד-פעמי שנשאר בתוקף עד שתרענן את כתובת ה-URL כדי לקבל קוד סיסמה חדש, או שהשתמשת בקוד הגישה עם
get_token
כדי ליצור אסימון גישה. - צריך להפעיל את
get_token
כדי לקבל את אסימון הגישה מסוג OAuth2:
get_token -u emailAddress
emailAddress היא כתובת האימייל של משתמש Edge. תוצג לכם בקשה להזין את קוד הסיסמה החד-פעמי שקיבלתם בשלב 3:
One Time Code ( Get one at https://edge_sso_IP.com/passcode ) Enter the passcode if SAML is enabled or press ENTER:
מזינים את קוד הסיסמה. תוכנת העזר
get_token
מקבלת את אסימון הגישה מסוג OAuth2, מדפיסה אותו במסך וכותבת אותו ואת אסימון הרענון ב-~/.sso-cli
.כדי להזין את קוד הסיסמה בשורת הפקודה, משתמשים בפקודה
get_token
בטופס:get_token -u emailAddress -p passcode
- מעבירים את אסימון הגישה אל קריאה ל-Edge Management API בתור הכותרת של Bearer:
curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
אחרי שמקבלים אסימון גישה חדש בפעם הראשונה, אפשר לקבל את אסימון הגישה ולהעביר אותו לקריאה ל-API בפקודה אחת, כמו בדוגמה הבאה:
header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName
בצורה הזו של הפקודה, אם פג התוקף של אסימון הגישה, הוא עובר רענון באופן אוטומטי עד שיפוג התוקף של אסימון הרענון.
לאחר שיפוג התוקף של אסימון הרענון, get_token
יבקש ממך קוד סיסמה חדש. כדי ליצור אסימון גישה חדש ל-OAuth,
צריך לעבור לכתובת ה-URL שצוינה בשלב 3 וליצור קוד גישה חדש
שימוש ב-Management API כדי לקבל אסימונים ולרענן אותם
במאמר שימוש באבטחת OAuth2 עם ממשק ה-API לניהול Apigee Edge מוסבר איך להשתמש בממשק ה-API לניהול Edge כדי לקבל אסימונים ולרענן אותם. אפשר גם להשתמש בקריאות ל-API של Edge עבור אסימונים שנוצרו מטענות נכונות של SAML.
ההבדל היחיד בין קריאות ה-API שתועדו במסגרת השימוש באבטחת OAuth2 עם ממשק ה-API לניהול Apigee Edge הוא שכתובת ה-URL של הקריאה חייבת לכלול את שם האזור שלכם. בנוסף, כדי ליצור את אסימון הגישה הראשוני, צריך לכלול את קוד הגישה, כפי שמוצג בשלב 3 של התהליך שלמעלה.
לדוגמה, משתמשים בקריאה הבאה ל-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 / https://edge_sso_IP_DNS:9099/oauth/token -s / -d 'grant_type=password&response_type=token&passcode=passcode'
כדי לקבל הרשאה, צריך להעביר פרטי כניסה שמורים של לקוח ב-OAuth2 בכותרת
Authorization
. השיחה תדפיס את אסימוני הגישה והרענון במסך.
כדי לרענן את אסימון הגישה מאוחר יותר, יש להשתמש בקריאה הבאה שכוללת את אסימון הרענון:
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 / https://edge_sso_IP_DNS:9099/oauth/token / -d 'grant_type=refresh_token&refresh_token=refreshToken'