תמיכה ב-SAML ב-Edge עבור ענן פרטי

Edge for Private Cloud גרסה 4.18.01

ממשק המשתמש של Edge ו-Edge Management API פועלים באמצעות שליחת בקשות לשרת הניהול של Edge, שבו שרת הניהול תומך בסוגי האימות הבאים:

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

Edge תומך גם ב-Security Assertion Markup Language (SAML) 2.0 כמנגנון האימות. כש-SAML מופעל, הגישה לממשק המשתמש של Edge ול-Edge Management API עדיין משתמשת באסימוני גישה של OAuth2. עם זאת, עכשיו אפשר ליצור את האסימונים האלה מטענות נכוֹנוּת (assertions) של SAML שהוחזרו על ידי ספק זהויות ב-SAML.

הערה: SAML נתמך רק כמנגנון האימות. אין תמיכה באפשרות הזו. לכן, עדיין צריך להשתמש במסד הנתונים Edge OpenLDAP כדי לשמור את פרטי ההרשאות. למידע נוסף, אפשר לעיין בקטע הקצאת תפקידים.

SAML תומך בסביבת כניסה יחידה (SSO). באמצעות SAML עם Edge תוכלו לתמוך ב-SSO לממשק המשתמש של Edge ול-API, בנוסף לכל השירותים שאתם מספקים ושתומכים גם ב-SAML.

נוספה תמיכה ב-OAuth2 ל-Edge לענן פרטי

כפי שצוין למעלה, הטמעת Edge של SAML מסתמכת על אסימוני גישה מסוג OAuth2.לכן, נוספה תמיכה ב-OAuth2 ל-Edge בענן פרטי. מידע נוסף זמין במאמר מבוא ל-OAuth 2.0.

יתרונות ב-SAML

לאימות SAML יש כמה יתרונות. באמצעות SAML אפשר:

  • השליטה המלאה על ניהול המשתמשים נמצאת בידיים שלכם. כשמשתמשים עוזבים את הארגון וניהול ההקצאות המרכזי שלהם בוטל, הגישה שלהם ל-Edge נדחית באופן אוטומטי.
  • שליטה באופן שבו משתמשים מבצעים אימות כדי לגשת ל-Edge. אפשר לבחור סוגי אימות שונים לארגוני Edge שונים.
  • לשלוט במדיניות האימות. יכול להיות שספק ה-SAML שלך יתמוך במדיניות אימות שתואמת יותר לסטנדרטים של הארגון שלך.
  • בפריסה של Edge אפשר לעקוב אחרי כניסות, התנתקות, ניסיונות התחברות כושלים ופעילויות בסיכון גבוה.

שימוש ב-SAML עם Edge

כדי לתמוך ב-SAML ב-Edge, צריך להתקין את apigee-sso, מודול ה-SSO של Edge. בתמונה הבאה מוצגת SSO של Edge ב-Edge להתקנת ענן פרטי:

אפשר להתקין את מודול ה-SSO של Edge באותו צומת כמו ממשק המשתמש של Edge ושרת הניהול, או בצומת משלו. יש לוודא של-Edge SSO יש גישה לשרת הניהול דרך יציאה 8080.

יציאה 9099 צריכה להיות פתוחה בצומת ה-SSO של Edge כדי לתמוך בגישה ל-SSO ב-Edge מדפדפן, מ-IdP חיצוני ב-SAML, ומשרת הניהול וממשק המשתמש של Edge. כחלק מהגדרת SSO ב-Edge, ניתן לקבוע שהחיבור החיצוני משתמש ב-HTTP או בפרוטוקול HTTPS מוצפן.

SSO של Edge משתמש במסד נתונים של Postgres שניתן לגשת אליו ביציאה 5432 בצומת Postgres. בדרך כלל אפשר להשתמש באותו שרת Postgres שהתקנת עם Edge, או שרת Postgres עצמאי, או שני שרתי Postgres שמוגדרים במצב ראשי/המתנה. אם יש עומס על שרת Postgres שלך, אפשר גם ליצור צומת Postgres נפרד רק עבור SSO של Edge.

כש-SAML מופעל, הגישה לממשק המשתמש של Edge ולממשק ה-API לניהול Edge מבוססת על אסימוני גישה מסוג OAuth2. האסימונים האלה נוצרים על ידי מודול ה-SSO של Edge שמקבל טענות נכונות (assertions) של SAML שהוחזר על ידי ה-IdP שלך.

אחרי שאסימון ה-OAuth נוצר מטענת נכונות (assertion) של SAML, הוא תקף למשך 30 דקות ואסימון הרענון למשך 24 שעות. יכול להיות שסביבת הפיתוח תומכת באוטומציה למשימות פיתוח נפוצות, כמו אוטומציה של בדיקות או אינטגרציה רציפה (CI/CD) / פריסה רציפה (CI/CD), שמחייבות אסימונים עם משך זמן ארוך יותר. למידע נוסף על יצירת אסימונים מיוחדים למשימות אוטומטיות, אפשר לקרוא את המאמר שימוש ב-SAML עם משימות אוטומטיות.

כתובות URL של ממשק המשתמש של Edge ו-API

כתובת ה-URL שמשמשת אותך לגישה לממשק המשתמש של Edge ול-Edge Management API זהה לכתובת שהייתה בשימוש לפני הפעלת SAML. בממשק המשתמש של Edge:

http://edge_ui_IP_DNS:9000
https://edge_ui_IP_DNS:9000

כאשר edge_ui_IP_DNS הוא כתובת ה-IP או שם ה-DNS של המכונה שמארחת את ממשק המשתמש של Edge. כחלק מהגדרת ממשק המשתמש של Edge, אפשר לקבוע שהחיבור ישתמש ב-HTTP או בפרוטוקול HTTPS מוצפן.

ל-Edge Management API:

http://ms_IP_DNS:8080/v1  
https://ms_IP_DNS:8080/v1  

כאשר ms_IP_DNS הוא כתובת ה-IP או שם ה-DNS של שרת הניהול. כחלק מהגדרת ה-API, אפשר לציין שהחיבור משתמש ב-HTTP או בפרוטוקול HTTPS מוצפן.

הגדרת TLS ב-Edge SSO

כברירת מחדל, החיבור ל-SSO ב-Edge משתמש ב-HTTP דרך יציאה 9099 במודול הצומת המארח apigee-sso, מודול ה-SSO של Edge. מופע של Tomcat מובנה ב-apigee-sso שמטפל בבקשות HTTP ו-HTTPS.

Edge SSO ו-Tomcat תומכים בשלושה מצבי חיבור:

  • DEFAULT – הגדרת ברירת המחדל תומכת בבקשות HTTP ביציאה 9099.
  • SSL_TERMINATION – הופעלה גישת TLS ל-SSO ב-Edge ביציאה הרצויה. עליכם לציין מפתח TLS ואישור עבור המצב הזה.
  • SSL_PROXY – הגדרה של SSO ב-Edge במצב proxy, כלומר התקנת מאזן עומסים לפני apigee-sso והפסקת TLS במאזן העומסים. אפשר לציין את היציאה שבה נעשה שימוש ב-apigee-sso לבקשות ממאזן העומסים.

הפעלה של תמיכת SAML בפורטל השירותים למפתחים וב-API BaaS

אחרי שמפעילים תמיכת SAML ב-Edge, אפשר להפעיל SAML עבור:

במסגרת ההגדרה של פורטל השירותים למפתחים ושל ה-API BaaS, עליכם לציין את כתובת ה-URL של מודול ה-SSO של Edge שהתקנת באמצעות Edge:

ה-BaaS של Edge ו-API חולקים את אותו מודול של SSO ב-Edge, ולכן הם תומכים בכניסה יחידה (SSO). כלומר התחברות ל-Edge או ל-API BaaS תכניס אותך לשניהם. המשמעות היא גם שצריך לשמור רק מיקום אחד לכל פרטי הכניסה של המשתמשים.

אפשר גם להגדיר יציאה יחידה (SSO). אפשר לקרוא את המאמר הגדרת יציאה יחידה (SSO) בממשק המשתמש של Edge.