Управление доступом ABAC
ABAC (Attribute-Based Access Control) — механизм управления доступом на основе атрибутов, который используется совместно с ролевой моделью доступа.
ABAC позволяет гибко настраивать доступ пользователей и групп пользователей к данным Платформы Радар. Ограничения могут применяться не только к сущности целиком, но и к отдельным действиям, записям и полям.
С помощью ABAC можно:
-
разрешать или запрещать доступ к сущностям;
-
настраивать доступ к чтению, созданию, редактированию и удалению данных;
-
ограничивать доступ к отдельным записям с помощью условий;
-
ограничивать доступ к отдельным полям записей;
-
использовать атрибуты пользователя в условиях доступа;
-
использовать роли пользователя в условиях доступа;
-
наследовать пользователю настройки доступа групп;
-
задавать отдельные настройки доступа для конкретных инстансов.
Настройки ABAC задаются отдельно для пользователей и групп пользователей.
Для настройки доступа пользователя перейдите в раздел Администрирование → Пользователи, откройте пользователя и выберите вкладку Доступ к данным.
Для настройки доступа группы перейдите в раздел Администрирование → Группы, откройте группу и выберите вкладку Доступ к данным.
Вкладку Доступ к данным в карточке пользователя или группы не следует путать с отдельным подразделом Доступ к данным раздела управления доступом к платформе.
Настройка политики доступа
На вкладке Доступ к данным расположены общие настройки политики и список сущностей, для которых можно настроить отдельные ограничения (см. рисунок 1).

Рисунок 1 – Вкладка «Доступ к данным» в карточке группы пользователей
В блоке Настройки по умолчанию доступны параметры Доступ к сущностям и Стратегия без условий.
Параметр Доступ к сущностям принимает следующие значения:
-
Полный — общая политика применяется ко всем сущностям;
-
Частичный — позволяет отдельно настраивать доступ к сущностям и действиям над ними.
Параметр Стратегия без условий определяет базовое решение о предоставлении доступа:
-
Разрешить — разрешить доступ без дополнительных условий;
-
Запретить — запретить доступ без дополнительных условий;
-
Наследовать — используются настройки групп, в которые входит пользователь.
Вариант Наследовать доступен только при настройке пользователя.
При выборе Частичный отображается список сущностей Платформы Радар. Для поиска необходимой сущности используйте поле Поиск сущности.
Переключатель Не показывать системные имена позволяет скрывать системные имена сущностей и их полей.
Переключатель Только переопределения позволяет отображать только сущности, для которых заданы отдельные настройки.
Настройка доступа пользователя
Пользователь может использовать собственную политику доступа или наследовать настройки групп, в которые он входит.
Для наследования групповых настроек выберите Наследовать в поле Стратегия без условий.
При использовании стратегии Наследовать настройки доступа пользователя определяются политиками назначенных ему групп.
Для задания собственной политики пользователя выберите Разрешить или Запретить.
При необходимости можно использовать частичный доступ и отдельно определить политику для отдельных сущностей.
Настройка доступа к сущности
Для настройки отдельной сущности:
-
Выберите Частичный в поле Доступ к сущностям.
-
Найдите необходимую сущность в списке.
-
Раскройте строку сущности.
Для сущности отображаются доступные действия и настройки доступа к записям и полям (см. рисунок 2).

Рисунок 2 – Настройка доступа к сущности
В зависимости от сущности могут быть доступны следующие действия:
-
Чтение;
-
Создание;
-
Редактирование;
-
Удаление.
Для каждого действия можно установить значение:
-
Наследовать — использовать настройки групп пользователя;
-
Разрешить — разрешить выполнение действия;
-
Запретить — запретить выполнение действия.
Значение Наследовать доступно при настройке пользователя.
Для дополнительной настройки доступа нажмите Настроить напротив необходимого действия.
Настройка доступа к записям
ABAC позволяет ограничивать доступ не только к сущности целиком, но и к отдельным записям.
Например, можно разрешить пользователю чтение сущности, но исключить из доступных данных записи, соответствующие заданному условию.
Для настройки доступа к записям:
-
Откройте настройки необходимой сущности.
-
Напротив действия нажмите Настроить.
-
В блоке Доступ к записям выберите базовое решение:
-
Наследовать;
-
Разрешить;
-
Запретить.
-
-
При необходимости нажмите Добавить исключение.
Окно настройки доступа к записям показано на рисунке 3.

Рисунок 3 – Окно настройки доступа к записям
Исключение позволяет изменить базовое решение для записей, соответствующих заданному условию.
Например, при базовом значении Запретить можно создать исключение и разрешить доступ только к записям с определенным значением поля.
Настройка исключений
Для добавления условия нажмите Добавить исключение, затем добавьте фильтр (см. рисунок 4).

Рисунок 4 – Настройка исключения для доступа к записям
При создании условия можно использовать:
-
Поле сущности;
-
Атрибут пользователя;
-
Роль пользователя.
Для условия по полю сущности последовательно укажите:
-
необходимое поле сущности;
-
оператор;
-
значение, если оно требуется выбранным оператором;
-
при необходимости включите Отрицание.
Значение для сравнения вводится вручную.
Для условия по атрибуту пользователя необходимо дополнительно указать имя атрибута. Подробнее см. раздел Использование атрибутов пользователя.
Для условия по роли пользователя необходимые роли выбираются из списка. Подробнее см. раздел Использование роли пользователя.
Доступный набор полей, операторов и значений зависит от выбранного типа условия.
После сохранения созданное условие отображается в настройках сущности в текстовом виде.
Для одной настройки можно использовать несколько условий.
Использование атрибутов пользователя
В условиях ABAC можно использовать атрибуты пользователя.
Атрибуты задаются в карточке пользователя на вкладке Информация, в блоке Атрибуты (см. рисунок 5).

Рисунок 5 – Блок «Атрибуты» в карточке пользователя
Для атрибута указываются:
-
Ключ — имя атрибута;
-
Значение — значение атрибута пользователя.
Для использования атрибута в условии доступа:
-
Откройте настройку необходимого действия.
-
Нажмите Добавить исключение.
-
Добавьте фильтр Атрибут пользователя.
-
В поле Имя атрибута вручную укажите ключ атрибута пользователя.
-
Выберите оператор.
-
Если выбранный оператор требует значения, укажите его в поле Значение.
-
При необходимости включите Отрицание.
-
Сохраните условие.
Настройка условия с использованием атрибута пользователя показана на рисунке 6.

Рисунок 6 – Настройка условия с использованием атрибута пользователя
В зависимости от условия для атрибута пользователя могут быть доступны операторы:
-
Содержит подстроку;
-
Равно;
-
Входит в строку;
-
Существует.
При выборе оператора Существует проверяется наличие указанного атрибута у пользователя.
Использование роли пользователя
В условиях ABAC можно учитывать роли, назначенные пользователю.
Условие по роли пользователя позволяет изменить решение о предоставлении доступа в зависимости от наличия у пользователя выбранных ролей.
Для использования роли пользователя в условии доступа:
-
Откройте настройку необходимого действия.
-
Нажмите Добавить исключение.
-
Добавьте фильтр Роль пользователя.
-
Выберите оператор.
-
Выберите одну или несколько ролей из списка.
-
Сохраните условие.
Для проверки ролей пользователя используются следующие операторы:
-
Один из — проверяется наличие у пользователя одной из выбранных ролей;
-
Не один из — выполняется обратная проверка с отрицанием условия.
В отличие от условия по атрибуту пользователя, название роли вручную вводить не требуется — необходимые роли выбираются из списка.
Настройка доступа к полям
ABAC позволяет ограничить доступ пользователя к отдельным полям записей.
Для настройки доступа к полям:
-
Откройте настройки необходимого действия сущности.
-
В блоке Доступ к полям выберите:
-
Полный — доступны все поля сущности;
-
Частичный — доступ к каждому полю настраивается отдельно.
-
При выборе Частичный отображается список полей сущности.
Для каждого поля можно разрешить или запретить доступ.
Если доступ к полю запрещен, значение этого поля скрывается от пользователя.
Для отдельного поля также можно задать исключение. Для этого нажмите Добавить исключение напротив необходимого поля.
Условия исключения доступа к полю настраиваются аналогично условиям доступа к записям.
Например, можно разрешить отображение поля только для записей, соответствующих заданному условию.
Таким образом, настройка доступа может выполняться последовательно на нескольких уровнях:
сущность → действие → запись → поле.
Настройка доступа для инстанса
По умолчанию настройки на вкладке Доступ к данным применяются как общая политика пользователя или группы.
Для отдельного инстанса можно создать собственное переопределение.
Для этого в карточке пользователя или группы нажмите + Добавить переопределение (см. рисунок 7).

Рисунок 7 – Добавление переопределения настроек для инстанса
На открывшейся вкладке:
-
В блоке Выбор инстанса выберите инстанс, для которого необходимо создать отдельную политику.
-
Настройте доступ к сущностям.
-
При необходимости настройте доступ к отдельным действиям, записям и полям.
-
Нажмите Сохранить.
Настройки доступа для отдельного инстанса показаны на рисунке 8.

Рисунок 8 – Настройка политики доступа для отдельного инстанса
В блоке Применить настройки другого инстанса можно выбрать другой инстанс и применить его настройки к текущему переопределению.
Таким образом, для одного пользователя или группы могут использоваться общие настройки и отдельные настройки для выбранных инстансов.
Применение политик ABAC
Настроенные политики ABAC учитываются при работе пользователя с Платформой Радар.
В зависимости от политики пользователю могут быть:
-
недоступны отдельные разделы платформы;
-
недоступны отдельные действия с сущностями;
-
доступны только отдельные записи;
-
скрыты отдельные поля записей.
ABAC также учитывается при попытке прямого перехода в раздел, к которому у пользователя отсутствует доступ.
После изменения политики нажмите Сохранить.