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

Edge для частного облака v. 4.17.09

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

SSO_TOMCAT_PROFILE=DEFAULT

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

  • SSL_PROXY — настраивает apigee-sso в режиме прокси, что означает, что вы установили балансировщик нагрузки перед apigee-sso и отключили TLS на балансировщике нагрузки. Затем вы указываете порт, используемый в apigee-sso для запросов от балансировщика нагрузки.
  • SSL_TERMINATION — включен доступ TLS к apigee-sso , модулю Edge 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.

Примечание . Вам не нужно создавать сертификат и ключ TLS для режима SSL_PROXY , поскольку соединение балансировщика нагрузки с модулем Edge SSO использует HTTP.

Чтобы настроить модуль Edge SSO для режима SSL_PROXY :

  1. Добавьте следующие настройки в файл конфигурации:
    # Включите режим SSL_PROXY.
    SSO_TOMCAT_PROFILE=SSL_PROXY

    # Укажите порт apigee-sso, обычно между 1025 и 65535.
    # Обычно порты 1024 и ниже требуют root-доступа с помощью apigee-sso.
    # По умолчанию — 9099.
    SSO_TOMCAT_PORT=9099

    # Укажите номер порта на балансировщике нагрузки для завершения TLS.
    # Этот номер порта необходим apigee-sso для автоматического создания URL-адресов перенаправления.
    SSO_TOMCAT_PROXY_PORT=443
    SSO_PUBLIC_URL_PORT=443

    # Установите схему публичного доступа apigee-sso на 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


    Дополнительные сведения см. в разделе «Включение SAML в пользовательском интерфейсе Edge» .
  5. Если вы установили портал служб разработчиков или API BaaS, обновите их, чтобы использовать HTTPS для доступа к Ede SSO. Подробнее см.:

Включить режим 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. Добавьте следующие настройки в файл конфигурации:
    # Включите режим SSL_TERMINATION.
    SSO_TOMCAT_PROFILE=SSL_TERMINATION

    # Укажите путь к файлу хранилища ключей.
    SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks
    SSO_TOMCAT_KEYSTORE_ALIAS=sso

    # Пароль, указанный при создании хранилища ключей.
    SSO_TOMCAT_KEYSTORE_PASSWORD= пароль хранилища ключей

    # Укажите номер порта HTTPS от 1025 до 65535.
    # Обычно порты 1024 и ниже требуют root-доступа с помощью apigee-sso.
    # По умолчанию — 9099.
    SSO_TOMCAT_PORT=9443
    SSO_PUBLIC_URL_PORT=9443

    # Установите схему публичного доступа apigee-sso на 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. Если вы установили портал служб разработчиков или API BaaS, обновите их, чтобы использовать HTTPS для доступа к Ede SSO. Подробнее см.:

Настройка 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

Обязательно включите следующий параметр в файл конфигурации:

# Укажите номер порта на балансировщике нагрузки для завершения TLS.
# Этот номер порта необходим для того, чтобы apigee-sso генерировал URL-адреса перенаправления.
SSO_TOMCAT_PROXY_PORT=443
SSO_PUBLIC_URL_PORT=443

Настройте IDP и Edge UI для отправки HTTPS-запросов через порт 443.