Роли и разрешения (RBAC и ABAC)
Omnismith включает многоуровневую систему безопасности, объединяющую Role-Based Access Control (RBAC) и Attribute-Based Access Control (ABAC) на трех вкладках настройки роли:
- Вкладка Основные (RBAC): Управляет разрешениями модулей и административными действиями.
- Вкладка Ресурсы (RBAC): Задает уровни доступа к шаблонам и атрибутам (
Full,Edit,View Only,Deny). - Вкладка Скоупы (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) для применения безопасности на уровне строк.
Вы можете задавать условные правила скоупов для каждого шаблона, чтобы пользователи с этой ролью видели или редактировали только те сущности, которые соответствуют критериям (например, Только сущности, где Отдел = Продажи или Статус = Активен).
Настройка скоупа:
Заголовок раздела «Настройка скоупа:»- Выберите Целевой шаблон.
- Добавьте Условия скоупа, используя операторы атрибутов (
Равно,Не равно,Входит в,Содержит,Пусто). - Объединяйте несколько условий для строгой изоляции строк.
💡 Примечание для разработчиков
Заголовок раздела «💡 Примечание для разработчиков»[!NOTE] Движок применения политик и фильтрация строк: Проверка разрешений происходит как на уровне Nginx/маршрутов API, так и на уровне запросов к базе данных.
- Ограниченные атрибуты удаляются из DTO ответов API.
- Условия скоупов сущностей добавляют динамические секции
WHEREнепосредственно к SQL-запросам, гарантируя, что несоответствующие строки никогда не передаются неавторизованным клиентам.
Следующие шаги
Заголовок раздела «Следующие шаги»[!TIP]
- Назначайте роли участникам в Проектах и участниках.
- Создавайте API-ключи со скоупами в Токенах доступа.