Как настроить Apigee SSO для доступа по протоколу HTTPS

В статье Как установить и настроить систему единого входа Apigee описывается, как установить и настроить систему единого входа Apigee для использования HTTP на порту 9099 по умолчанию. По умолчанию система единого входа Apigee использует HTTP.

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

  • SSL_PROXY: настраивает систему единого входа Apigee в режиме прокси. Это означает, что вы установили балансировщик нагрузки перед узлом OpenLDAP и завершили TLS на балансировщике нагрузки. Система единого входа Apigee прослушивает HTTP, но выдает URL, используя схему HTTPS вашего балансировщика нагрузки.
  • SSL_TERMINATION: включает доступ TLS непосредственно в системе единого входа Apigee на выбранном вами порту. Для этого режима необходимо указать стандартный сертификат в кодировке PEM и закрытый ключ.

Вы можете включить HTTPS при первоначальной установке и настройке системы единого входа Apigee или позже.

В следующих разделах описаны дополнительные токены, которые необходимо обновить в файлах конфигурации (/opt/silent.conf и /opt/apigee/customer/application/openldap.properties). Скрипт setup-sso автоматически анализирует переменные из обоих файлов, применяет конфигурацию и запускает встроенную систему единого входа Apigee. Токены, которые должны быть в файле конфигурации для успешной настройки SSO, перечислены в статье Как установить и настроить Apigee SSO.

Как включить режим SSL_PROXY

В режиме SSL_PROXY система использует балансировщик нагрузки перед системой единого входа Apigee и завершает TLS на балансировщике нагрузки. На рисунке ниже балансировщик нагрузки завершает TLS на порту 443, а затем пересылает запросы в Apigee SSO на порт 9099:

SSO с балансировщиком нагрузки

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

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

Чтобы настроить систему единого входа 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, чтобы применить конфигурацию, перезапустите Apigee SSO и автоматически обновите Edge Management Server:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf
  4. Обновите конфигурацию поставщика идентификационной информации (например, Okta или ADFS), чтобы отправлять HTTPS-запрос балансировщику нагрузки для доступа к системе единого входа Apigee. Подробнее о том, как настроить поставщика идентификационной информации SAML…
  5. Выполните скрипт настройки пользовательского интерфейса, чтобы автоматически настроить и перезапустить сервер New Edge UI:
    /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

Чтобы настроить Apigee SSO в режиме 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, чтобы применить конфигурацию, перезапустить Apigee SSO и автоматически обновить сервер управления Edge:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf
  4. Обновите конфигурацию поставщика идентификационной информации (например, Okta или ADFS), чтобы отправлять HTTPS-запрос на порт 9443 для доступа к системе единого входа Apigee. Подробнее о том, как настроить поставщика идентификационной информации SAML…
  5. Выполните скрипт настройки пользовательского интерфейса, чтобы автоматически настроить сервер New Edge UI:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-sso -f /opt/silent.conf