Identity Cloud : 4.1. Настройка Bridge-компонента

Identity Cloud : 4.1. Настройка Bridge-компонента

Общие сведения

Компонент Access Bridge – компонент, устанавливаемый в инфраструктуре заказчика, обеспечивает механизм облачного взаимодействия с Avanpost Identity Cloud. Данная функциональность представлена следующими элементами:

КомпонентОписание
LDAP LinkПредназначен для взаимодействия облачного сервиса с внешними LDAP-каталогами (MS AD, Avanpost DS, OpenLDAP). Работает как промежуточный сервис (bridge), размещаемый в той же сети, что и LDAP-сервер, и передаёт запросы на аутентификацию и поиск пользователей в Identity Cloud через защищённое gRPC-соединение.
RADIUS Access BridgeПредназначен для интеграции облачного сервиса с RADIUS-совместимыми системами. Принимает RADIUS-запросы (Access-Request, Accounting-Request) и перенаправляет их в Identity Cloud для проверки учётных данных. После реализации MFA на стороне Identity Cloud получает решение (Access-Accept/Reject) и отправляет ответ клиенту.
RADIUS Secrets StorageМеханизм работы RADIUS Access Bridge, предназначенный для безопасного хранения RADIUS-секретов клиентов в периметре заказчика. Секреты не хранятся в БД Identity Cloud (PostgreSQL), а передаются по защищённому каналу при необходимости.

Настройка компонента выполняется следующим образом:

  1. Предварительная настройка Access Bridge в административной консоли Identity Cloud. 
  2. Установка Access Bridge на локальной машине клиента.
  3. Настройка доступа к Access Bridge (при необходимости предоставления доступа другим пользователям, кроме администратора).
  4. Настройка RADIUS-секретов в Access Bridge.  
  5. Настройка учетных данных LDAP.

Настройка ноды Access Bridge

Первичная настройка компонента Access Bridge выполняется следующим образом:

  1.  Перейти в раздел «Access Bridge» режима «Сервис».
  2. Настроить параметры создаваемой ноды согласно таблице
    ПараметрЗначение
    Компонент LDAP Link

    Установить переключатель:

    • при включенном переключателе будет использоваться функциональность LDAP Link, предназначенная для интеграции с внешними LDAP-серверами;
    • при выключенном переключателе функциональность LDAP Link не используется.
    Компонент RADIUS

    Установить переключатель:

    • при включенном переключателе будет использоваться функциональность RADIUS Access Bridge, предназначенная для интеграции с внешними RADIUS-совместимыми системами;
    • при выключенном переключателе функциональность RADIUS Access Bridge не используется.
    Проверка пароля RADIUS в

    Выбрать из выпадающего списка место проверки пароля пользователя:

    • Access Server – Выполняется проверка локального пароля на стороне облачного сервиса Identity Cloud;
    • Other RADIUS – Проверка выполняется на стороне RADIUS-сервера (при этом используется RADIUS-секрет, настроенный на стороне Identity Cloud).
    • LDAP Link – Выполняется проверка доменного пароля на стороне внешнего LDAP-провайдера посредством механизма LDAP Link .
    Название нодыВвести произвольное наименование, которое будет присвоено ноде.
    Операционная система и архитектура

    Тип архитектуры и операционной системы на машине, на которой устанавливается Bridge-компонент. Выбрать из выпадающего списка:

    • Linux x86_64 (amd64);
    • Linux ARM64;
    • Windows x86_64 (amd64);
    • macOS Intel (amd64);
    • macOS Apple Silicon (arm64).
    Адрес для интерфейсов 

    Ввести адрес сетевой карты, через которую работает Bridge-компонент. Допускается использовать IP-адрес (рекомендуется) или доменное имя. 

    Поле доступно для настройки при выключенном переключателе «Определить автоматически или выбрать после установки».

    Определить автоматически или выбрать после установки

    Установить переключатель:

    • при включенном переключателе установка адреса для интерфейсов выполняется после завершения настройки текущей ноды;
    • при выключенном переключателе администратору требуется ввести значение в поле «Адрес для интерфейсов».

    В случае, если при генерации установки переключатель был включен, то после установки параметру «Адрес для интерфейсов» автоматически присваивается значение localhost (127.0.0.1). После завершения установки администратору следует:

    1. Перейти в окно Управление мостом (нажать кнопку «Управление» для настраиваемой ноды).
    2. В графе «Быстрый выбор из доступных адресов» выбрать в выпадающем списке адрес, который будет использоваться для данной ноды (в процессе установки на сервер Identity Cloud передается перечень доступных интерфейсов клиентской машины).
    3. Нажать «Сохранить» (после сохранения рекомендуется обновить список нод).
  3. После установки параметров нажать кнопку «Сгенерировать новую установку Access Bridge» и убедиться, что:
    • появилось сообщение «Установка успешно сгенерирована. Срок действия токена – 10 минут» (в случае, если настройки будут неполными, будет выводиться сообщение «Не удалось загрузить список мостов»);
    • появился токен доступа к веб-интерфейсу и команда установки.
  4.  Скопировать команду для установки Access Bridge, нажав кнопку «Скопировать команду» (команда скачивает установочный файл из официального репозитория Avanpost, сохраняет файл во временную директорию, делая его исполняемым, и запускает в режиме подключения к серверу Identity Cloud).
  5. Выполнить команду в консоли машины клиента, на которой планируется развертывание Access Bridge, и дождаться сообщения «Установка завершена успешно».

    Для проверки статуса Access Bridge следует использовать команду:

    systemctl status access-bridge

    Для просмотра журнала логов Access Bridge следует использовать команду:

    journalctl -u access-bridge -f

    В случае, если установка по каким-либо причинам не завершилась успехом, для повторной установки требуется повторная генерация установки (повторно нажать кнопку «Сгенерировать новую установку Access Bridge»). Токен подключения к identity Cloud является одноразовым и не может использоваться повторно. 

  6. Открыть в браузере веб-интерфейс Access Bridge, расположенный по адресу (где ABaddr – адрес компонента, введенный в параметре «Адрес для интерфейсов »)
    https://ABaddr:8200/web/index
  7. Аутентифицироваться в веб-интерфейсе Access Bridge одним из способов:
    • Скопировать токен из интерфейса настройки компонента в административной консоли Identity Cloud (в графе «Токен доступа к веб-интерфейсу» нажать кнопку «Скопировать токен»), вставить его в поле «Токен доступа» в веб-интерфейсе Access Bridge и нажать кнопку «Войти».
    • Нажать кнопку «Войти с помощью Identity Cloud» и аутентифицироваться через интерфейс аутентификации Identity Cloud.
  8. Убедиться, что авторизация прошла успешно и пользователю предоставлен доступ к веб-интерфейсу Access Bridge.

Настройка доступа к веб-интерфейсу

После завершения создания ноды на стороне Identity Cloud будет автоматически создано OIDC-приложение с наименованием access-bridge[cluster:clustername]. По умолчанию к приложению обладает доступом только администратор, проводивший настройку. В случае, если требуется настроить доступ к Access Bridge для других аккаунтов, необходимо выполнить следующие действия:

  1. Создать группу (если таковая отсутствует), пользователи которой будут использовать Access Bridge. Для этого необходимо:
    1. Нажать кнопку "Добавить группу" в режиме "Группы" и
    2. В открывшейся вкладке ввести запрашиваемые параметры (более подробно о настройке группы описано в разделе Управление доступом).
  2. Добавить в группу пользователей, которые будут авторизовываться в Access Bridge посредством интерфейса аутентификации Identity Cloud (более подробно о добавлении пользователей в разделе Управление пользователями).
  3. Предоставить группе доступ к созданному приложению:
    1. В профиле группы зайти во вкладку "Приложения",
    2. Найти созданное OIDC-приложение и перевести переключать напротив него во включенное положение.

Настройка RADIUS Access Bridge

Для настройки RADIUS-секрета в Access Bridge требуется выполнить следующие действия:

  1. В веб-интерфейсе Access Bridge нажать кнопку «Новый секрет RADIUS» (или кнопку «Создать секрет»).
  2. В открывшейся вкладке задать параметры согласно таблице:
    ПараметрЗначение
    Имя RADIUS-клиентаВвести идентификатор NAS (Network Access Server) клиента.
    Подсеть (CIDR):Ввести диапазон IP-адресов клиента.
    RADIUS-секретВвести секретный ключ для шифрования и аутентификации между RADIUS клиентом и сервером. 
  3. Нажать кнопку «Создать» (или «Отмена» для отказа от добавления RADIUS-секрета).

Управление созданными RADIUS-секретами выполняется во вкладке «RADIUS-секреты», в которой доступна следующая информация и возможности:

  • Имя клиента – Идентификатор NAS (Network Access Server) клиента;
  • Подсеть – Диапазон IP-адресов клиента;
  • Действие – Действия с секретом (нажать кнопку «Удалить» для удаления секрета).

Для получения информации о RADIUS-секретах рекомендуется обратиться к статьям Настройка разделяемых секретов RADIUS и Управление RADIUS-приложениями.

Настройка LDAP Access Bridge

Для настройки учетных данных LDAP в Access Bridge требуется выполнить следующие действия:

  1. Используя интерфейс административной консоли Avanpost Identity Cloud, создать специализированный LDAP-провайдер:
    1. Во вкладке "Настройки LDAP-провайдеров" режима "Сервис" нажать кнопку "Добавить".
    2. Выполнить настройку LDAP-провайдера в соответствии со статьей Управление LDAP-источниками
    3. В профиле настроенного LDAP-провайдера перейти во вкладку "Подключение" и задать следующие параметры:
      ПараметрЗначение
      Access Bridge

      Перевести переключатель во включенное положение ().

      После осуществления данной настройки Avanpost Identity Cloud перестает принимать прямые пароли от данного LDAP-источника. Пароли принимаются только в Bridge-формате.

  2. В веб-интерфейсе Access Bridge перейти во вкладку «LDAP Учетные данные».
  3. Нажать «Добавить» и в открывшейся вкладке задать параметры согласно таблице:
    ПараметрЗначение
    Домен LDAPИмя домена LDAP-каталога, к которому будет осуществляться подключение (должно соответствовать значению параметра «Домен» из настроек LDAP-провайдера).
    DN пользователя

    Полное distinguished name технической учетной записи, используемой для подключения к LDAP-каталогу (должно соответствовать значению параметра «Имя пользователя» из настроек LDAP-провайдера).

    ПарольПароль учетной записи LDAP для аутентификации  (должно соответствовать значению параметра «Пароль» из настроек LDAP-провайдера)..
  4. Нажать кнопку «Добавить» (или «Отмена» для отказа от добавления учетных данных).

Управление созданными учетными данными LDAP выполняется во вкладке «LDAP Учетные данные», в которой доступна следующая информация и возможности:

  • Домен – Имя домена LDAP-каталога;
  • Пользователь – DN технической учетной записи администратора LDAP-каталога;
  • ID – Уникальный идентификатор;
  • Действие – Действия с учетными данными (нажать кнопку «Удалить» для удаления данных).

Управление нодами Access Bridge

Управление ранее настроенными нодами Bridge-компонента осуществляется в разделе «Access Bridge» режима «Сервис». Администратор имеет возможность получать информацию, корректировать параметры ранее созданных нод, удалять ноды. В разделе представлен реестр всех настроенных нод, содержащий следующую информацию и возможности:

  • Кнопка – Нажать, чтобы получить расширенную информацию о настроенной ноде:
    • ID – Уникальный идентификатор ноды;
    • Имя хоста – Имя хоста, на котором развернута нода;
    • Machine ID – Идентификатор машины, на которой развернута нода;
    • Операционная система – Операционная система машины, на которой развернута нода;
    • Архитектура – Тип архитектуры машины, на которой развернута нода;
    • Адрес для интерфейсов – Адрес интерфейса, через который работает Bridge-компонент;
    • Включенные компоненты – Функциональности Bridge-компонента (RADIUS, LDAP Link), включенные для данной ноды; 
    • Кнопка «Управление» – Нажать для корректировки настроек данной ноды.
  • # – порядковый номер ноды в Identity Cloud;
  • Название ноды – Наименование ноды, заданное администратором при настройке;
  • Статус – Включена/Выключена;
  • Последняя проверка – Дата и время последней проверки ноды.

Для изменения настроек созданной ноды следует развернуть информацию об узле, нажав кнопку , а затем нажать кнопку «Управление». В открывшемся окне будут представлены следующие возможности:

  • изменение параметров выбранной ноды;
  • удаление выбранной ноды.
ПараметрЗначение
КомпонентыСоответствуют одноименным параметрам, настраиваемым на этапе создания нового узла.  
Проверка пароля в RADIUS
Адрес для интерфейсов
Быстрый выбор из доступных адресовВыбрать доступный адрес из списка для автоматического заполнения

Для внесения изменений нажать кнопку «Сохранить», для отказа от изменений – кнопку «Отмена».

Для удаления настроенной ноды следует нажать кнопку «Удалить» и подтвердить действие. 

Функциональность создания новой ноды описана в разделе Настройка ноды на стороне Identity Cloud.

Конфигурационный LDAP Link расположен по пути:

Avanpost-IDP/cmd/cloud bridge/ldaplink/config.toml
ПараметрЗначение
addressАдрес, на котором выполняется запуск клиентского компонента.

[tls]

(секция настроек TLS-соединения для LDAP Link)

enabledВключение TLS-шифрования для входящих соединений к LDAP Link.
certPathПуть к сертификату, который LDAP Link использует для идентификации себя перед клиентами.
keyPathПуть к приватному ключу, соответствующему сертификату LDAP Link.

[idpServer]

(секция подключения к Avanpost Identity Cloud)

host

Хост, на который отправляются запросы к Avanpost Identity Cloud.

port

Порт, на который отправляются запросы к Avanpost Identity Cloud.

token

Секретный токен, который должен совпадать с указанным в конфигурационном файле Identity Cloud.

protocol

Указать протокол связи (по умолчанию используется grpc):

  • grpc;

  • http;

  • https.

[idpServer.tls]

(секция настроек TLS-соединения при подключении к Avanpost Identity Cloud)

enabled

Включение TLS для исходящего соединения к Identity Cloud.

skipVerify

Параметр, позволяющий пропускать проверку сертификата Identity Cloud (по умолчанию false).

useSystemRootCA

Параметр, включающий использование корневых сертификатов операционной системы для проверки сертификата Identity Cloud.

certPath

Путь к сертификату Identity Cloud, который LDAP Link должен доверять (проверяется только при skipVerify = false).


[ldapSettings]

(секции подключения к LDAP-каталогу)

username

DN учетной записи, от имени которой LDAP Link будет подключаться к LDAP-серверу.

password

Пароль для указанной учетной записи LDAP.

privateKey

Путь к приватному ключу сертификата, используемого для шифрования при подключении к LDAP. Сертификат генерируется пользователем, допускается использование самоподписанного

publicKey

Путь к публичному сертификату LDAP-сервера, используемому для проверки подлинности. Сертификат генерируется пользователем, допускается использование самоподписанного.
Пример конфигурационного файла LDAP Link
# Avanpost Access Server API connection settings
[idpServer]
host = "avanpost-ab-grpc.identitycloud.ru"
port = 443
token = "QWERTY"
protocol = "grpc"

[idpServer.tls]
enabled = true
skipVerify = true
useSystemRootCA = true
certPath = "/opt/access_bridge_radius/certs/avanpost-ab-grpc.pem"

[ldapLink]
host = "10.10.21.34"
port = 5100

[ldapLink.tls]
enabled = false
skipVerify = true
useSystemRootCA = true
certPath = "/opt/access_bridge_radius/certs/grpc_ldapLink-cert.pem"

[radius]
host = "0.0.0.0"
port = 1813

[radius.secrets-cache]
expired = "5m"
cleanup = "10m"

[radius.as-cache]
expired = "1m"
cleanup = "5m"

[radius.primary-auth]
mode = "ldapLink"
# host = "radius-host"
# port = 21813

Приложение Б. Конфигурационный файл RADIUS Access

Конфигурационный файл RADIUS Access расположен по пути:

Avanpost-IDP/cmd/cloud bridge/radius/config.toml
ПараметрЗначение

[idpServer]

(секция подключения bridge к Avanpost Identity Cloud)

host

Хост, на который отправляются запросы к Avanpost Identity Cloud.

port

Порт, на который отправляются запросы к Avanpost Identity Cloud.

token

Секретный токен, который должен совпадать с указанным в конфигурационном файле Identity Cloud.

protocol

Указать протокол связи (по умолчанию используется grpc):

  • grpc;

  • http;

  • https.

[idpServer.tls]

(секция настроек TLS для подключения к Avanpost Identity Cloud)

enabled

Включение TLS для исходящего соединения к Identity Cloud.

skipVerify

Параметр, позволяющий пропускать проверку сертификата Identity Cloud (по умолчанию false).

useSystemRootCA

Параметр, включающий использование корневых сертификатов операционной системы для проверки сертификата Identity Cloud.

certPath

Путь к сертификату Identity Cloud, который LDAP Link должен доверять (проверяется только при skipVerify = false).


[ldapLink]

(секция настроек подключения bridge к LDAP Link)

host

Хост, на котором размещен компонент LDAP Link.

port

Порт, на котором размещен компонент LDAP Link.

[ldapLink.tls]

(секция настроек TLS-соединения при подключении к компоненту LDAP Link)

enabled

Включение TLS для исходящего соединения к Bridge-компоненту LDAP Link.

skipVerify

Параметр, позволяющий пропускать проверку сертификата LDAP Link (по умолчанию false).

useSystemRootCA

Параметр, включающий использование корневых сертификатов операционной системы для проверки сертификата LDAP Link.

certPath

Путь к сертификату, который LDAP Link должен доверять при подключении (проверяется при skipVerify = false).


[radius]

(секция настроек встроенного RADIUS-сервера)

host

Хост, на котором размещен встроенный RADIUS-сервер.

port

Порт, на котором размещен встроенный RADIUS-сервер.

[radius.secrets.cache]

(секция настроек кэша RADIUS-секретов)

expired

Время жизни записей в кэше секретов RADIUS-клиентов.  

cleanup

Интервал, с которым производится очистка просроченных записей из кэша. 

[radius.as-cache]

(секция кэша настроек приложения)

expired

Время жизни записей в кэше AppSettings.  

cleanup

Интервал, с которым производится очистка просроченных записей из кэша AppSettings. 

[radius.primary-auth]

(секция настроек проверки первого фактора)

mode

Параметр, задающий место проверки первого фактора аутентификации (пароля): 

  • radius – используется при настройке RADIUS-сервера (при этом используется RADIUS-секрет, настроенный на стороне Avanpost Identity Cloud); 
  • ldapLink – проверка фактора выполняется посредством LDAP Link;
  • idpServer – проверка фактора выполняется через основной компонент Avanpost Identity Cloud.

host

Адрес внешнего RADIUS-сервера, к которому RADIUS Access Bridge будет подключаться (настраивается для при значении параметра mode = "radius").

port

Порт внешнего RADIUS-сервера, к которому RADIUS Access Bridge будет подключаться (настраивается для при значении параметра mode = "radius").

Пример конфигурационного файла RADIUS Access
# Avanpost Access Server API connection settings 
[idpServer] 
host = "avanpost-ab-grpc.identitycloud.ru" 
port = 443 
token = "QWERTY" 
protocol = "grpc"     

[idpServer.tls] 
enabled = true   
skipVerify = true   
useSystemRootCA = true   
certPath = "/opt/access_bridge_radius/certs/avanpost-ab-grpc.pem"   

[ldapLink] 
host = "10.10.21.34" 
port = 5100   

[ldapLink.tls] 
enabled = false   
skipVerify = true   
useSystemRootCA = true   
certPath = "/opt/access_bridge_radius/certs/grpc_ldapLink-cert.pem"   

[radius] 
host = "0.0.0.0" 
port = 1813   

[radius.secrets-cache] 
expired = "5m" 
cleanup = "10m"   

[radius.as-cache] 
expired = "1m" 
cleanup = "5m"   

[radius.primary-auth] 
mode = "bypass-password" 
# host = "radius-host" 
# port = 21813
EOF

Обсуждение