Настройте apigee-sso для доступа по HTTPS

Edge для частного облака v4.19.01

Установка и настройка Edge SSO описывает, как установить и настроить модуль Edge SSO для использования HTTP на порту 9099, как указано в следующем свойстве в файле конфигурации Edge:

SSO_TOMCAT_PROFILE=DEFAULT

Альтернативно вы можете установить SSO_TOMCAT_PROFILE одно из следующих значений, чтобы включить доступ HTTPS:

  • SSL_PROXY — настраивает apigee-sso , модуль Edge SSO, в режиме прокси, что означает, что вы установили балансировщик нагрузки перед apigee-sso и отключили TLS на балансировщике нагрузки. Затем вы указываете порт, используемый в apigee-sso для запросов от балансировщика нагрузки.
  • SSL_TERMINATION — включен TLS-доступ к apigee-sso через выбранный вами порт. Для этого режима необходимо указать хранилище ключей, содержащее сертификат, подписанный центром сертификации. Вы не можете использовать самоподписанный сертификат.

Вы можете включить 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, теперь должны получать доступ к модулю Edge SSO через порт 443, а не через незащищенный порт 9099.

Причина настройки модуля Edge SSO в режиме SSL_PROXY заключается в том, что модуль Edge SSO автоматически генерирует URL-адреса перенаправления, используемые IDP извне в рамках процесса аутентификации. Таким образом, эти URL-адреса перенаправления должны содержать номер внешнего порта балансировщика нагрузки, 443 в этом примере, а не внутренний порт модуля Edge SSO, 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. Настройте модуль Edge 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 Developer Services (или просто портал ), обновите его, чтобы использовать HTTPS для доступа к Edge SSO. Дополнительные сведения см. в разделе Настройка портала для использования SAML для связи с Edge.

Включить режим SSL_TERMINATION

Для режима SSL_TERMINATION необходимо:

  • Создайте сертификат и ключ TLS и сохраните их в файле хранилища ключей. Вы не можете использовать самозаверяющий сертификат. Вы должны создать сертификат от центра сертификации.
  • Обновите параметры конфигурации 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, содержащий сертификат и ключ. Для этого режима необходимо указать хранилище ключей, содержащее сертификат, подписанный центром сертификации. Вы не можете использовать самоподписанный сертификат. Пример создания файла 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.
    # 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. Настройте модуль Edge SSO:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Обновите конфигурацию IDP, чтобы теперь отправлять HTTPS-запрос на порт 9443 балансировщика нагрузки для доступа к Edge SSO. Убедитесь, что никакая другая служба не использует этот порт. Дополнительную информацию см. в разделе Настройка SAML IDP .
  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 UI для отправки HTTPS-запросов через порт 443.