Настройте единый вход Apigee для доступа по протоколу HTTPS.

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

SSO_TOMCAT_PROFILE=DEFAULT

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

  • SSL_PROXY: настраивает apigee-sso , модуль Apigee 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 ваша система использует балансировщик нагрузки перед модулем Apigee SSO и завершает TLS на балансировщике нагрузки. На следующем рисунке балансировщик нагрузки завершает TLS на порту 443, а затем перенаправляет запросы модулю Apigee SSO на порту 9099:

В этой конфигурации вы доверяете соединению балансировщика нагрузки с модулем Apigee SSO, поэтому для этого соединения нет необходимости использовать TLS. Однако внешние объекты, такие как IDP, теперь должны получать доступ к модулю Apigee SSO через порт 443, а не через незащищенный порт 9099.

Причина настройки модуля Apigee SSO в режиме SSL_PROXY заключается в том, что модуль Apigee SSO автоматически генерирует URL-адреса перенаправления, используемые IDP извне как часть процесса аутентификации. Таким образом, эти URL-адреса перенаправления должны содержать номер внешнего порта балансировщика нагрузки, 443 в этом примере, а не внутренний порт модуля Apigee SSO, 9099.

Чтобы настроить модуль Apigee 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. Настройте модуль единого входа 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 SSO. Дополнительные сведения см. в разделе Настройка портала для использования внешних IDP.

Дополнительные сведения см. в разделе Включение внешнего IDP в пользовательском интерфейсе 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

Чтобы настроить модуль Apigee 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. Настройте модуль единого входа 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 для доступа к Apigee SSO. Дополнительные сведения см. в разделе Настройка портала для использования внешних IDP .

Установите SSO_TOMCAT_PROXY_PORT при использовании режима SSL_TERMINATION.

У вас может быть балансировщик нагрузки перед модулем Apigee SSO, который завершает TLS на балансировщике нагрузки, но также включает TLS между балансировщиком нагрузки и Apigee SSO. На рисунке выше для режима SSL_PROXY это означает, что соединение балансировщика нагрузки с Apigee SSO использует TLS.

В этом сценарии вы настраиваете TLS для единого входа Apigee так же, как вы это делали выше для режима 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 UI для отправки HTTPS-запросов через порт 443.