Skip to Content

Модель прав доступа

Модель прав WCS определяет, какие разделы пользователь видит и какие действия может выполнять. Права не настраиваются в отдельной сущности «модель»: администратор создаёт роли, назначает их пользователям или группам и при необходимости задаёт прямые права пользователя.

Основные понятия

Разрешение позволяет выполнить действие над ресурсом, например просмотреть роботов или создать дашборд.

Роль — именованный набор разрешений.

Группа объединяет пользователей и назначает им роли. Собственных прямых прав у группы нет.

Эффективные права — итоговый доступ пользователя после объединения всех назначений.

Источники прав

Прямые права пользователя

Настраиваются на вкладке «Прямые права» в карточке пользователя.

Прямое право удобно использовать для индивидуального исключения:

  • временно разрешить отдельное действие;
  • добавить персональную рабочую функцию;
  • выдать право, для которого нецелесообразно создавать отдельную роль.

Прямое право дополняет роли пользователя и роли его групп. С его помощью нельзя отозвать право, которое уже получено из другого источника.

Роли пользователя

Назначаются на вкладке «Роли» в карточке пользователя. Пользователь может иметь несколько ролей; их разрешения объединяются.

Прямое назначение роли подходит для функции, которая относится к конкретному пользователю, а не ко всей его группе.

Роли групп

Пользователь получает права всех ролей, назначенных всем его группам. Если пользователь входит в несколько групп, роли этих групп объединяются.

Группа сама по себе не является источником разрешений. Источник — роли, назначенные группе.

Администратор

Флаг «Администратор» предоставляет полный доступ ко всем действиям. Для такого пользователя отдельные роли и прямые права не ограничивают административный доступ.

Объединение прав

Если разные источники разрешают разные действия, пользователь получает их вместе.

Пример:

  • роль «Оператор» разрешает просмотр роботов и карты;
  • роль «Диспетчер» разрешает просмотр и запуск миссий;
  • пользователю назначены обе роли.

Итог: пользователь видит роботов, карту и миссии и может запускать миссии.

То же правило действует для ролей групп. Например, пользователь может получить оперативные права через группу своей смены, а инженерные — через группу технической поддержки.

Как суммируются права

Все источники равноправно добавляют разрешения в итоговый набор. Одно и то же право, полученное из нескольких источников, учитывается один раз, но в карточке эффективных прав можно увидеть, откуда оно поступило.

Пример с прямым правом

  • роль группы «Операторы» разрешает просмотр миссий;
  • пользователю напрямую разрешён запуск миссий.

Итог: пользователь может просматривать и запускать миссии.

Пример с несколькими ролями

  • роль группы разрешает просмотр дашбордов;
  • напрямую пользователю назначена роль с правом просмотра карты.

Итог: пользователь получает доступ и к дашбордам, и к карте.

Чтобы отозвать право, удалите его из каждого источника, который его выдаёт: из прямых прав пользователя, его ролей и ролей его групп.

Прямые права

В матрице прямых прав действие имеет два состояния:

  • не выбрано — прямое право не выдано, но действие может быть доступно через роли;
  • выбрано — действие разрешено непосредственно пользователю.

Унаследованные права отображаются в матрице, но отличаются визуально от прямых. Подсказка показывает роль или роль группы, из которой получено право.

Не дублируйте прямым разрешением право, которое уже стабильно выдаётся ролью. Это усложняет аудит и может скрыть ошибку в структуре ролей.

Практический порядок настройки

  1. Определите рабочие функции пользователей.
  2. Создайте для них роли по принципу минимально необходимого доступа.
  3. Назначьте общие роли группам.
  4. Добавьте пользователям дополнительные роли только при необходимости.
  5. Используйте прямые права для персональных дополнений.
  6. Проверьте итог на вкладке «Эффективные права».

При расследовании неожиданного доступа проверьте все источники: прямые права, роли пользователя и роли его групп. Право останется доступным, пока оно присутствует хотя бы в одном из них.