Обновлено: 21.08.2025
RBAC (Role-Based Access Control) или Ролевая модель — модель доступа, в которой права назначаются ролям, а пользователи получают доступ через назначенные им роли.
ACL (Access Control List) или Список прав — модель доступа, при которой для каждого объекта хранится список субъектов (пользователей, групп, ролей) и выданных им прав.
Hierarchical ACL (иерархический ACL) — разновидность ACL, при которой объект может наследовать права доступа от родительского объекта.
Пример для Вики:
В результате доступ пользователя к странице определяется его ролями, группами и записями ACL, действующими для данной страницы.
Пример использования Hierarchical ACL:
В Timetta доступ пользователя к данным определяется комбинацией нескольких механизмов:
Примечание
Отдельно от описанной модели работают права на жизненный цикл сущностей. Они определяют возможность перехода сущности из одного состояния в другое. Эти права настраиваются отдельно и не зависят напрямую от RBAC, ACL или лицензий.
Основной уровень доступа пользователя формируется комбинацией лицензии, RBAC и ACL. Этот уровень определяет, может ли пользователь:
Формально:
Permission = License AND (RBAC OR ACL)
Если у пользователя нет лицензии или соответствующих прав, данные этого типа для него недоступны.
В Timetta предусмотрен фиксированный список системных ролей:
Роль определяет доступ к области системы:
| Роль | Область |
|---|---|
| Пользователь | Моя работа, Аналитика |
| Управление командой | Команда |
| Управление проектами | Проекты |
| Управление ресурсами | Ресурсы |
| Управление финансами | Финансы |
| Управление клиентами | Клиенты |
| Администратор | Настройки |
Для каждой системной роли может быть создан один или несколько наборов прав. Каждый набор прав состоит из гранул — минимальных единиц настройки доступа. Например:
Большинство гранул разделяются на области действия. Например:
Для каждой гранулы и области задаются доступные действия:
Пользователям назначаются настроенные наборы прав, после чего они получают доступ к соответствующим данным и операциям.
Наборы прав можно назначать:
Итоговые права пользователя формируются объединением всех назначенных ему наборов прав.
ACL используется для назначения прав непосредственно на конкретные объекты системы. Права могут назначаться:
ACL дополняет RBAC и позволяет более точно управлять доступом к отдельным сущностям.
| Компонент | Применение ACL |
|---|---|
| Задачи | Права могут назначаться пользователям, ролям и группам пользователей на уровне проекта |
| Представления | Доступ на конкретное представление |
| Дашборды | Доступ на конкретный дашборд |
| Вики | Доступ к Вики-страницам |
Отдельно существует механизм доступа по назначенному заданию воркфлоу. Если пользователю назначено задание воркфлоу, система предоставляет ему доступ к связанной сущности.
Особенности:
Для создаваемой сущности проверяется её будущее состояние — значения, которые будут сохранены после создания:
Для редактирования проверяется право доступа к сущности в её текущем состоянии:
Для списков и выборок данных:
License AND (RBAC OR ACL)
Для открытия конкретной сущности:
License AND (RBAC OR ACL OR Workflow Assignment)
Содержание
Основные понятия Общая модель доступа Уровень базового доступа Ролевой доступ (RBAC) Системные роли Наборы прав Назначение наборов прав Списки прав (ACL) Примеры использования ACL Задание вокрфлоу (Workflow Assignment) Применение и проверка прав Проверка прав при создании Проверка прав при редактировании и удалении Итоговая логика доступа Примеры
Похоже, вам удобнее русский язык. Перейти на русскую версию?