Обзор аутентификации внешнего IDP (пользовательский интерфейс New Edge)

Edge UI и API управления Edge работают путем отправки запросов на Edge Management Server, где Management Server поддерживает следующие типы аутентификации:

  • Базовая аутентификация: войдите в пользовательский интерфейс Edge или отправьте запросы к API управления Edge, указав свое имя пользователя и пароль.
  • OAuth2: Обменяйте учётные данные базовой аутентификации Edge на токен доступа OAuth2 и токен обновления. Выполняйте вызовы API управления Edge, передавая токен доступа OAuth2 в заголовке Bearer вызова API.

Edge поддерживает использование следующих внешних поставщиков идентификации (IDP) для аутентификации:

  • Язык разметки утверждений безопасности (SAML) 2.0: генерация доступа OAuth на основе утверждений SAML, возвращаемых поставщиком удостоверений SAML.
  • Облегченный протокол доступа к каталогам (LDAP): используйте методы поиска и привязки LDAP или простые методы аутентификации привязки для генерации токенов доступа OAuth.

Как SAML, так и LDAP IDP поддерживают среду единого входа (SSO). Используя внешний IDP с Edge, вы можете поддерживать SSO для пользовательского интерфейса и API Edge, а также для любых других предоставляемых вами сервисов, которые также поддерживают ваш внешний IDP.

Инструкции в этом разделе по включению поддержки внешнего IDP отличаются от внешней аутентификации следующим:

  • В этом разделе добавлена поддержка единого входа (SSO).
  • Этот раздел предназначен для пользователей Edge UI (не Classic UI)
  • Этот раздел поддерживается только в версии 4.19.06 и более поздних версиях.

О Apigee SSO

Для поддержки SAML или LDAP в Edge необходимо установить apigee-sso — модуль Apigee SSO. На следующем изображении показана установка Apigee SSO в Edge для частного облака:

Использование порта для Apigee SSO

Модуль Apigee SSO можно установить на том же узле, что и Edge UI и сервер управления, или на отдельном узле. Убедитесь, что у Apigee SSO есть доступ к серверу управления через порт 8080.

Для поддержки доступа к Apigee SSO из браузера, внешнего поставщика идентификации SAML или LDAP, а также с сервера управления и интерфейса Edge UI на узле Apigee SSO должен быть открыт порт 9099. При настройке Apigee SSO можно указать, что внешнее соединение использует протокол HTTP или зашифрованный протокол HTTPS.

Apigee SSO использует базу данных Postgres, доступную через порт 5432 на узле Postgres. Как правило, можно использовать тот же сервер Postgres, который установлен с Edge: как отдельный сервер Postgres, так и два сервера Postgres, настроенные в режиме «главный/резервный». Если нагрузка на сервер Postgres высока, можно создать отдельный узел Postgres специально для Apigee SSO.

Добавлена поддержка OAuth2 в Edge для частного облака

Как упоминалось выше, реализация SAML в Edge использует токены доступа OAuth2. Поэтому поддержка OAuth2 была добавлена в Edge для частного облака. Подробнее см. в разделе «Введение в OAuth 2.0» .

О САМЛ

Аутентификация SAML даёт ряд преимуществ. Используя SAML, вы можете:

  • Получите полный контроль над управлением пользователями. Когда пользователи покидают вашу организацию и их доступ к Edge отменяется централизованно, им автоматически отказывается в доступе.
  • Контролируйте, как пользователи проходят аутентификацию для доступа к Edge. Вы можете выбрать разные типы аутентификации для разных организаций Edge.
  • Контролируйте политики аутентификации. Ваш поставщик SAML может поддерживать политики аутентификации, которые больше соответствуют стандартам вашей компании.
  • Вы можете отслеживать входы в систему, выходы из системы, неудачные попытки входа в систему и высокорисковые действия на вашем Edge-развертывании.

При включенном SAML для доступа к Edge UI и API управления Edge используются токены доступа OAuth2. Эти токены генерируются модулем единого входа Apigee, который принимает утверждения SAML, возвращаемые вашим IDP.

После генерации на основе утверждения SAML токен OAuth действителен в течение 30 минут, а токен обновления — в течение 24 часов. Ваша среда разработки может поддерживать автоматизацию для распространённых задач разработки, таких как автоматизация тестирования или непрерывная интеграция/непрерывное развёртывание (CI/CD), для которых требуются токены с более длительным сроком действия. Подробнее о создании специальных токенов для автоматизированных задач см. в разделе Использование SAML с автоматизированными задачами.

О LDAP

Облегченный протокол доступа к каталогам (LDAP) — это открытый, стандартный отраслевой протокол для доступа к распределенным службам каталогов и их обслуживания. Службы каталогов могут предоставлять любой организованный набор записей, часто с иерархической структурой, например, корпоративный каталог электронной почты.

Для аутентификации LDAP в Apigee SSO используется модуль Spring Security LDAP. В результате методы аутентификации и параметры настройки поддержки LDAP в Apigee SSO напрямую соответствуют аналогичным параметрам в Spring Security LDAP.

LDAP с Edge для частного облака поддерживает следующие методы аутентификации на сервере, совместимом с LDAP:

  • Поиск и привязка (косвенная привязка)
  • Простой переплет (прямой переплет)

Apigee SSO пытается получить адрес электронной почты пользователя и обновить с его помощью свою внутреннюю запись пользователя, чтобы в файле был указан актуальный адрес электронной почты, поскольку Edge использует этот адрес электронной почты для авторизации.

URL-адреса пользовательского интерфейса и API Edge

URL-адрес, используемый для доступа к Edge UI и API управления Edge, тот же, что использовался до включения SAML или LDAP. Для Edge UI:

http://edge_UI_IP_DNS:9000
https://edge_UI_IP_DNS:9000

Где edge_UI_IP_DNS — это IP-адрес или DNS-имя компьютера, на котором размещен Edge UI. При настройке Edge UI вы можете указать, что подключение будет использовать протокол HTTP или зашифрованный протокол HTTPS.

Для API управления Edge:

http://ms_IP_DNS:8080/v1
https://ms_IP_DNS:8080/v1

Где ms_IP_DNS — IP-адрес или DNS-имя сервера управления. При настройке API вы можете указать, что подключение будет использовать протокол HTTP или зашифрованный протокол HTTPS.

Настройка TLS на Apigee SSO

По умолчанию подключение к Apigee SSO осуществляется по протоколу HTTP через порт 9099 на узле, где размещается apigee-sso — модуль Apigee SSO. В apigee-sso встроен экземпляр Tomcat, обрабатывающий HTTP- и HTTPS-запросы.

Apigee SSO и Tomcat поддерживают три режима подключения:

  • ПО УМОЛЧАНИЮ: конфигурация по умолчанию поддерживает HTTP-запросы через порт 9099.
  • SSL_TERMINATION: Включен TLS-доступ к Apigee SSO через выбранный вами порт. Для этого режима необходимо указать ключ TLS и сертификат.
  • SSL_PROXY: настраивает единый вход Apigee в режиме прокси-сервера, что означает установку балансировщика нагрузки перед apigee-sso и отключение TLS на балансировщике. Вы можете указать порт, используемый на apigee-sso для запросов от балансировщика нагрузки.

Включить внешнюю поддержку IDP для портала

После включения поддержки внешних IDP для Edge вы можете при желании включить её для портала Apigee Developer Services (или просто портала ). Портал поддерживает аутентификацию SAML и LDAP при отправке запросов к Edge. Обратите внимание, что это отличается от аутентификации SAML и LDAP для входа разработчика на портал. Аутентификация внешнего IDP для входа разработчика настраивается отдельно. Подробнее см. в разделе «Настройка портала для использования IDP» .

В рамках настройки портала необходимо указать URL-адрес модуля Apigee SSO, установленного вместе с Edge:

Поток запросов/ответов с токенами