מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
SAML תומך בסביבת כניסה יחידה (SSO). שימוש ב-SAML עם Edge, אפשר לתמוך ב-SSO לממשק המשתמש ול-API של Edge בנוסף לכל שירות אחר שאתם מספקים ותומך גם ב- SAML.
דרישה מוקדמת: צריך להפעיל SAML לפחות לארגון אחד בלבד כדי שניתן יהיה להשתמש בו כדי לגשת ל-Edge API.
ההבדלים בין SAML לבין OAuth2
לאחר הגדרת SAML, השימוש בו דומה מאוד לשימוש ב-OAuth2 כדי לגשת ל-Edge API. כשקוראים ל-Edge API, צריך לכלול אסימון גישה מסוג OAuth2 על הבקשה שלך.
ההבדל העיקרי בין SAML ל-OAuth2 בגישה ל-Edge API עדיין לא הושלם מקבלים אסימונים. כשמשתמשים ב-SAML, צריך לכלול את הפרטים הבאים כשמקבלים צמד אסימונים:
- אזורים: משתמשי Edge למשתמשי Cloud Public Cloud צריכים להפנות לשם התחום שלהם כשהם מקבלים אסימונים.
- קוד גישה: יש לכלול קוד גישה חד-פעמי כשמבקשים גישה או רענון זוג אסימונים.
SAML משתמש באותן נקודות קצה בשירות Edge2 של Edge, עם הוספת שם התחום המתאים.
כדי לקבל אסימוני גישה באמצעות SAML, אפשר להשתמש באחת מהשיטות הבאות שמתוארות בקטע הזה:
בנוסף, אפשר גם להפוך את תהליך יצירת האסימון לאוטומטי עבור משתמשי מכונות, כפי שמתואר במאמר אוטומציה של תהליך יצירת האסימון.
קבלת אסימוני גישה באמצעות get_token
אפשר להשתמש בכלי get_token
כדי להחליף את פרטי הכניסה בגישת OAuth2 וגם
אסימוני רענון שבהם משתמשים עם SAML.
כדי לקבל אסימון גישה עם get_token:
- מגדירים את משתנה הסביבה
SSO_LOGIN_URL
לכתובת ה-URL להתחברות. כתובת ה-URL להתחברות כוללת בצורה הבאה:https://zoneName.login.apigee.com
לדוגמה, לתחום בשם 'acme', מגדירים את
SSO_LOGIN_URL
כ-'https://acme.login.apigee.com', כפי שאפשר לראות בדוגמה הבאה:export SSO_LOGIN_URL=https://acme.login.apigee.com
- קוראים לפונקציה
get_token
כדי לקבל את אסימון הגישה מסוג OAuth2:get_token -u me@example.com
עליך לבקר בכתובת ה-URL שמוצגת כדי לקבל קוד סיסמה חד-פעמי:
Get passcode from https://acme.login.apigee.com/passcode [Note: Passcode can be used only time time and expires] Input passcode (no spaces) and then press ENTER:
אם לא נכנסת לאחרונה דרך ספק הזהויות שלך, תתבקשי להיכנס אינץ'
כתובת ה-URL הזו מחזירה קוד סיסמה חד-פעמי שיישאר בתוקף עד שתרעננו את כתובת ה-URL הזו לקבל קוד גישה חדש, או להשתמש בקוד הגישה עם
get_token
כדי ליצור אסימון גישה. לדוגמה: -
מזינים את קוד הגישה. כלי השירות
get_token
מקבל את אסימוני OAuth2, מדפיסה את אסימון הגישה ל-stdout
וכותבת את אסימוני הגישה והרענון אל~/.sso-cli
. - קוראים ל-Edge API ומעבירים את אסימון הגישה ב-
Authorization: Bearer
, כפי שאפשר לראות בדוגמה הבאה:curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
אפשר להעתיק את הערך של אסימון הגישה מ-
stdout
.בדוגמה הזו מובאים פרטים על הארגון הנתון. לרשימת הניהול המלאה נקודות הקצה ל-API זמינות בחומר העזר בנושא API של Apigee Edge.
כשתוקף אסימון הגישה יפוג, אפשר יהיה להתקשר שוב אל get_token
כדי לקבל גישה חדשה
ב-Assistant. לדוגמה:
get_token -u me@example.com
לא תוצג לכם בקשה להזין קוד גישה חדש לפני שיפוג התוקף של אסימון הרענון.
כשיפוג התוקף של אסימון הרענון, תוצג ב-get_token
בקשה להזין קוד גישה חדש. צריך
ליצור קוד גישה חדש, לפני שאפשר יהיה ליצור אסימון גישה חדש מסוג OAuth2.
קבלת אסימוני גישה באמצעות שירות Edge OAuth2
אפשר להשתמש בשירות Edge OAuth2 כדי לקבל אסימוני גישה שבהם משתמשים עם SAML. לאימות ב-Edge API, משתמשים בקוד גישה בבקשה הראשונית כדי לקבל גישה או רענון שוב ושוב, כדי לקבל זוג אסימונים חדש.
כדי לקבל צמד של אסימונים ל-Edge API:
- בדפדפן, עוברים לכתובת ה-URL הבאה כדי לקבל קוד סיסמה חד-פעמי:
https://zoneName.login.apigee.com/passcode
לדוגמה, לתחום בשם 'acme', עוברים אל כתובת ה-URL הבאה:
https://acme.login.apigee.com/passcode
אם לא נכנסת לאחרונה דרך ספק הזהויות שלך, תתבקשי להיכנס אינץ'
כתובת ה-URL הזו מחזירה קוד סיסמה חד-פעמי שמשמש כפרטי הכניסה שלך לקבלת אסימונים, ונשאר בתוקף עד לרענן את כתובת ה-URL כדי אפשר לקבל קוד סיסמה חדש. לחלופין, אפשר להשתמש בקוד הגישה עם
get_token
כדי ליצור אסימון גישה. לדוגמה: - שולחים בקשה ל-Edge API, כמו בדוגמה הבאה:
curl https://zoneName.login.apigee.com/oauth/token \ -s \ -H "Accept: application/json" \ -d 'grant_type=password&response_type=token&passcode=passcode'
passcode משמש כפרטי הכניסה שלך לקבלת הרשאה.
כאשר:
- הכותרת
Authorization
היא "Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" (השתמשו ב- ערך מדויק). - סוג הבקשה הוא
POST
. - גוף הבקשה כולל את הפרטים הבאים:
grant_type
הוא 'סיסמה'.response_type
הוא 'אסימון'.passcode
כאשר passcode הוא קוד הגישה שהוחזר בשלב הקודם.
השיחה מדפיסה את אסימוני הגישה והרענון במסך.
- הכותרת
כדי לרענן את אסימון הגישה:
עליך לשלוח בקשה אל https://zoneName.login.apigee.com/oauth/token
,
כפי שאפשר לראות בדוגמה הבאה:
curl https://zoneName.login.apigee.com/oauth/token \ -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'
כאשר:
- גוף הבקשה כולל את הפרטים הבאים:
grant_type
הוא 'refresh_token'.refresh_token
הוא הערך של אסימון הרענון.
- הכותרת
Authorization
היא "Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" (השתמשו ב- ערך מדויק). - סוג הבקשה הוא
POST
.
גישה ל-Edge API עם SAML
אפשר להשתמש בכלים כמו curl
או כלי הנוחות של Apigee acurl
אל
נכנסים ל-Edge API.
באמצעות curl
, שולחים קריאה ל-API של Edge ומעבירים את אסימון הגישה
Authorization: Bearer
, כמו בדוגמה הבאה:
curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
כשמשתמשים ב-acurl
, אין צורך לציין את הכותרת Authorization
. לדוגמה:
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
בדוגמאות הבאות מתבצעת קריאה לנקודת קצה (endpoint) של Edge API שמקבלת פרטים על הארגון הנתון. רשימה מלאה של נקודות הקצה ל-Edge API מופיעה בחומר העזר בנושא API של Apigee Edge.
לשיטות נוספות של קריאה ל-API, כולל דרכים להבטיח שהאסימון שלכם יישאר מידע נוסף זמין במאמר גישה ל-Edge API באמצעות OAuth2.
משתמשי מכונות בתחומי SAML
אפשר להשתמש בכלים acurl
ו-get_token
כדי לכתוב סקריפטים לגישה אוטומטית
לממשקי ה-API של Edge למשתמשי מכונה בתחומי SAML.
הדוגמה הבאה מראה איך
להשתמש ב-get_token
כדי
מבקשים אסימון גישה ולאחר מכן מוסיפים את ערך האסימון לקריאה של curl
:
USER=me@example.com
PASS=not-that-secret
TOKEN=$(get_token -u $USER:$PASS -m '' --force-basic-auth)
curl -H "Authorization: Bearer $TOKEN" 'https://api.enterprise.apigee.com/v1/organizations/...'
בדוגמה שלמעלה, הגדרת הערך של -m
כמחרוזת ריקה תמנע מהמשתמש במכונה
מהצגת קוד MFA. שימוש בדגל --force-basic-auth
יבטל את הדגל
הבקשה הרגילה לקוד סיסמה שמופעלת על ידי בקשות עם אזורי SAML.
לחלופין, אפשר לשלב את הבקשה לאסימון עם הקריאה curl
באמצעות הכלי acurl
.
לדוגמה:
USER=me@example.com
PASS=not-that-secret
acurl -u $USER:$PASS -m '' --force-basic-auth 'https://api.enterprise.apigee.com/v1/organizations/...'