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

Edge for Private Cloud v4.18.01

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

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

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

הפעלת מצב SSL_PROXY

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

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

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

הערה: לא צריך ליצור מפתח ואישור TLS למצב SSL_PROXY, כי החיבור ממאזן העומסים למודול Edge SSO משתמש ב-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.
    # ברירת המחדל היא 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. מעדכנים את ההגדרות של ספק הזהויות כדי לשלוח בקשת HTTPS ביציאה 443 של מאזן העומסים, כדי לגשת ל-Edge SSO. מידע נוסף זמין במאמר הגדרת ה-IdP של SAML.
  4. מעדכנים את הגדרות ממשק המשתמש של Edge ל-HTTPS על ידי הגדרת המאפיינים הבאים:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https


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

הפעלת מצב 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 On Premises.
  4. מגדירים את קובץ ה-JKS כך שיהיה בבעלות המשתמש "apigee":
    > sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

כדי להגדיר את מודול Edge 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.
    # ברירת המחדל היא 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. אם התקנתם את פורטל שירותי המפתחים או את API BaaS, עדכנו אותם כך שישתמשו ב-HTTPS כדי לגשת ל-Edge SSO. מידע נוסף זמין במאמרים הבאים:

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

יכול להיות שיש לכם מאזן עומסים לפני מודול ה-SSO של Edge שמסיים את ה-TLS במאזן העומסים, אבל גם מפעיל TLS בין מאזן העומסים לבין ה-SSO של Edge. באיור שלמעלה, במצב 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.