Перейти к содержанию

Паттерны настройки прав

Справочник практических паттернов по правам доступа, извлечённых из курсов «Администратор» (Basic) и «Администратор Pro».

1. Права на категории: выдаются группам

Ключевое правило

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

Чтобы выдать права конкретному пользователю -- создать для него индивидуальную группу.

Порядок выдачи

  1. Категория > Доступ > По группам.
  2. Найти группу через поиск.
  3. Выбрать группу > отметить права в блоке «Права».
  4. Сохранить (иконка дискеты).

Удаление доступа

Два способа: - Из настроек категории: Доступ > По группам > выбрать группу > «Удалить группу». - Из настроек группы: Доступ на категории > выбрать категорию > снять все отметки в блоке «Действия».

Практические рекомендации

  • Сразу выдать права группе Administrators -- иначе не увидите результат настроек в UI.
  • Не выдавать права группе «Все пользователи» -- замедляет работу системы.

2. Связанные группы и автоматическое обновление

Связанные группы (организационные)

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

Создание

  • Открыть карточку орг.единицы > убедиться что в «Связанная группа» выбрано «(Создать новую)» > нажать «Связать с группой».
  • Для целой ветки: «Создать группу для всей ветки» -- создаст связанные группы для текущей орг.единицы и всех подчинённых.

Автоматическое обновление через вложенность

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

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

При изменении орг.структуры

При добавлении новой орг.единицы обязательно создать для неё связанную группу. Иначе невозможно будет выдать доступы пользователям этой орг.единицы.

3. Доступ к ДП -- уровни и механизмы

Четыре режима доступа к ДП

Режим Где задаётся Что контролирует
По задаче Настройки ДП в категории > Доступ = «По задаче» Стандартный доступ, без ограничений по группам
Только по группам Настройки ДП > Доступ = «Только по группам» Чтение и/или редактирование -- конкретным группам
По матрице доступа Настройки ДП > Доступ = «По матрице доступа» Группа + роль + статус = чтение/редактирование/скрыто
Доступ зависит от статуса Настройки ДП в категории Чтение/редактирование по конкретным статусам

Матрица доступа -- детали

  • Добавить группу, роль или право в категории.
  • По умолчанию на всех статусах -- доступ на чтение (значок глаза).
  • Клик: глаз (чтение) > карандаш (редактирование) > пустое поле (нет доступа).

Обязательность ДП на переходе

Настраивается в маршруте: выбрать переход > вкладка «Доп.параметры» > выбрать ДП. Если ДП не заполнен -- система не позволит выполнить переход.

4. Гибкие права на задачи

Назначение

Гибкие права дают доступ к конкретным задачам (не ко всем задачам категории) на основании данных в самой задаче. Дают только право просмотра.

Три режима

Режим Логика
Flat ДП типа «Выбор пользователя» находится в той же категории, на задачи которой настраиваются права
Lookup ДП Lookup в текущей категории ведёт на категорию-источник, где есть ДП «Выбор пользователя» с указанным пользователем
Multilookup Аналогично Lookup, но через Multilookup

Ограничение: только ДП «Выбор пользователя»

Гибкие права могут брать значение только из ДП «Выбор пользователя». В этом ДП допустимы пользователи и группы. Орг.единицы недопустимы.

Паттерн: гибкие права на основе выпадающего списка

Если доступ зависит от значения ДП типа «Выпадающий список» (например, «Тип лида»):

  1. Создать скрытое вспомогательное ДП типа «Выбор пользователя».
  2. Настроить автоматизацию (смарт «После постановки»): заполнить вспомогательное ДП нужным пользователем в зависимости от значения выпадающего списка.
  3. Настроить гибкое право в режиме Flat на вспомогательное ДП.

Важно: гибкие права + права категории

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

Если ранее выдавались временные доступы по группам на просмотр -- отозвать их после настройки гибких прав.

5. Доступ к ДП через SQL

SQL-функция для доступа к ДП

Для управления доступом к ДП можно написать SQL-функцию. Функция вызывается системой при отображении ДП.

Возвращаемые значения

SQL-функция для доступа к ДП может вернуть только одно значение:

Значение Результат
NULL или 0 Нет прав, ДП скрыто
1 Только чтение (без редактирования)
2 Чтение и редактирование

Факты из теста (Pro)

  • Функция возвращает ровно одно значение (не набор).
  • Возврат 1 = только чтение, без возможности редактирования.

6. Переопределение доступа на переходах маршрута

Контроль видимости кнопок перехода

В настройках перехода (Дизайнер маршрута > нажать на стрелку перехода) доступен блок «Переопределение доступа»:

  1. Снять видимость по умолчанию.
  2. Указать конкретные роли (заказчик, исполнитель) или группы, которым кнопка перехода будет доступна.
  3. Галочка «Кнопка скрыта» -- полностью скрывает переход.

Практика

Используется для разделения прав на движение задачи по маршруту. Например: кнопку «Согласовано» видит только руководитель, кнопку «Отправить на доработку» -- только исполнитель.

7. Системные группы -- ограничения

Запрещено

  • Удалять системные группы: «Все пользователи», «Users», «Administrators».
  • Удалять учётные записи support, systemrobot, anonymous или менять их настройки.
  • Удалять учётную запись из группы Administrators -- пользователь потеряет доступ к администрированию.
  • Удалять пользователей из связанных групп (привязанных к орг.единицам).