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

במאמר התקנה והגדרה של מודול SSO ב-Apigee מוסבר איך להתקין ולהגדיר את מודול SSO ב-Apigee לשימוש ב-HTTP ביציאת ברירת המחדל 9099. כברירת מחדל, מודול SSO ב-Apigee משתמש ב-HTTP.

כדי לאפשר גישה ל-HTTPS, אתם יכולים להגדיר את מודול SSO ב-Apigee באחד מהמצבים הבאים:

  • ‫SSL_PROXY: הגדרת מודול SSO ב-Apigee במצב proxy, כלומר התקנתם מאזן עומסים לפני צומת OpenLDAP וסיימתם את TLS במאזן העומסים. מודול SSO ב-Apigee מאזין ל-HTTP, אבל מנפיק כתובות URL באמצעות סכימת ה-HTTPS של מאזן העומסים.
  • SSL_TERMINATION: מאפשר גישה ל-TLS ישירות במודול SSO ב-Apigee ביציאה שתבחרו. במצב הזה צריך לציין אישור רגיל בקידוד PEM ומפתח פרטי.

אפשר להפעיל HTTPS בזמן ההתקנה וההגדרה הראשוניות של מודול SSO ב-Apigee, או להפעיל אותו בשלב מאוחר יותר.

בקטעים הבאים מתוארים הטוקנים הנוספים שצריך לעדכן בקובצי התצורה (/opt/silent.conf ו-/opt/apigee/customer/application/openldap.properties). הסקריפט setup-sso מנתח באופן אוטומטי את המשתנים משני הקבצים, מחיל את ההגדרות ומתחיל את ה-SSO המוטמע ב-Apigee. במאמר התקנה והגדרה של מודול SSO ב-Apigee מפורטים הטוקנים שצריכים להיות בקובץ התצורה כדי להגדיר את ה-SSO בהצלחה.

הפעלת מצב SSL_PROXY

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

כניסה יחידה (SSO) עם מאזן עומסים

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

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

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

  1. מוסיפים את ההגדרות הבאות לקובץ /opt/apigee/customer/application/openldap.properties:
    # Update the port the Apigee SSO listens on locally.
    etc_sso_config_bind_port=9099
    
    # Set the publicly accessible Issuer URL (the load balancer URL).
    # This prevents setup-sso from automatically appending the port.
    etc_sso_config_issuer_url=https://load_balancer_IP_or_DNS
  2. כדי לעדכן את הגדרת ממשק המשתמש החדש של Edge ל-HTTPS, צריך לוודא שהמאפיינים הבאים מוגדרים בקובץ /opt/silent.conf:
    SSO_PUBLIC_URL_SCHEME=https
    SSO_PUBLIC_URL_HOSTNAME=load_balancer_IP_or_DNS
    SSO_PUBLIC_URL_PORT=443
  3. מריצים את הסקריפט setup-sso כדי להחיל את ההגדרות, להפעיל מחדש את מודול SSO ב-Apigee ולעדכן באופן אוטומטי את שרת הניהול של Edge:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf
  4. מעדכנים את ההגדרה של ספק הזהויות (כמו Okta או ADFS) כדי לשלוח בקשת HTTPS למאזן העומסים כדי לגשת ל-Apigee SSO. מידע נוסף מופיע במאמר בנושא הגדרת ספק הזהויות (IDP) של SAML.
  5. מריצים את סקריפט ההגדרה של ממשק המשתמש כדי להגדיר מחדש את השרת של ממשק המשתמש החדש של Edge ולהפעיל אותו מחדש באופן אוטומטי:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-sso -f /opt/silent.conf

הפעלת מצב SSL_TERMINATION

כדי להשתמש במצב SSL_TERMINATION, צריך:

  • יוצרים מפתח ואישור TLS רגילים עם קידוד PEM. לייצור, צריך ליצור אישור שחתום על ידי רשות אישורים. אי אפשר להשתמש באישור עם חתימה עצמית.
  • מעדכנים את קובצי המאפיינים כדי לקשר ליציאה המאובטחת ולטעון את האישורים.

כדי להתקין את האישור והמפתח:

  1. יוצרים ספרייה לאישורים בצומת OpenLDAP:
    sudo mkdir -p /opt/apigee/customer/application/certs/
  2. מעתיקים את האישור בקידוד PEM‏ (.crt) ואת המפתח הפרטי (.key) לספרייה החדשה.
  3. משנים את הבעלים של הספרייה והקבצים למשתמש apigee, ומאבטחים את ההרשאות:
    sudo chown -R apigee:apigee /opt/apigee/customer/application/certs/
    sudo chmod 600 /opt/apigee/customer/application/certs/sso.key
    sudo chmod 644 /opt/apigee/customer/application/certs/sso.crt

כדי להגדיר את מודול ה-SSO ב-Apigee למצב SSL_TERMINATION:

  1. מוסיפים את ההגדרות הבאות לקובץ /opt/apigee/customer/application/openldap.properties:
    # 1. Enable HTTPS listener and configure TLS cert/key
    lib_settings_enable_sso_https=true
    etc_sso_config_bind_port_ssl=9443
    etc_sso_config_tls_cert_file=/opt/apigee/customer/application/certs/sso.crt
    etc_sso_config_tls_key_file=/opt/apigee/customer/application/certs/sso.key
    
    # 2. Update the Issuer URL to use HTTPS and the SSL port/hostname
    etc_sso_config_issuer_url=https://hostname_or_IP_of_openldap:9443
    
    # 3. (Optional) Disable plain HTTP if only HTTPS is desired
    # lib_settings_enable_sso_http=false
  2. כדי לעדכן את הגדרת ממשק המשתמש החדש של Edge ל-HTTPS, צריך לוודא שהמאפיינים הבאים מוגדרים בקובץ /opt/silent.conf:
    MANAGEMENT_UI_SSO_ENABLED=y
    SSO_PUBLIC_URL_SCHEME=https
    SSO_PUBLIC_URL_HOSTNAME=hostname_or_IP_of_openldap
    SSO_PUBLIC_URL_PORT=9443
  3. מריצים את הסקריפט setup-sso כדי להחיל את ההגדרות, להפעיל מחדש את מודול SSO ב-Apigee ולעדכן באופן אוטומטי את שרת הניהול של Edge:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf
  4. מעדכנים את ההגדרות של ספק הזהויות (כמו Okta או ADFS) כדי לשלוח בקשת HTTPS ביציאה 9443 כדי לגשת ל-SSO ב-Apigee. מידע נוסף זמין במאמר הגדרת ה-IDP של SAML.
  5. מריצים את סקריפט ההגדרה של ממשק המשתמש כדי להגדיר אוטומטית את שרת ממשק המשתמש החדש של Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-sso -f /opt/silent.conf