Настройка правил доступа может выполняться пользователем, создавшим модель или имеющим права на администрирование данной модели. Объектом доступа являются строки данных. Настройка правил определяет условия, которым должны отвечать доступные пользователю строки (например, территориальная привязка пользователей соответствует территориальной привязке данных модели).
Настройка правил атрибутного доступа выполняется в интерфейсе настройки доступа к конкретной модели (см. п. Управление доступом к моделям и настройки планировщика) на вкладке «Правила доступа» (Рисунок «Вкладка «Правила доступа» интерфейса настройки моделей).
Интерфейс настройки правил доступа содержит список созданных правил, а также предоставляет возможности:
-
создания нового правила;
-
изменения существующего правила;
-
удаления одного или нескольких существующих правил.
Подробно данные операции описаны в п. Создание нового правила – Применение изменений правил.
Чтобы добавить новое правило, нажмите на кнопку «Добавить» (см. Рисунок «Вкладка «Правила доступа» интерфейса настройки моделей»).
Отобразится интерфейс добавления правила доступа (Рисунок «Интерфейс добавления правила доступа»), содержащий:
-
редактируемое поле названия правила (1);
-
кнопку «Сохранить» для сохранения нового правила или внесенных изменений (2);
-
поле выбора типа субъекта доступа «Тип объекта доступа» (3);
-
интерфейс ввода условий (4).
Для настройки правил доступа по строкам в поле «Тип объекта доступа» выберите значение «Доступ к строкам» (см. Рисунок «Интерфейс добавления правила доступа»).
Группа условий может включать в себя два вида ограничений:
-
ограничения по пользователям (необязательно) – дает ограничения на пользователей, т.е. определяет группу пользователей (кого ограничиваем), к которым будут применены условия по полю модели (как ограничиваем);
-
ограничения по данным (обязательно) – дает ограничения на данные, т.е. определяет поля модели, которые ограничивают видимость данных.
Для добавления условия нажмите на кнопку «Добавить условие» в необходимом блоке.
Условия в блоке «Ограничения по пользователям» строятся из следующих компонентов:
-
атрибут пользователя, входящий в состав схемы доступов. Выберите значение из выпадающего списка (Рисунок «Выбор атрибута доступа в блоке «Ограничения по пользователям»);
Примечание Специальный атрибут «Роль» применяется в настройке атрибутного доступа к пользовательской модели для ограничения пользователей внешнего провайдера с помощью задания условий по значениям, указанным в маппинге атрибутов внешнего провайдера.
-
оператор сравнения. Выберите значение из выпадающего списка (Рисунок «Выбор оператора сравнения в блоке «Ограничения по пользователям»);
-
постоянное значение для сравнения, с которым будет сравниваться значение атрибута. Введите значение с клавиатуры (Рисунок «Ввод постоянного значения для сравнения в блоке «Ограничения по пользователям»).
Условия в блоке «Ограничения по данным (по полю модели)» строятся из следующих компонентов:
-
поле модели. Выберите значение из выпадающего списка (Рисунок «Выбор поля модели в блоке «Ограничения по данным (по полю модели)»);
-
оператор сравнения. Выберите значение из выпадающего списка (Рисунок «Выбор оператора сравнения в блоке «Ограничения по данным (по полю модели)»);
-
вид сравнения (Рисунок «Выбор вида сравнения в блоке «Ограничения по данным (по полю модели)»):
-
«Значение» – для ввода в следующем поле константы, с которой будет сравниваться атрибут пользователя;
-
«Атрибут» – для выбора поля из модели (к которой ограничивается доступ), с которым будет сравниваться атрибут пользователя.
-
-
атрибут пользователя или постоянное значение, с которым будет сравниваться значение в поле модели. Введите значение с клавиатуры (если вид сравнения «Значение») или выберите из выпадающего списка (если вид сравнения «Атрибут») (Рисунок «Выбор атрибута пользователя в блоке «Ограничения по данным (по полю модели)»).
Пример настройки правила доступа приведен на рисунке ниже (Рисунок «Пример настройки правила доступа»).
В составе одного правила может быть введено одно или несколько условий в одной группе либо несколько условий в разных группах, при этом:
-
условия, введенные в каждой группе, объединяются по принципу логического «И» – доступ к строке данных будет предоставлен только при выполнении всех условий, или логического «ИЛИ» – доступ к строке данных будет предоставлен при выполнении одного из условий;
-
группы условий объединяются между собой по принципу логического «ИЛИ» – доступ к строке данных будет предоставлен при выполнении любой из заданных групп условий.
На рисунке (Рисунок «Настроенное правило доступа с использованием групп условий») настроено правило, при котором пользователям будет предоставлен доступ к данным их региона и дочерних структур, кроме пользователей из региона 12, для которых будет предоставлен доступ к данным только их собственного региона.
Чтобы перейти в окно редактирования и изменить существующее правило, дважды нажмите левой кнопкой мыши по строке данного правила в списке правил (см. Рисунок «Вкладка «Правила доступа» интерфейса настройки моделей»). Операции и интерфейс изменения существующего правила ограничения доступа аналогичны описанным действиям по созданию нового правила (см. п. Создание нового правила).
Если для доступа к модели создано несколько отдельных правил (см. п. Рисунок «Вкладка «Правила доступа» интерфейса настройки моделей»), то при формировании итоговых доступов пользователя все заданные отдельными правилами ограничения будут соединяться операцией логического умножения (логическое «И»), то есть к доступу будут применяться все ограничения из отдельных правил.
Чтобы удалить одно или несколько из существующих правил, выполните следующие действия:
-
выберите в списке удаляемые правила установкой «флажка»;
-
нажмите на кнопку «Удалить»;
-
подтвердите действие в открывшемся окне (Рисунок «Подтверждение операции удаления правил доступа»).
Применение изменений правил по отношению к пользователям происходит сразу после их сохранения. Вход и выход пользователей в Систему для этого не требуются.
При выполнении операции замены одного правила на другое необходимо помнить, что после удаления правила все связанные с ним ограничения также удаляются и пользователи получат полный доступ к данным. Аналогичная ситуация может возникнуть при некорректном изменении правила. Поэтому рекомендуется вначале создать новое (заменяющее) правило, а после удалять существующее.