Поддержка SAML в Edge для частного облака

Edge for Private Cloud версии 4.17.09

Пользовательский интерфейс Edge и Management API Edge отправляют запросы к серверу управления Edge, который поддерживает следующие типы аутентификации:

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

Edge также поддерживает язык разметки декларации безопасности (SAML) 2.0 в качестве механизма аутентификации. При включенном SAML доступ к Edge UI и Edge management API по-прежнему использует токены доступа OAuth2. Однако теперь вы можете генерировать эти токены из утверждений SAML, возвращаемых поставщиком идентификационной информации SAML.

Примечание. SAML поддерживается только в качестве механизма аутентификации. Для авторизации он не поддерживается. Поэтому для хранения информации об авторизации по-прежнему используется база данных Edge OpenLDAP. Подробнее о назначении ролей…

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

Добавлена поддержка OAuth2 для Edge for Private Cloud.

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

Преимущества SAML

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

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

Использование SAML с Edge

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

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

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

Edge SSO использует базу данных Postgres, доступную через порт 5432 на узле Postgres. Обычно можно использовать тот же сервер Postgres, который вы установили с Edge, – либо отдельный сервер Postgres, либо два сервера Postgres, настроенных в режиме "основной/резервный". Если нагрузка на сервер Postgres высока, вы также можете создать отдельный узел Postgres только для Edge SSO.

Если SAML включен, доступ к Edge UI и Edge management API осуществляется с помощью токенов доступа OAuth2. Эти токены генерируются модулем Edge SSO, который принимает утверждения SAML, возвращаемые вашим поставщиком идентификационной информации.

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

URL интерфейса и API Edge

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

http://edge_ui_IP_DNS:9000
https://edge_ui_IP_DNS:9000

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

Для Edge Management API:

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

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

Как настроить TLS в Edge SSO

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

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

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

Как включить поддержку SAML для портала Developer Services и API BaaS

После включения поддержки SAML для Edge вы можете включить SAML для:

При настройке портала Developer Services и API BaaS необходимо указать URL модуля Edge SSO, установленного вместе с Edge:

Поскольку Edge и API BaaS используют один и тот же модуль SSO Edge, они поддерживают систему единого входа. Это означает, что при входе в Edge или API BaaS вы автоматически входите в оба сервиса. Это также означает, что вам нужно поддерживать только одно местоположение для всех учетных данных пользователей.

При желании вы также можете настроить систему единого входа. Подробнее о том, как настроить единый выход в интерфейсе Edge…