שימוש ב-SAML עם Edge Management API

Edge for Private Cloud גרסה 4.17.09

אחת הדרכים לבצע אימות היא לבצע אימות בקריאות ל-Edge management API. עבור לדוגמה, אפשר לשלוח ל-Edge management API את בקשת ה-cURL הבאה כדי לגשת למידע. על הארגון שלך:

curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName

בדוגמה הזו, תשתמשו באפשרות cURL -u כדי להעביר פרטי כניסה של Basic Auth. לחלופין, אפשר להעביר אסימון OAuth2 בכותרת Bearer כדי ליצור ממשק Edge Management API שיחות. לדוגמה:

curl -H "Authorization: Bearer <access_token>" https://ms_IP_DNS:8080/v1/organizations/orgName

לאחר הפעלת SAML, ניתן להשבית את האימות הבסיסי. אם משביתים את האימות הבסיסי, סקריפטים (סקריפטים של Maven, סקריפטים של מעטפת, apigeetool וכו') שמבוססים על Edge קריאות ל-Management API שתומכות ב'אימות בסיסי' לא יפעלו יותר. עליך לעדכן את כל הקריאות ל-API סקריפטים שמשתמשים ב'אימות בסיסי' כדי להעביר אסימוני גישה מסוג OAuth2 בכותרת של 'נושא'.

שימוש ב-get_token כדי לקבל ולרענן אסימונים

כלי השירות get_token ממיר את פרטי הכניסה לאימות בסיסי וקוד גישה לאסימון גישה ורענון של OAuth2. כלי השירות get_token מקבל את לאחר מכן, מדפיסים אסימון גישה חוקי. אם אפשר לרענן אסימון, הוא ירענן אותו להדפיס אותו. אם התוקף של אסימון הרענון יפוג, תתבקשו להזין את פרטי הכניסה של המשתמש.

חנויות השירות של get_token את האסימונים שבדיסק, מוכנים לשימוש במקרה הצורך. היא גם מדפיסה אסימון גישה תקף ל-stdout. משם תוכלו להשתמש ב-Postman או להטמיע אותו במשתנה סביבה לשימוש ב-curl.

התהליך הבא מתאר איך להשתמש ב-get_token כדי לקבל אסימון גישה מסוג OAuth2 כדי ביצוע קריאות ל-Edge management API:

  1. הורדת החבילה 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 של המכונה שמתארחים במודול Edge SSO. אם הגדרת TLS ב-Edge SSO, צריך להשתמש https ומספר יציאת ה-TLS הנכון.

  2. מחלצים את החבילה ssocli-bundle.zip:
    unzip ssocli-bundle.zip
  3. התקנה של get_token ב- /usr/local/bin:
    ./install

    משתמשים באפשרות -b כדי לציין מיקום אחר:

    ./install -b path
  4. מגדירים את משתנה הסביבה SSO_LOGIN_URL לכתובת ה-URL להתחברות, באופן הבא:
    export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"

    כאשר edge_sso_IP_DNS הוא כתובת ה-IP של שם ה-DNS של המכונה שמתארחים במודול Edge SSO. אם הגדרת TLS ב-Edge SSO, צריך להשתמש https ומספר יציאת ה-TLS הנכון.

  5. בדפדפן, עוברים לכתובת ה-URL הבאה כדי לקבל קוד סיסמה חד-פעמי:
    http://edge_sso_IP_DNS:9099/passcode

    אם הגדרתם TLS ב-Edge SSO, צריך להשתמש ב-https ובמספר היציאה הנכון של TLS.

    כתובת ה-URL הזו מחזירה קוד סיסמה חד-פעמי שיישאר בתוקף עד שתרעננו את כתובת ה-URL כדי לקבל קוד הגישה החדש, או שמשתמשים בקוד הגישה עם get_token כדי ליצור גישה ב-Assistant.

  6. צריך להפעיל את 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
  7. מעבירים את אסימון הגישה לקריאה ל-Edge management API ככותרת הנושא:
    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 בקשה להזין קוד גישה חדש. שלך חייבים לעבור לכתובת האתר שצוינה למעלה בשלב 3 וליצור קוד סיסמה חדש, לפני שתוכלו ליצור אסימון גישה חדש ל-OAuth

שימוש ב-Management API כדי לקבל ולרענן אסימונים

שימוש ב-OAuth2 אבטחה עם Apigee Edge management API כוללת הוראות שמראות איך להשתמש ממשק API לניהול Edge לקבלת אסימונים ולרענון שלהם. אפשר גם להשתמש בקריאות ל-Edge API לצורך אסימונים שנוצר מטענות נכונות (assertions) של SAML.

ההבדל היחיד בין הקריאות ל-API שתועדו ב שימוש באבטחת OAuth2 באמצעות Apigee Edge management API שכתובת ה-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'