Разделение прав доступа к диаграммам
Разделение прав доступа к диаграммам
Stormbpmn предлагает мощный инструментарий для организации доступа к моделям бизнес-процессов. Множество параметров влияют на возможность просматривать конкретную диаграмму или список диаграмм.
В этой статье рассмотрим типичные задачи и способы их решения через настройки системы.
Что влияет на получение доступа к конкретной диаграмме
На получение доступа к конкретной диаграмме влияет несколько факторов в следующей последовательности:
1. Статус диаграммы
Статус диаграммы определяет максимальный уровень доступа к диаграмме. Если диаграмма находится в статусе:
- "Готов"
- "На согласовании"
- "Архив"
То максимальный уровень доступа (независимо от других настроек) — ЧТЕНИЕ.
2. Настройки сервера
- ENV переменная STORM_DISABLE_ANON_SHARING — если установлена в
true
, то любой неавторизированный пользователь не получит доступ к любой схеме, несмотря на другие настройки. - Настройка allDiagramsAnonAccess — если установлена в
true
, то любой неавторизированный пользователь ПОЛУЧИТ доступ к схеме как минимум на чтение, несмотря на другие настройки.
3. Публичность диаграммы
Если диаграмма скрыта (кнопка "глаз" сверху), то никто, кроме автора, не получит доступа к диаграмме, несмотря на остальные настройки.
4. Настройки прав диаграммы
- Если в настройках "Поделиться" конкретной диаграммы включен Доступ по ссылке, то любой неавторизированный пользователь получит доступ к схеме на чтение.
- Если в настройках "Поделиться" конкретной диаграммы указан e-mail пользователя, то этот пользователь получит доступ к схеме с указанными правами.
5. Настройки прав на папку и родительские папки
Если в настройках "Поделиться" папки или её родительских папок, в которой расположена диаграмма, указан e-mail пользователя, то этот пользователь получит доступ к схемам из папки с указанными правами. Права распространяются вниз по дереву папок.
6. Участие в команде с автором диаграммы
Если автор диаграммы и читатель диаграммы находятся в одной команде, то при проверке доступа будут проверены права читателя и он получит доступ как минимум на чтение.
7. Читатель — администратор
Если читатель входит в административную команду, то он получает доступ ко всем диаграммам на редактирование всегда.
Что влияет на получение доступа к спискам моделей в таблице и структуре папок
1. Настройки сервера
Настройка allDiagramsAnonAccess — если установлена в true
, то любой авторизированный пользователь ПОЛУЧИТ доступ к спискам ВСЕХ диаграмм для поиска в таблице.
2. Вхождение в команду
Любой участник команды по умолчанию получает доступ на просмотр списков моделей и структуру папок.
3. Гранулярные права на папки в команде
Если участнику команды запретили доступ на чтение к "Папкам", то он не увидит структуру папок.
Рецепты настройки доступа
Рецепт №1 — Много разных команд, каждая делает своё, изредка показывая схемы друг другу
Решение: Создаём несколько разных команд, ничего не настраиваем дополнительного на уровне сервера, пользуемся настройками на уровне диаграмм.
Рецепт №2 — Много разных команд, каждая делает своё, все постоянно смотрят чужое
Решение: Создаём несколько разных команд, настраиваем allDiagramsAnonAccess в true
.
Рецепт №3 — Один суперпользователь хочет видеть все схемы всех команд, а команды не хотят ничего никому показывать
Решение: Суперпользователь должен входить в административную команду.
Рецепт №4 — Хотим одну структуру папок на весь сервер
Решение: Всех участников надо собирать в одну команду.