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

Edge for Private Cloud בגרסה 4.17.09

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

  • אימות בסיסי: כדי להתחבר לממשק המשתמש של Edge או לשלוח בקשות ל-API לניהול של Edge, צריך להעביר את שם המשתמש והסיסמה.
  • 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 בממשק המשתמש וב-API של Edge, בנוסף לכל שירות אחר שאתם מספקים שתומך גם ב-SAML.

נוספה תמיכה ב-OAuth2 ל-Edge for Private Cloud

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

היתרונות של SAML

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

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

שימוש ב-SAML עם Edge

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

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

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

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

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

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

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

כתובת ה-URL שמשמשת לגישה ל-Edge UI ול-Edge management API זהה לכתובת ה-URL ששימשה לפני הפעלת 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

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

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

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

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

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

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

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

אפשר גם להגדיר יציאה יחידה. הגדרת יציאה יחידה דרך ממשק המשתמש של Edge