Перейти к содержимому

Роли и разрешения (RBAC и ABAC)

Omnismith включает многоуровневую систему безопасности, объединяющую Role-Based Access Control (RBAC) и Attribute-Based Access Control (ABAC) на трех вкладках настройки роли:

  1. Вкладка Основные (RBAC): Управляет разрешениями модулей и административными действиями.
  2. Вкладка Ресурсы (RBAC): Задает уровни доступа к шаблонам и атрибутам (Full, Edit, View Only, Deny).
  3. Вкладка Скоупы (ABAC / Безопасность на уровне строк): Условно ограничивает видимость сущностей на основе значений атрибутов.

1. Разрешения модулей и действий (Вкладка Основные)

Заголовок раздела «1. Разрешения модулей и действий (Вкладка Основные)»

На вкладке Основные настройки роли вы включаете или отключаете разрешения для ключевых групп возможностей:

  • Управление ролями: Создание, редактирование или удаление ролей проекта.
  • Управление проектом: Изменение настроек проекта и управление приглашениями.
  • Моделирование данных: Создание и изменение Шаблонов и Атрибутов.
  • Управление сущностями: Создание, редактирование, экспорт или удаление записей сущностей.
  • Дашборды и автоматизации: Построение дашбордов и настройка правил уведомлений.
  • Токены доступа и оплата: Управление API-ключами и тарифными планами.

Вкладка Основные детализации роли с группами разрешений


2. Ограничения на уровне ресурсов (Вкладка Ресурсы)

Заголовок раздела «2. Ограничения на уровне ресурсов (Вкладка Ресурсы)»

На вкладке Ресурсы вы можете переопределять разрешения по умолчанию для конкретных структур данных:

Объект ограниченияВарианты уровня доступаЭффект безопасности
Ограничение шаблонаFull, Edit, View Only, DenyУправляет доступом ко всем сущностям, созданным по этому конкретному шаблону.
Ограничение атрибутаFull, Edit, View Only, DenyСкрывает или ограничивает редактирование конкретных атрибутов в формах и ответах API.
  • Deny (Запрещено): Шаблон или атрибут полностью скрыты и недоступны для пользователей с этой ролью.
  • View Only (Только чтение): Пользователи могут читать и фильтровать данные, но не могут создавать или редактировать записи.
  • Edit (Редактирование): Пользователи могут создавать и редактировать записи сущностей, но не могут удалять схемы или шаблоны.
  • Full (Полный): Неограниченный административный доступ к ресурсу.

Вкладка Ресурсы детализации роли с правилами ограничений шаблонов и атрибутов


3. Условные скоупы сущностей (Вкладка Скоупы - Безопасность строк)

Заголовок раздела «3. Условные скоупы сущностей (Вкладка Скоупы - Безопасность строк)»

Вкладка Скоупы (Scopes) предоставляет механизм Attribute-Based Access Control (ABAC) для применения безопасности на уровне строк.

Вы можете задавать условные правила скоупов для каждого шаблона, чтобы пользователи с этой ролью видели или редактировали только те сущности, которые соответствуют критериям (например, Только сущности, где Отдел = Продажи или Статус = Активен).

  1. Выберите Целевой шаблон.
  2. Добавьте Условия скоупа, используя операторы атрибутов (Равно, Не равно, Входит в, Содержит, Пусто).
  3. Объединяйте несколько условий для строгой изоляции строк.

[!NOTE] Движок применения политик и фильтрация строк: Проверка разрешений происходит как на уровне Nginx/маршрутов API, так и на уровне запросов к базе данных.

  • Ограниченные атрибуты удаляются из DTO ответов API.
  • Условия скоупов сущностей добавляют динамические секции WHERE непосредственно к SQL-запросам, гарантируя, что несоответствующие строки никогда не передаются неавторизованным клиентам.

[!TIP]