Перейти к основному содержимому
Версия: Пульт 2.3.0

pult-session-manager

pult-session-manager — служебный компонент управления пользовательскими сессиями в web-интерфейсе и связанных сервисах. Подключение зависит от конфигурации: его выносят в отдельный сервис там, где так устроена архитектура сессий.

Дистрибутивы и образы см. в разделе Дистрибутивы.

Подготовка

Перед запуском pult-session-manager вручную создайте в PostgreSQL отдельную базу данных и пользователя (отличные от основной БД Пульта, если требуется изоляция).

При первом запуске session-manager в указанной БД автоматически создаст необходимые таблицы.

Сервис в docker-compose.yml

Добавьте сервис pult-session-manager в docker-compose.yml:

pult-session-manager:
image: registry.pult.chislitellab.ru:8123/releases/2.3.0/session-manager-redos8:7.4.9
container_name: pult-session-manager
restart: unless-stopped
environment:
# БД и пользователь создаются вручную до запуска
DATABASE_URL: "postgres://pult:changeme@postgresql:5432/session_manager?sslmode=disable"
PULT_SHARED_SECRET: "change-me"
CORS_ALLOWED_ORIGINS: "http://<external_pult-web_hostname>:<port>"
ports:
- "18081:8080"
ПеременнаяОписание
DATABASE_URLСтрока подключения к PostgreSQL (хост, пользователь, пароль, имя БД)
PULT_SHARED_SECRETОбщий секрет для аутентификации между pult-web и session-manager
CORS_ALLOWED_ORIGINSВнешний адрес и порт pult-web, с которого разрешены запросы к API

Порт 18081:8080 пробрасывает API session-manager на хост (18081 — внешний порт).

Настройка pult-web

Добавьте переменные окружения в сервис pult-web (блок environment или env_file):

environment:
SESSION_MANAGER_API_URL: "http://pult-session-manager:8080"
SESSION_MANAGER_SHARED_SECRET: "change-me"
UP9_ENABLED: "true"
ADMIN_MAX_CONCURRENT_SESSIONS: "2"
SESSION_MANAGER_PUBLIC_API_URL: "http://<external_host_ip>:18081"
SESSION_MANAGER_TIMEOUT_MS: "2000"
ПеременнаяОписание
SESSION_MANAGER_API_URLВнутренний URL session-manager в docker-сети (имя сервиса pult-session-manager, порт 8080)
SESSION_MANAGER_SHARED_SECRETДолжен совпадать с PULT_SHARED_SECRET в конфигурации pult-session-manager
UP9_ENABLEDВключение модуля UP9: контроль параллельных сессий, архив удалённых пользователей, автоблокировка неактивных. При false правила UP9 не применяются (авторизация по штатной схеме Zabbix). Имеет приоритет над переключателем в интерфейсе модуля
ADMIN_MAX_CONCURRENT_SESSIONSВерхняя граница одновременных сессий для учётных записей с ролью Super admin (type = 3). Рекомендуемое значение по УПД.9 — 2; через UI не настраивается
SESSION_MANAGER_PUBLIC_API_URLВнешний URL для клиента: http://<IP_или_hostname_хоста>:18081
SESSION_MANAGER_TIMEOUT_MSТаймаут обращения к session-manager (мс)

Важно: значение SESSION_MANAGER_SHARED_SECRET в pult-web и PULT_SHARED_SECRET в pult-session-manager должны быть одинаковыми.

Запуск

docker compose up -d pult-session-manager pult-web

После изменения переменных окружения перезапустите затронутые сервисы:

docker compose up -d pult-session-manager pult-web

Активация модуля управления сессиями в Web UI Пульта

Для активации модуля управления сессиями перейдите в АдминистрированиеОбщиеМодули.

session-module1

Введите в поле Имя название модуля Управление сессиями и доступом, нажмите Применить и смените состояние модуля на «Активировано».

Если модуль не найден, нажмите Сканировать директорию.

session-module2

Состояние модуля станет «Активировано».

session-module3

В разделе Администрирование появится пункт Управление сессиями и доступом.

session-module4