Трассировка прав доступа#

Трассировка прав доступа используется для диагностики проверок прав в рамках выбранной пользовательской сессии. Она позволяет отследить, какие проверки выполнялись при действиях пользователя.

Для анализа изменений ролей, профилей и назначений пользователей см. раздел «Аудит прав доступа».

Запуск трассировки#

  1. Перейдите в раздел Сервис > Инструменты.

  2. Выберите операцию Начать трассировку прав.

  3. Выполните необходимые действия в системе — в этот момент система будет отслеживать проверки прав.

  4. Для завершения выберите операцию Закончить трассировку прав в том же меню.

Отчёт сессии трассировки#

Отчёт Сессии трассировки прав пользователей доступен в приложении Администратор, меню Отчеты.

Отчёт отображает список сессий трассировки. При открытии карточки сессии в детализации выводится подробная информация по проверкам прав, вызванным в ходе этой сессии.

Очистка записей#

Сессии сохраняются в таблице Btk_AcTraceSession, а детализация — в Btk_AcTraceJournal.

По умолчанию зарегистрировано задание очистки для класса Btk_AcTraceSession, удаляющее записи старше 30 дней.

Реализация трассировки#

При запуске трассировки:

  • в параметрах рабочей сессии сохраняется параметр активности трассировки;

  • в логирующей транзакции создаётся запись в Btk_AcTraceSession;

  • сохраняется идентификатор сессии трассировки;

  • для открытых выборок подключается подписка на события;

  • при открытии новой выборки подписка также подключается в onLoadAdminMeta.

При действиях пользователя:

  • на методах проверки прав, при вызове операции или сеттера на администрируемых выборках создаётся запись в Btk_AcTraceJournal.

При завершении трассировки:

  • вызывается коммит логирующих транзакций со всех сессий выборок;

  • в Btk_AcTraceSession сохраняется дата завершения;

  • отключается подписка на события;

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