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

Edge for Private Cloud גרסה 4.19.01

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

SSO_TOMCAT_PROFILE=DEFAULT

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

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

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

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

הפעלת מצב SSL_PROXY

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

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

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

כדי להגדיר את מודול Edge SSO למצב 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 SSO:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. צריך לעדכן את ההגדרה של ה-IdP כדי לשלוח עכשיו בקשת HTTPS ביציאה 443 של העומס כדי לגשת ל-Edge SSO. מידע נוסף זמין בקטע הגדרת SAML IDP לקבלת יותר.
  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 (או פשוט את הפורטל), תצטרכו לעדכן אותו כך שישתמש ב-HTTPS כדי גישה ל-Edge SSO. מידע נוסף זמין במאמר הגדרת הפורטל לשימוש ב-SAML לצורך תקשורת עם Edge

הפעלת מצב SSL_TERMINATION

במצב SSL_TERMINATION צריך:

  • ליצור אישור ומפתח TLS ולאחסן אותם בקובץ מאגר מפתחות. לא ניתן להשתמש עם חתימה עצמית. צריך ליצור אישור מ-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 בשטח.
  4. יוצרים קובץ JKS בבעלות ה-apigee משתמש:
    sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

כדי להגדיר את מודול ה-SSO SSO:

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

הגדרת SSO_TOMCAT_PROXY_PORT כשמשתמשים במצב SSL_TERMINATION

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

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

  • מאזן העומסים מסיים TLS ביציאה 443
  • שירות Edge SSO מסיים 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.