Роли#
Общее описание#
Роль — административная единица для выдачи прав.
В роли выдаются гранты на привилегии.
Для выдачи дискретных привилегий на роли настраиваются дискретные правила, определяющие ограничения и передаваемые в них параметры.
Список ролей доступен по пути:
Администратор > Доступ > Роли.
Система поддерживает следующие типы ролей:
Обычная роль — стандартная роль с набором привилегий;
Мастер-роль — специальная роль, позволяющая определять параметры дискретного доступа для подчинённых профилей.
Если для роли назначен параметр с типом Определяется профилем, роль должна иметь тип Мастер-роль.
Интерфейс ролей#
При открытии раздела Роли отображается окно, состоящее из двух частей:
слева — дерево групп ролей;
справа — список ролей, входящих в выбранную группу.
Если выбрать узел Все роли, в правой части отображается общий список всех ролей системы.
В списке ролей отображаются обзорные данные по роли:
код роли;
наименование;
описание;
признак
Не используется;тип;
изменивший пользователь;
дата изменения.
В этом окне данные используются как обзорные. Основная настройка роли выполняется в карточке конкретной роли.
Карточка роли#
Карточка роли открывается при переходе к конкретной роли и используется для просмотра и изменения её параметров.
В карточке роли выполняется основная настройка прав, ограничений и дополнительных полномочий для выбранной роли.
В верхней части карточки отображаются:
код;
наименование;
группа;
тип;
описание.
Права роли#
Во вкладке Права роли настраиваются права роли по административным объектам.
Вкладка Права роли является основной вкладкой карточки роли. В ней настраивается доступ роли к объектам системы, их атрибутам, операциям и переходам состояний.
Во вкладке отображается дерево администрируемых объектов со следующими уровнями:
группа администрируемых объектов;
объект администрирования;
узел администрирования;
элемент администрируемого объекта.
Совет
По умолчанию отображаются только те администрируемые объекты, которые используются в роли. Чтобы отобразить все объекты, отключите флаг Только объекты, на которые у роли имеются права в панели фильтрации.
Для выбранного административного объекта или элемента во вкладке можно задать права роли. В зависимости от контекста здесь настраиваются:
полный доступ;
чтение;
редактирование;
добавление;
удаление;
интерактивные права;
права на переходы состояний.
Основные типы прав во вкладке означают следующее:
Полный доступ,Чтение,Редактирование,Добавление,Удаление— права на соответствующие действия с объектом и входящими в него нижестоящими элементами;Интерактивные права— права на выполнение операций в карточке и интерфейсе объекта;Права на переходы состояний— права на выполнение доступных переходов состояний.
Каждый тип элементарной привилегии отображается в отдельном столбце. Это позволяет массово выдавать права по типу для текущего уровня и всех вложенных.
Расшифровка прав:
при выборе объекта администрирования отображается перечень типов элементарных привилегий и объектных привилегий;
при выборе элемента администрируемого объекта отображается перечень элементарных привилегий для выбранной строки.
Выдача прав на объектные привилегии#
Выберите нужный администрируемый объект.
В расшифровке прав отобразятся объектные привилегии.
Выдайте роли права на объектные привилегии.
Обновите индексы системных привилегий.
Выдача прав на тип элементарных привилегий#
При выдаче права на тип элементарной привилегии доступ предоставляется ко всем элементарным привилегиям этого типа во всех элементах администрируемого объекта.
Выберите нужный администрируемый объект.
В расшифровке прав отобразятся типы элементарных привилегий.
Выдайте права на типы элементарных привилегий — в расшифровке прав или в дереве объектов.
Обновите индексы системных привилегий.
Выдача прав на элементарную привилегию#
Выберите нужный элемент администрируемого объекта.
В расшифровке прав отобразятся элементарные привилегии.
Предоставьте доступ к нужным элементарным привилегиям.
Обновите индексы системных привилегий.
Примечание
id=»yaay5d»
Если установить признак Запрещено, пользователи с этой ролью не получат доступ к привилегии, даже если эта привилегия предоставлена другими ролями.
Перевод состояний#
Раздел отображается при выборе объекта администрирования и позволяет настроить возможные переходы между состояниями.
Для настройки доступа к переходам состояний сначала необходимо определить возможные переходы для типа объекта. После этого на вкладке Перевод состояний выдаются права на доступные переходы.
Администрирование универсальных характеристик#
Для разграничения доступа к универсальным характеристикам в динамически расширенных списках и карточках предусмотрены стандартные привилегии на чтение и изменение. Они именуются по системным именам УХ и имеют вид UC_<системное имя УХ>.
Примечание
id=»479l4r» Если внутри элемента администрируемого объекта отсутствуют права на чтение и изменение уже наложенных универсальных характеристик, обновите администрируемый объект.
Также определены «общие» привилегии, предоставляющие доступ сразу ко всем универсальным характеристикам класса, шаблона или типа объекта. Для ссылочных атрибутов в имени привилегии используется постфикс HL, для значимых — без него.
Список общих привилегий:
для расширенных списков:
чтение:
objAttrValue,objAttrValueHL;редактирование:
setobjAttrValue,setobjAttrValueHL;
для карточек объектных характеристик:
чтение:
sValue,sValueHL;редактирование:
setsValue,setsValueHL.
Явные настройки на уровне конкретной характеристики имеют приоритет над общими:
Сценарий |
Глобальная привилегия |
Настройка для конкретной УХ |
Результат |
|---|---|---|---|
Глобально редактирование разрешено, одна УХ запрещена |
|
|
Все УХ доступны для редактирования, кроме |
Глобально чтение запрещено, одна УХ разрешена |
|
|
Чтение всех УХ запрещено, но |
Приложения, доступные для роли#
Во вкладке Приложения, доступные для роли отображается список приложений, к которым у данной роли есть доступ.
Для каждого приложения в списке отображаются как минимум его наименование и системное имя.
Доступ к приложениям определяется привилегиями административного объекта Приложения. Выданные права на такую привилегию обеспечивают отображение приложения в меню выбора приложений.
В детализации приложения отображаются пункты меню, входящие в это приложение.
Пункты динамического меню, доступные для роли#
Во вкладке Пункты динамического меню, доступные для роли отображаются пункты динамического меню, доступные пользователям с данной ролью.
Если для элемента динамического меню установлен признак Доступно, этот признак автоматически устанавливается для всех предков, начиная с корневого элемента, и для всех потомков выбранного элемента. При снятии признака он снимается для всех потомков данного пункта меню.
Профили роли#
Во вкладке Профили роли для выбранной роли задаются профили, в состав которых должна входить эта роль.
Вкладка используется для настройки связи роли с профилями. На вкладке доступны операции включения роли в профили и удаления её из профилей.
Пользователи роли#
Во вкладке Пользователи роли отображаются пользователи, у которых назначена данная роль.
На этой вкладке роль пользователю не задаётся, а показывается, на каких пользователях она уже есть. Роли не назначаются пользователям напрямую: пользователь получает роль через профиль. Для каждого пользователя можно определить, от какого профиля он получил данную роль.
В списке и карточке Роли для этой вкладки доступна операция:
Пересчитать индексацию привилегий для текущего пользователя.
Дискретный доступ#
Во вкладке Дискретный доступ задаются параметры дискретного доступа для выбранной роли.
В этой вкладке настраиваются значения параметров для ограничений, связанных с административными объектами и привилегиями. Если для объектной или элементарной привилегии указано ограничение дискретного доступа, оно проверяется в контексте объекта или строки выборки.
Серверные полномочия#
Во вкладке Серверные полномочия настраивается доступ роли к серверным возможностям JEXL.
Вкладка включает следующие разделы:
Доступ к API— настройка доступа к вызову методов API из JEXL-скриптов;Доступ к пакетам— настройка доступа к пакетам (Pkg) из JEXL-скриптов;Разрешения JEXL— настройка разрешений на использование Java/Scala-пакетов и классов в JEXL-скриптах.
Подробности по настройке этих разрешений приведены в статье Администрирование JEXL.
Доступ к API#
Чтобы настроить доступ к API:
Перейдите на закладку
Серверные полномочия > Доступ к API.Найдите нужный API.
В разделе
Права на вызов методов из JEXLвыберите методы и установите признакИмеется право.Чтобы разрешить вызов всех методов API, установите флаг
Доступны все методы API через JEXL.
Доступ к пакетам#
Доступ к пакетам (Pkg) настраивается аналогично на закладке Серверные полномочия > Доступ к пакетам.
Разрешения JEXL#
Во вкладке Разрешения JEXL настраивается использование Java/Scala-классов и пакетов в JEXL-скриптах.
Для выдачи прав на пакет:
укажите тип привилегии
package;в поле имени укажите полное имя пакета.
Для выдачи прав на класс:
укажите тип привилегии
class;в поле имени укажите полное имя класса.
Чтобы разрешить только отдельные методы класса, перечислите их в поле Методы в виде JSON-массива.
Если нужно разрешить все методы, кроме указанных, установите флаг Указанные методы исключающие.
Доступ к таблицам в SQL-запросах#
Во вкладке Доступ к таблицам в SQL-запросах настраиваются права роли на использование таблиц в SQL-запросах из JEXL.
Подробности по этой настройке также приведены в статье Администрирование JEXL.
Чтобы настроить доступ:
Перейдите на вкладку
Доступ к таблицам в SQL-запросах.Найдите нужную таблицу.
Установите права с помощью чекбоксов:
Select— чтение;Update— изменение;Delete— удаление;Insert— вставка.
Права на Insert можно выдать только для таблиц в схемах:
public;aud;global_dev;global_system.
Примечание
id=»ch7wax»
Права на Select могут быть получены при наличии любой не запрещающей привилегии на администрируемом объекте, соответствующем данной таблице.
Право подписи#
Во вкладке Право подписи отображаются настройки, связанные с правом подписи для роли.
Доступ к складам#
Во вкладке Доступ к складам отображаются склады, доступ к которым предоставлен для роли.
Доступ к операциям по заказам#
Во вкладке Доступ к операциям по заказам отображаются операции по заказам, доступные для роли.
Доступ к проводкам по счетам#
Во вкладке Доступ к проводкам по счетам отображаются проводки по счетам, доступные для роли.
Групповая настройка привилегий ролей#
Выборка Групповая настройка привилегий ролей предназначена для массовой выдачи привилегий ролям от администрируемого объекта.
Выборка доступна по пути:
Администратор > Доступ > Групповая настройка привилегий ролей.
Принцип работы:
Выберите нужный администрируемый объект.
Выберите нужные роли — в панели фильтрации откройте список подбора для поля
Перечень ролей.Проставьте гранты на нужных привилегиях.
Пересчитайте индексы привилегий — выполните операцию
Пересчитать индексацию привилегийв интерфейсеПеречень ролей.
Дерево администрируемых объектов#
Уровни дерева:
группа администрируемых объектов;
объект администрирования;
узел администрирования;
элемент администрируемого объекта.
Объекты администрирования могут не входить в группу. В этом случае они считаются корневыми.
Операции дерева:
Обновить выбранный объект— обновляет выделенный объект или элемент. При обновлении сканируется исходный код, добавляются недостающие привилегии и элементы;Обновить администрируемый объект по имени— обновляет объект по указанному имени;Обновить администрируемые объекты модуля— обновляет все администрируемые объекты модуля.
Примечание
id=»vlx2yt» Классы-коллекции не имеют собственных объектов администрирования и входят в объект мастера. Для обновления настроек коллекций обновляйте администрируемый объект по имени класса-мастера.
Настройка прав#
На закладке отображается настройка прав для ролей в зависимости от выделенной записи в дереве:
для администрируемого объекта — объектные привилегии;
для элемента администрирования — типы элементарных привилегий и элементарные привилегии.
Колонки ролей формируются динамически по ролям, выбранным в фильтре.
Операции настройки прав:
Подобрать роли— подбирает в фильтр роли, для которых уже есть права на текущий объект или элемент.
Пользователи и профили#
В активной ячейке отображаются пользователи и профили, связанные с выбранной ролью.
Технические сведения#
Для работы системы администрирования в отображении объявлены следующие функции:
onLoadAdminMeta— применяет настройки администрирования;acObject— возвращает имя администрируемого объекта;acObjectBundle— возвращает имя узла администрирования;acObjectItem— возвращает имя элемента администрирования;isAdministraded— определяет признак администрирования выборки.
Для проверки привилегий и ролей используются функции:
ru.bitec.app.btk.Btk_AdminPkg#hasObjPriv— проверяет наличие объектной привилегии у пользователя;ru.bitec.app.btk.Btk_AdminPkg#hasStateChangePriv— проверяет привилегию на переход состояния;ru.bitec.app.btk.Btk_AdminPkg#hasRole— проверяет наличие роли у пользователя.