הגדרת apigee-sso לגישה ל-HTTPS

Edge for Private Cloud גרסה 4.18.05

במאמר התקנה והגדרה של SSO ב-Edge מוסבר איך להתקין ולהגדיר את מודול ה-SSO של Edge לשימוש ב-HTTP ביציאה 9099, כפי שמצוין על ידי המאפיין הבא בקובץ התצורה:

SSO_TOMCAT_PROFILE=DEFAULT

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

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

אפשר להפעיל HTTPS במהלך ההתקנה וההגדרה הראשונית של apigee-sso, או להפעיל אותו מאוחר יותר.

הפעלת גישת HTTPS ל-apigee-sso באמצעות אחד המצבים משביתה את גישת ה-HTTP. כלומר, לא ניתן לגשת אל apigee-sso בו-זמנית באמצעות HTTP וגם HTTPS.

אפשר מצב SSL_PROXY

במצב SSL_PROXY, המערכת משתמשת במאזן עומסים מול מודול ה-SSO של Edge ומפסיקה את ה-TLS במאזן העומסים. באיור הבא, מאזן העומסים מסיים את ה-TLS ביציאה 443, ואז מעביר בקשות למודול ה-SSO של Edge ביציאה 9099:

בתצורה הזו, מגדירים את החיבור ממאזן העומסים למודול ה-SSO של Edge כך שלא צריך להשתמש ב-TLS לחיבור הזה. עם זאת, ישויות חיצוניות, כמו ה-IdP של SAML, צריכות עכשיו לגשת למודול ה-SSO של Edge ביציאה 443, ולא ביציאה 9099 הלא מוגנת.

הסיבה להגדרת מודול ה-SSO של Edge במצב SSL_PROXY היא שהמודול SSO של Edge יוצר באופן אוטומטי כתובות URL להפניה אוטומטית שה-IdP משתמש בהן באופן חיצוני כחלק מתהליך האימות. לכן, כתובות ה-URL להפניה אוטומטית צריכות להכיל את מספר היציאה החיצונית במאזן העומסים, 443, בדוגמה הזו, ולא את היציאה הפנימית במודול SSO של Edge, 9099.

הערה: אין צורך ליצור אישור ומפתח TLS עבור מצב SSL_PROXY, כי החיבור ממאזן העומסים למודול SSO של Edge משתמש ב-HTTP.

כדי להגדיר את מודול ה-SSO של Edge למצב SSL_PROXY:

  1. מוסיפים את ההגדרות הבאות לקובץ התצורה:
    # Enable SSL_PROXY mode.
    SSO_TOMCAT_PROFILE=SSL_PROXY
    
    # Specify the apigee-sso port, typically between 1025 and 65535.
    # Typically ports 1024 and below require root access by apigee-sso.
    # The default is 9099.
    SSO_TOMCAT_PORT=9099
    
    # Specify the port number on the load balancer for terminating TLS.
    # This port number is necessary for apigee-sso to auto-generate redirect URLs.
    SSO_TOMCAT_PROXY_PORT=443
    SSO_PUBLIC_URL_PORT=443
    
    # Set public access scheme of apigee-sso to https.
    SSO_PUBLIC_URL_SCHEME=https
  2. מגדירים את מודול ה-SSO של Edge:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. צריך לעדכן את הגדרת ה-IdP שלך כדי שעכשיו תהיה אפשרות לשלוח בקשת HTTPS ביציאה 443 של מאזן העומסים כדי לגשת ל-Edge SSO. מידע נוסף זמין במאמר הגדרת ה-IdP ב-SAML.
  4. מעדכנים את ההגדרה של ממשק משתמש Edge עבור HTTPS על ידי הגדרה של המאפיינים הבאים בקובץ התצורה:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https

    ואז מעדכנים את ממשק המשתמש של Edge:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-sso -f configFile

    מידע נוסף זמין במאמר הפעלת SAML בממשק המשתמש של Edge.

  5. אם התקנתם את פורטל Apigee Developer Services (או פשוט את הפורטל), צריך לעדכן אותו כך שישתמש ב-HTTPS כדי לגשת לכניסה יחידה של Ede. למידע נוסף, תוכלו לקרוא את המאמר הגדרת הפורטל לשימוש ב-SAML לצורך תקשורת עם Edge

הפעלת מצב SSL_QUERYINATION

במצב SSL_TERMINATION יש לבצע את הפעולות הבאות:

  • יצרו אישור ומפתח TLS ושמרו אותם בקובץ Keystore. לא ניתן להשתמש באישור בחתימה עצמית. יש ליצור אישור מ-CA.
  • עדכון ההגדרות האישיות של apigee-sso.

כדי ליצור קובץ מאגר מפתחות מהאישור ומהמפתח:

  1. יוצרים ספרייה לקובץ ה-JKS:
    sudo mkdir -p /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  2. עוברים לספרייה החדשה:
    cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  3. יוצרים קובץ JKS שמכיל את האישור ואת המפתח. במצב הזה צריך לציין מאגר מפתחות שמכיל אישור שחתום על ידי CA. לא ניתן להשתמש באישור בחתימה עצמית. דוגמה ליצירת קובץ JKS: הגדרת TLS/SSL ל-Edge On Premises.
  4. מגדירים את קובץ ה-JKS כבעלים של משתמש ה-apigee:
    sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

כך מגדירים מודול SSO של Edge:

  1. מוסיפים את ההגדרות הבאות לקובץ התצורה:
    # Enable SSL_TERMINATION mode.
    SSO_TOMCAT_PROFILE=SSL_TERMINATION
    
    # Specify the path to the keystore file.
    SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks
    
    SSO_TOMCAT_KEYSTORE_ALIAS=sso
    
    # The password specified when you created the keystore.
    SSO_TOMCAT_KEYSTORE_PASSWORD=keystorePassword
    
    # Specify the HTTPS port number between 1025 and 65535.
    # Typically ports 1024 and below require root access by apigee-sso.
    # The default is 9099.
    SSO_TOMCAT_PORT=9443
    SSO_PUBLIC_URL_PORT=9443
    
    # Set public access scheme of apigee-sso to https.
    SSO_PUBLIC_URL_SCHEME=https
  2. מגדירים את מודול ה-SSO של Edge:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. צריך לעדכן את הגדרת ה-IdP כדי לשלוח בקשת HTTPS ביציאה 9443 של מאזן העומסים, כדי לגשת ל-Edge SSO. מידע נוסף זמין במאמר הגדרת ה-IdP ב-SAML.
  4. עדכון ההגדרה של ממשק משתמש Edge עבור HTTPS על ידי הגדרת המאפיינים הבאים:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https

    מידע נוסף זמין במאמר הפעלת SAML בממשק המשתמש של Edge.

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

הגדרת SSO_TOMCAT_PROXY_PORT בעת שימוש במצב SSL_QUERYINATION

יכול להיות שהתקנתם מאזן עומסים לפני מודול ה-SSO של Edge שמסיים את TLS במאזן העומסים, אבל גם מפעיל TLS בין מאזן העומסים לבין Edge SSO. באיור שלמעלה לגבי מצב SSL_PROXY, המשמעות היא שהחיבור ממאזן העומסים ל-Edge SSO משתמש ב-TLS.

בתרחיש הזה מגדירים את ה-TLS ב-Edge SSO בדיוק כמו שעשיתם למעלה עבור מצב SSL_TERMINATION. עם זאת, אם מאזן העומסים משתמש במספר יציאת TLS שונה מזה שמשמש את Edge SSO ל-TLS, צריך לציין גם את המאפיין SSO_TOMCAT_PROXY_PORT בקובץ התצורה. לדוגמה:

  • מאזן העומסים מסיים את ה-TLS ביציאה 443
  • SSO באמצעות Edge מסיים את ה-TLS (אבטחת שכבת התעבורה) ביציאה 9443

הקפידו לכלול את ההגדרה הבאה בקובץ התצורה:

# Specify the port number on the load balancer for terminating TLS.
# This port number is necessary for apigee-sso to generate redirect URLs.
SSO_TOMCAT_PROXY_PORT=443
SSO_PUBLIC_URL_PORT=443

יש להגדיר את ממשק המשתמש של IDP ו-Edge לשליחת בקשות HTTPS ביציאה 443.