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

התכונה 'אימות בסיסי' היא אחת מהדרכים לאימות בזמן קריאות ל-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 שמשתמשים ב-Basic Auth, כדי להעביר אסימוני גישה מסוג OAuth2 בכותרת Bearer.

שימוש ב-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 של המכונה שמארחת את מודול ה-SSO של Edge. אם הגדרתם 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 להתחברות, באופן הבא:
    ייצוא SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"

    כאשר edge_sso_IP_DNS הוא כתובת ה-IP של שם ה-DNS של המכונה שמארחת את מודול ה-SSO של Edge. אם הגדרתם TLS ב-Edge SSO, יש להשתמש ב-https ובמספר יציאת ה-TLS הנכון.
  5. בדפדפן, עוברים לכתובת ה-URL הבאה כדי לקבל קוד גישה חד-פעמי:
    http://edge_sso_IP_DNS:9099/passcode

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

    הערה: אם ספק הזהויות שלכם לא מחובר כרגע, תתבקשו להתחבר.

    כתובת ה-URL הזו מחזירה קוד סיסמה חד-פעמי שנשאר בתוקף עד שמרעננים את כתובת ה-URL כדי לקבל קוד גישה חדש, או עד ליצירת אסימון גישה באמצעות get_token.
  6. מפעילים את get_token כדי לקבל את אסימון הגישה ל-OAuth2:
    > get_token -u emailAddress

    כאשר emailAddress היא כתובת האימייל של משתמש Edge. תוצג לך בקשה להזין את קוד הסיסמה החד-פעמי שקיבלת בשלב 3:
    קוד חד-פעמי ( ניתן לקבל קוד בכתובת https://edge_sso_IP.com/passcode )
    מזינים את קוד הסיסמה אם SAML מופעל, או מקישים על ENTER:


    מזינים את קוד הסיסמה. כלי השירות get_token מקבל את אסימון הגישה של OAuth2, מדפיס אותו על המסך, כותב אותו ואת אסימון הרענון ל- ~/.sso-cli.

    אפשר להזין את קוד הגישה בשורת הפקודה באמצעות הפקודה get_token בטופס:
    > get_token -u emailAddress -p passcode

  7. > curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName

    אחרי שמקבלים את אסימון הגישה החדש שיופיע בפעם הראשונה אסימון גישה ל-pass כאסימון גישה חדש, תוכלו לקבל אסימון גישה חדש כאסימון גישה: יכול לגשת לפקודה כ-casting כדי להעניק גישה ל-API בשם 'הכותרת של מהדורת Edge/org': 8080/v1/organizations/orgName

    אחרי שמקבלים את אסימון הגישה החדש שיופיע כאסימון גישה חדש, תוכלו לקבל את אסימון הגישה כאסימון גישה חדש:

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

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

באבטחת OAuth2 עם ממשק ה-API לניהול Apigee Edge מוסבר איך להשתמש ב-Edge Management API כדי לקבל אסימונים ולרענן אותם. אפשר גם להשתמש בקריאות ל-API של Edge עבור אסימונים שנוצרים מטענות נכונות של 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 בכותרת הרשאה. במהלך הקריאה, אסימוני הגישה והרענון יודפסו על המסך.

כדי לרענן את אסימון הגישה מאוחר יותר, יש להשתמש בקריאה הבאה שכוללת את אסימון הרענון:

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'