הגדרת SSO של Apigee לגישת HTTPS

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

SSO_TOMCAT_PROFILE=DEFAULT

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

  • SSL_PROXY: מגדיר את apigee-sso, מודול ה-SSO של Apigee, במצב שרת 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, המערכת משתמשת במאזן עומסים מול מודול ה-SSO של Apigee ומפסיקה את ה-TLS במאזן העומסים. באיור הבא, מאזן העומסים מסיים את TLS ביציאה 443, ולאחר מכן מעביר בקשות למודול ה-SSO של Apigee ביציאה 9099:

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

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

כדי להגדיר את מודול ה-SSO של Apigee למצב 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 של Apigee:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. צריך לעדכן את ההגדרה של ה-IdP כך שעכשיו תהיה אפשרות לשלוח בקשת HTTPS ביציאה 443 של מאזן העומסים כדי לגשת ל-Apigee SSO. מידע נוסף זמין באחת מהאפשרויות הבאות:
  4. מעדכנים את ההגדרה של ממשק משתמש Edge עבור HTTPS על ידי הגדרה של המאפיינים הבאים בקובץ התצורה:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https

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

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

    עליך להשתמש ברכיב edge-ui בממשק המשתמש הקלאסי.

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

למידע נוסף, אפשר לקרוא את המאמר הפעלת IdP חיצוני בממשק המשתמש של 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 של Apigee:

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

    למידע נוסף, קראו את המאמרים הבאים:

  4. עדכון ההגדרה של ממשק משתמש Edge עבור HTTPS על ידי הגדרת המאפיינים הבאים:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https
  5. אם התקנת את פורטל השירותים למפתחים, עליך לעדכן אותו כך שישתמש ב-HTTPS כדי לגשת ל-SSO ב-Apigee. למידע נוסף, ראו הגדרת הפורטל לשימוש ב-IdP חיצוניים.

הגדרת SSO_TOMCAT_PROXY_PORT במצב SSL_QUERYINATION

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

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

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