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

Управление сессиями и доступом

В СМ «Пульт» модуль Управление сессиями и доступом (UP9) реализует требования ИАФ.3 (управление идентификаторами) и УПД.9 (ограничение параллельных сессий):

  • ограничение параллельных сессий — контроль одновременных входов, политики при превышении лимита, принудительное завершение сессий;
  • управление идентификаторами — архив удалённых пользователей, запрет повторного использования идентификатора (логина) и автоматическая блокировка неактивных учётных записей.

Раздел появляется в меню после активации модуля в Администрирование → Общие → Модули (см. pult-session-manager).

Открыть раздел: Администрирование → Управление сессиями и доступом.

На странице вкладки Сессии, Архив удалённых, Журнал действий. Справа в заголовке — Справка и Настройки. Внизу отображается состояние Воркеры (фоновые задачи модуля).

Сессии

Вкладка Сессии показывает только активные сессии (при включённом модуле). Завершённые и вытеснённые сессии из таблицы исчезают и больше не авторизуют запросы к интерфейсу и API.

Список активных сессий

КолонкаОписание
СтатусСостояние сессии (например, Активен).
ПользовательЛогин пользователя.
РольРоль в Пульте (например, Суперадмин).
ИсточникИсточник сессии (например, pult).
IPАдрес клиента.
УстройствоUser-Agent браузера / устройства.
Последняя активностьВремя последней активности в сессии.

Над таблицей доступны поле Поиск… и обновление списка. Внизу — пагинация (Строк на странице).

Лимиты и политика при входе

При включённом модуле после успешного входа проверяется число активных сессий пользователя. Если лимит превышен, применяется политика из настроек:

Политика в интерфейсеПоведение
Блокировать (Отказать новому входу)Новый вход отклоняется, существующие сессии сохраняются.
Вытеснять старую (Завершить самую старую сессию)Завершается самая старая активная сессия, затем создаётся новая.

Лимит = 0 означает отсутствие ограничения на число параллельных сессий.

Эффективный лимит определяется по приоритету (от более конкретного к общему): пользователь → роль → группа пользователей. На странице модуля в диалоге Настройки настраиваются политики по ролям (лимит, политика при превышении, TTL и разрешить повторное использование ID).

Для учётных записей с ролью Суперадмин (Super admin, type = 3) действует верхняя граница одновременных сессий — не более значения переменной окружения ADMIN_MAX_CONCURRENT_SESSIONS (рекомендуемое значение по УПД.9 — 2). Переменная задаётся при развёртывании; в интерфейсе нельзя сохранить лимит для суперадминистратора больше 2. См. pult-session-manager.

Пример: для Суперадмин при лимите 2 и политике Вытеснять старую третий вход завершает самую старую сессию. Событие фиксируется во вкладке Журнал действий (действие вида pult_login_evict_oldest).

Действия по сессии

В строке откройте меню ещё (⋯):

ДействиеОписание
Завершить сессиюПринудительно завершает выбранную сессию; запись удаляется из списка активных.
Завершить все кроме текущейЗавершает все остальные активные сессии пользователя, оставляя только текущую (если доступно в интерфейсе).
Заблокировать пользователяБлокирует учётную запись пользователя (доступно при наличии прав).

Меню действий по сессии

При выходе пользователя из системы (logout) или принудительном завершении сессии администратором соответствующая запись удаляется из таблицы активных сессий модуля.

Настройки

Нажмите Настройки на странице Управление сессиями и доступом.

Настройки модуля сессий

Общие параметры (ИАФ.3)

ПараметрОписаниеПо умолчанию
Период запрета повторного использования ID (дни)Срок «карантина» ID (логина) удалённого пользователя: в течение этого периода нельзя создать новую учётную запись с тем же логином (при включённом модуле). По истечении срока запись удаляется из архива воркером.1095 (3 года)
Порог неактивности пользователя (дни)Число дней без активности, после которого учётная запись автоматически блокируется (только при включённом модуле). Последняя активность — максимальное время lastaccess среди активных сессий пользователя; для пользователя, который ни разу не входил, учитывается дата создания учётной записи.45

Плановая проверка неактивных пользователей выполняется фоновым сервисом по расписанию (обычно раз в сутки).

Политики сессий (УПД.9)

Политики по ролям — для ролей Пользователь, Администратор, Суперадмин:

ПолеОписание
Лимит сессийМаксимум одновременных активных сессий для роли.
При превышении лимитаБлокировать или Вытеснять старую.
Срок жизни сессии, минTTL сессии в минутах; 0 — без лимита по времени жизни.
Разрешить повторное использование IDРазрешить или запретить повторное использование идентификатора сессии для роли.

После изменений нажмите Сохранить. Настройки применяются сразу, без перезапуска сервера.

Архив удалённых

Вкладка Архив удалённых содержит записи об удалённых пользователях (не о завершённых сессиях).

Архив удалённых пользователей

При удалении пользователя из Пульта его запись переносится в архив независимо от того, включён модуль или нет. Удалённый пользователь не отображается в списках интерфейса.

КолонкаОписание
ЛогинЛогин удалённого пользователя.
Имя / ФамилияИмя и фамилия.
УдалёнКогда пользователь удалён.
Хранить доДо какой даты запись хранится в архиве («карантин» логина).
УдалилКто выполнил удаление.
Orig UserIDИсходный идентификатор пользователя.

Повторное использование ID (логина):

Состояние модуляПоведение
ВключёнСоздать пользователя с логином из архива нельзя, пока не истёк срок Хранить до.
ВыключенСоздать пользователя с тем же логином можно; запись удаляется из архива.

По истечении срока хранения запись автоматически удаляется воркером up9_janitor (работает независимо от переключателя «модуль включён»), после чего логин снова доступен.

Если записей нет, в таблице отображается Нет строк.

Журнал действий

Вкладка Журнал действий — журнал событий модуля: входы с вытеснением сессии, принудительные завершения, блокировки за бездействие, изменения настроек и другие действия, связанные с сессиями и доступом.

Журнал действий модуля сессий

КолонкаОписание
ВремяКогда произошло событие.
ДействиеКод действия (например, pult_login_evict_oldest).
ИнициаторПользователь или система, инициировавшие событие.
ДеталиПараметры события (идентификаторы сессий, роль и др.).

Воркеры

В нижней части страницы блок Воркеры показывает состояние фоновых задач модуля.

СервисНазначениеЗависимость от переключателя «модуль включён»
up9_janitorУдаление из архива записей с истёкшим сроком хранения логинаНе зависит — работает всегда
up9_inactivity_checkerПроверка неактивных пользователейПри выключенном модуле — только сбор данных; при включённом — блокировка по порогу

Технические логи сервисов пишутся в стандартный журнал / файлы логов Пульта на стороне развёртывания.