Документация Accelera

Настройка LDAP

Система Accelera поддерживает только один протокол внешней системы авторизации – LDAP.
Также доступны локальные УЗ, которые создаются и управляются в системе.
Есть возможность настроить оба механизма авторизации, в таком случае логин через LDAP будет иметь наивысший приоритет.

Система Accelera поддерживает интеграцию с внешними провайдерами авторизации по протоколу LDAP.

Логическая схема подключения

Настройка LDAP-сервера:

  1. Предполагается, что на стороне клиента установлена OpenLDAP или Microsoft Active Directory.
  2. Создайте структуру каталога, содержащую информацию о пользователях и их учетных данных.

Настройка Accelera:

  1. В настройках контейнера Accelera укажите параметры подключения к LDAP-серверу, такие как адрес сервера, порт, протокол (обычно LDAP или LDAPS).
  2. Установите настройки для поиска и фильтрации пользователей в каталоге LDAP.

Инициирование авторизации:

  1. Пользователь вводит свои учетные данные (имя пользователя и пароль) в интерфейсе авторизации Accelera.

Запрос к LDAP-серверу:

  1. Accelera создает запрос к LDAP-серверу, используя указанные параметры подключения и учетные данные пользователя.

Поиск и проверка:

  1. LDAP-сервер выполняет поиск в своей базе данных, используя указанный фильтр (например, по имени пользователя).
  2. Если запись пользователя найдена, сервер проверяет введенный пароль с хэшированным паролем в базе данных. Если пароли совпадают, сервер возвращает успешный статус авторизации.

Результат авторизации:

Accelera получает ответ от LDAP-сервера. В случае успешной авторизации, пользователь получает доступ к платформе и модулям, управляемыми Accelera, с учетом прав доступа (администратор, бизнес пользователь или режим чтения)

LDAPS

Поддерживается SSL-подключение к LDAP основанное на протоколе OpenSSL с 2048-битным RSA ключом (необходима настройка CERTIFICATE_PATH)

Настройка подключения

Интеграция настраивается только для модуля flows_backoffice. Укажите соответствующие переменные среды:

ПеременнаяОписание
USE_LDAPФлаг использования LDAP авторизации. Установите значение true, чтобы Accelera использовала внешний провайдер авторизации.
LDAP_URLАдрес сервера LDAP, например ldap://localhost:389, обязательный параметр
BIND_DNДоменное имя для выполнения поиска в LDAP, опционально, например cn='root’
BIND_CREDITENTIALS_PASSПароль для BIND_DN, если используется BIND_DN.
SEARCH_BASEОпределение зоны поиска учетных записей, например o=users,o=example.com, обязательный
SEARCH_FILTERФильтр поиска, например (uid={{username}}), обязательный.
Обратите внимание, что формат {{ }} используется в docker как шаблон для некоторых функций, поэтому такую конструкцию необходимо экранировать в {{ ` ` }}
Пример {{`(sAMAccountName={{username}})`}}
SEARCH_ATTRIBUTESАтрибуты поиска, разделенные запятыми, например displayName,mail, опционально.
LDAP_CERT_PATHПуть к сертификату для запросов (должен быть смонтирован в контейнере, либо передан через Docker Secret), пример /etc/certs/root_ca_cert.crt, опционально.
LDAP_ADMIN_ROLEНазвание админской роли в AD
LDAP_USER_ROLEНазвание роли пользователя в AD
LDAP_READONLY_ROLEНазвание роли read-only в AD
LDAP_LOG_LEVEL(Не обязательно) Уровень логирования LDAP соединения. Установите trace для максимально подробного логирования.

Пример настройки сервиса flows_backoffice с поиском пользователей в категории person:

version: '3'

services:
  flows_backoffice:
    image: accelera/flows_backoffice:2.0.0
    container_name: flows_backoffice
    network_mode: "host"
    restart: unless-stopped
    environment:
      - NODE_ENV=production
      ...
      - PORT=3002
			- LDAP_URL=ldaps://my.company.host:636
			- BIND_DN=cn=non-person,ou=system,dc=corp,dc=corporate,dc=com
			- BIND_CREDITENTIALS=secret
			- SEARCH_BASE=dc=corp,dc=corporate,dc=com
			- SEARCH_FILTER=(&(objectcategory=person)(objectclass=user)(|(samaccountname={{username}})(mail={{username}})))
			- SEARCH_ATTRIBUTES=displayName,mail
			- CERTIFICATE_PATH=/etc/certs/root_ca_cert.crt
			- LDAP_ADMIN_ROLE=ADMIN_role
			- LDAP_USER_ROLE=USER_role
			- LDAP_READONLY_ROLE=READONLY_role
		volumes:
	    - /path/to/cert/cert.crt:/etc/certs/root_ca_cert.crt

На этой странице