Приложение администратор#

Приложение Администратор используется для администрирования пользователей.

Список пользователей#

Список пользователей можно открыть из пункта меню:

  • Администратор \ Доступ > Пользователи

Операции списка пользователей:

  • Пересчитать индексацию привилегий для текущего пользователя
    Операция предназначена для обновления индексов системных привилегий для текущего пользователя. В результате операции обновятся записи в индексе(Btk_AcUserItemPrivFlat) по всем элементам администрируемых объектов на привилегии, которых у пользователя есть права, а также записи в индексе(Btk_AcUserObjPrivFlat) по всем администрируемым объектам, на объектные права которых у пользователя есть права.

  • Пересчитать индексацию привилегий для всех пользователей
    Операция предназначена для обновления индексов системных привилегий для всех пользователей.

Карточка пользователя#

Операции карточки пользователя:

  • Изменить пароль
    Операция предназначена для установки пароля для входа в систему для пользователя.

  • Пересчитать индексацию привилегий для текущего пользователя
    Операция предназначена для обновления индексов привилегий для текущего пользователя.

Детализация пользователя#

В карточке и списке доступна детализация, содержащая закладки:

  • Профили доступа
    Список записей в классе-развязке(Btk_AcUserGrant) со ссылкой на профиль. Для закладки Профили доступа доступна детализация с закладкой Роли доступа профиля, отображающая список записей в классе-развязке(Btk_AcProfileGrant) со ссылкой на роль

  • Роли доступа
    Список ролей, связанных с пользователем через профиль

  • Индексация элементарных привилегий
    Список записей в Btk_AcUserItemPrivFlat для текущего пользователя.

  • Индексация объектных привилегий
    Список записей в Btk_AcUserObjPrivFlat для текущего пользователя.

Для закладок Индексация элементарных привилегий и Индексация объектных привилегий доступна операция

  • Посмотреть значение индекса
    Операция открывает в модальном окне содержимое поля(cPriv) с перечнем доступных привилегий для элемента или объекта.

Синхронизация с Active Directory#

Для синхронизации:

  1. Выполните операцию Синхронизация с Active Directory
    Операция доступна в списке пользователей. При этом откроется интерфейс синхронизации отображающий список логов.

  2. При необходимости укажите шаблон в шапке интерфейса
    Вновь созданные пользователи будут созданы по этому шаблону

  3. Нажмите кнопку Синхронизировать
    При этом будет просканирован домен на наличие групп и пользователей. Будут созданы только группы которые которые настроены как основная группа пользователей. Произойдет синхронизация пользователей

Синхронизируемы поля пользователей:

  • Системное имя
    Атрибут sAMAccountName

  • Пароль
    Равен системному имени при создании пользователя

  • Группа
    Определяется через атрибут primaryGroupID

  • Для физ. лица:

    • Фамилия
      атрибут sn

    • Имя
      1-е слово из атрибута givenName`

    • отчество
      Если атрибут givenName содержит 2 слова, то 2-ое слово – отчество.

    • email
      Атрибут mail

Синхронизируемые поля групп:

  • Наименование
    Атрибут «name», если он не указан, то полное имя. Например: CN=Domain users,CN=Users

  • Системное имя
    Полное имя группы. Например: CN=Domain users,CN=Users

Пользователи создаются только в случае, если они не заблокированы в домене. Если пользователь заблокирован, и уже зарегистрирован в системе Global, то ему выставляется признак «Заблокирован».

Настройка синхронизации#

Для настройки подключения используется универсальный класс настроек (Btk_Setting). Открыть настройки можно из пункта меню Настройка системы \ Настройка > Общие настройки системы

Необходимые параметры:

  • url
    сервера контроллера домена.

    Например: ldap://192.168.2.11:389

  • логин

  • пароль

  • домен
    который требуется синхронизировать.

Список ролей#

Список ролей можно открыть из пункта меню:

  • Администратор \ Доступ > Роли

Карточка роли#

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

Права роли#

В данном интерфейсе отображается дерево административных объектов с уровнями:

  • Группа администрируемых объектов(только чтение)

    • Объект администрирования

      • Узел администрирования

        • Элемент администрируемого объекта

Совет

По умолчанию отображаются только административные объекты использующиеся в роли. Для отображения всех административных объектов выключите флаг Только объекты, на которые у роли имеются права в панели фильтрации.

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

Расшифровка прав#

В случае если выбран объект администрирования отображает:

  • перечень типов элементарных привилегий

  • перечень объектных привилегий

В случае если выбран элемент администрируемого объекта отображает:

  • перечень элементарных привилегий для данной строки

Перевод состояний#

Отображается в случае если выбран объект администрирования. Позволяет настроить возможные переходы между состояниями.

Выдача прав на объектные привилегии#

  1. Выберите требуемый адм. объект.
    При этом в расшифровке прав отобразятся объектные привилегии

  2. Раздайте права на объектные привилегии роли \

  3. Обновите индексы системных привилегий

Выдача прав на тип элементарных привилегий#

В случае если выдано право на тип элементарной привилегии, доступ будет дан всем элементарным привилегиям данного типа во всех элементах администрируемого объекта.

  1. Выберите требуемый адм. объект
    При этом в расшифровке прав отобразятся типы элементарных привилегий.

  2. Раздайте права на типы элементарных привилегий
    Права на типы можно раздавать либо в расшифровке пара либо в дереве административных объектов

  3. Обновите индексы системных привилегий

Выдача прав на элементарную привилегию#

  1. Выберите требуемый элемент администрируемого объекта
    При этом в расшифровке прав отобразятся типы элементарных привилегий.

  2. Раздайте права на типы элементарных привилегий
    Для этого в расшифровке прав выберите нужный элемент и предоставьте к нему доступ.

  3. Обновите индексы системных привилегий

Примечание

Если установить признак «Запрещено», то пользователи, обладающие этой ролью, не будут иметь прав на запрещенную привилегию, даже если другие роли дают на нее доступ.

Выдача прав на вызов Api и Pkg методов в jexl-контексте#

Примечание

Для того, чтобы при выполнении jexl-скриптов учитывались настроенные права, необходимо включить в общих настройках модулей btk - «Выполнение jexl-скриптов через безопасный диалект».

  1. В карточке Роли на закладке Права вызовов через jexl-script слева отображен список Api и Pkg классов проекта. Справа - их методы.

  2. Для выбора/снятия доступа ко всем методом класса используйте чек-бокс Доступны все методы, в списке методов можно настроить доступ к конкретному методу класса.

  3. Обновите индексы системных привилегий

Выдача прав на пакеты и классы в jexl-контексте#

Примечание

Для того, чтобы при выполнении jexl-скриптов учитывались настроенные права, необходимо включить в общих настройках модулей btk - «Выполнение jexl-скриптов через безопасный диалект».

  1. В карточке Роли на закладке Права на пакеты/классы из jexl можно задавать пакеты и классы, к которым у пользователя должен быть доступ:

  • Тип привилегии - указывается package или class для пакета или класса, соответственно

  • Имя привилегии - полное имя пакета или класса

  • Методы - методы класса, на которые надо выдать права (если пусто, то доступны все методы). Указываются в квадратных скобках, через запятую, каждый метод обернут в кавычки - ["methodName1", "methodName2"]

  • Указанные методы исключающие - если включить галку, то будут доступны все методы класса, кроме указанных

  1. В детализации на закладке Исключения для пакетов можно указывать их внутренние пакеты или классы, на которые доступ выдаваться не должен.

Пример выдачи прав на пакет java.lang, исключая вложенный пакет java.lang.some.pkg

Пример 1

Пример выдачи прав на методы methodName1 и methodName2 класса java.lang.Long

Пример 2

Выдача прав на использование Rest-пакетов#

  1. В карточке Роли на закладке Права на Rest-пакеты отображен список пакетов. Чекбокс Rest-пакет указывает, является ли пакет Rest-пакетом.

  2. Для выдачи\отзыва доступа используйте чекбокс Имеет доступ.

  3. Обновите индексы системных привилегий по роли.

Примечание

Обновление списка Rest-пакетов происходит при обновлении адм.объектов по модулю. С пакетов, которые перестали быть Rest-пакетами, чекбокс Rest-пакет автоматически снимается.

Групповая настройка привилегий ролей#

Выборка Групповая настройка привилегий ролей предназначена для массовой раздачи привилегий по ролям от административного объекта.

Выборку можно открыть из пункта меню:

  • Администратор \ Доступ > Групповая настройка привилегий ролей

Общий принцип работы с выборкой:

  1. Выберите требуемый административный объект

  2. Выберите требуемые роли
    Для этого в панели фильтрации привилегий откройте список подбора для поля Перечень ролей

  3. Проставьте гранты на требуемых привилегиях

  4. Пересчитайте индексы привилегий
    Для этого выполните операцию Пересчитать индексацию привилегий в интерфейсе Перечень ролей

Дерева администрируемых объектов#

Дерево администрируемых объектов состоит из следующих уровней:

  • Группа администрируемых объектов(Опционально)

    • Объект администрирования

      • Узел администрирования

        • Элемент администрируемого объекта

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

Операции дерева администрируемых объектов#

  • Обновить выбранный объект
    Операция предназначена для обновления выделенного объекта или элемента адм. объекта. При обновлении административного объекта происходит сканирование исходного кода по которому добавляются недостающие привилегии и элементы.

  • Обновить адм. объект по имени
    При этом произойдет запрос имени и произойдет обновление административного объекта по выбранному имени

  • Обновить адм. объекты модуля
    Операция предназначена для обновление адм. объектов по всему модулю

Примечание

Классы-коллекции не имеют собственных объектов администрирования и входят в объект мастера. Поэтому для обновления настроек для коллекций необходимо обновлять адм. объект по имени класса мастера.

Настройка прав#

Закладка отображает настройку прав для ролей в зависимости от выделенной записи в дереве администрируемых объектов:

  1. Для административного объекта:

  • объектные привилегии

  1. Для элемента администрирования:

  • типы элементарных привилегий

    • элементарные привилегии

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

Операции настройки прав:#

  • Подобрать роли
    Операция предназначена для подбора в фильтр ролей, для которых есть какие-либо права для текущего объекта или элемента.

Пользователи#

Отображаются пользователи для роли в активной ячейки.

Профили#

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

Индексация привилегий для пользователей#

Индексация пользователя#

Для пересчета индекса по 1-му пользователю существует операция Пересчитать индексацию привилегий для текущего пользователя Операция доступна:

  • в списке и карточке Пользователей

  • на закладке Пользователи роли в списке и карточке Ролей.

Индексация всех пользователей#

Для индексации привилегий всех пользователей предназначена операция Пересчитать индексацию привилегий для всех пользователей. Операция доступна:

  • в списке Пользователей.

Аудит прав доступа#

Историю изменений прав доступа можно посмотреть в Аудит прав доступа, находящемся в пункте меню Аудит.

Примечание

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

В самом типе необходимо выбрать Вид объекта (Пользователь, Профиль или Роль), Объект и, если необходимо, период времени.

Пользователи#

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

Профили#

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

Примечание

В списке изменений для Пользователей и Профилей есть операция Изменения по объекту, которая позволяет перейти к аудиту другого объекта, который является выделенным.

Роли#

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

  • Дерево администрируемых объектов
    Отображаются администрируемые объекты или элементы администрирования, по которым для данной роли были совершены изменения

  • Список привилегий конкретного администрируемого объекта
    Список привилегий конкретного адм. объекта или элемента администрирования, которые изменялись для данной роли

Список привилегий представляет из себя:

  1. Имя адм. объекта или элемента администрирования

  2. Тип привилегии:

  • Изменение атрибута (например, при простановке Не распространяются настройки администрирования для адм. объекта),

  • Объектная привилегия,

  • Элементарная привилегия,

  • Группа элементарных привилегий (когда изменяются доступ не на конкретные элементарные привилегии, а на всю группу, например, Редактирование)

  • Перевод состояния

  1. Системное имя привилегии

  2. Привилегия - наименование привилегии

  3. Изменивший пользователь

  4. Дата изменения

  5. Системное имя атрибута

  6. Наименование атрибута

  7. Старое значение - старое значение атрибута

  8. Новое значение - новое значение атрибута

Примечание

Для списка привилегий есть фильтр С входящими, который в случае, когда в дереве адм. объектов выбран адм. объект, а не элемент администрирования, отображает изменения не только администрируемого объекта, но и элементов администрирования, входящих в этот объект.

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

Запуск трассировки прав пользователя#

Для запуска трассировки прав пользователя, выполните следующие шаги:

  • Перейдите в раздел «Сервис» в меню системы.

  • В меню «Инструменты» найдите опцию «Начать трассировку прав» и выберите её.

После начала трассировки, система будет отслеживать все ваши действия. Выполняйте необходимые действия с данными в системе, так как вам требуется.

Чтобы завершить трассировку прав пользователя, выполните следующие шаги:

  • Перейдите снова в раздел «Сервис» в меню системы.

  • В меню «Инструменты» выберите опцию «Закончить трассировку прав».

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

Отчет «сессии трассировки прав пользователей» выведен в приложении «Администратор», в меню «Отчеты». Отображает список сессий трассировки. При открытии карточки сессии в детализации будет отображена более подробная информация по проверкам прав, которые вызывались в ходе сессии трассировки.

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

Сессии трассировки сохраняются в таблицу Btk_AcTraceSession, а детализация сессии в Btk_AcTraceJournal. Для очистки этих таблиц предусмотрен по умолчанию регистрируется задание очистки данных по классу «Btk_AcTraceSession», удаляющий записи, хранящиеся больше 30 дней.

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

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

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

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

  • в параметрах рабочей сессии сохраняется параметр с идентификатором запущенной сессии трассировки;

  • для уже открытых выборок подключается подписка на события, так же она подключается на onLoadAdminMeta при открытии новой выборки; При действиях пользователя во время трассировки

  • на методах проверки прав доступа, вызов операции/сеттера на администрируемых выборках, создается запись в логирующей транзакции в Btk_AcTraceJournal; При завершении трассировки

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

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

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

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