Роли и права: как устроены доступы
| Зачем | Понять модель доступов до того, как раздавать логины: из чего складывается «что видит сотрудник». |
| Кому | Владельцу, который собирает команду. |
| Что получится | Ясная схема «роль (группа прав) + scope категорий = доступ» и умение читать редактор роли. |
| Ограничения | Модель действует в рамках одного объекта; финансовую видимость сузить категориями нельзя — обе границы разобраны в тексте. |
Прежде чем заводить логины сотрудникам, стоит понять, что каждый из них увидит после входа. Доступ собирается из двух независимых частей: группа доступа отвечает за «что можно делать», scope по категориям номера — за «что видно». В статье — обе части, три системные роли и редактор прав.
Из чего складывается доступ
Заголовок раздела «Из чего складывается доступ»Всеми доступами управляет раздел «Доступы (RBAC)» в группе «Система» левого меню. Страница называется «Администрирование RBAC», и её подпись сразу задаёт рамку: «Управление группами доступа, правами и назначениями пользователей в рамках текущего отеля.» Доступы описывают один объект — не сеть объектов и не компанию целиком.
Внутри — два таба: «Группы доступа» и «Пользователи». Они и держат две части доступа:
- Группа доступа — набор прав по модулям: что сотруднику разрешено. Это и есть «роль»; настраивается она на табе «Группы доступа».
- Scope по категориям — какие категории номера видит сотрудник. Живёт не в роли, а в карточке пользователя — на табе «Пользователи».
Роли собраны в таблицу с колонками ID · Код · Название · Права · Тип · Действия («Изменить») — видно и число прав, и системная это группа или ваша собственная.
Три системные роли
Заголовок раздела «Три системные роли»Из коробки в системе три роли:
- «Владелец» (owner) — все 39 прав;
- «Менеджер» (manager) — набор уже, чем у владельца; точный состав виден в редакторе;
- «Наблюдатель» (viewer) — роль на просмотр.
В карточке пользователя группа показывается названием с кодом — «Владелец (owner)».
Состав роли меняется в редакторе «Редактирование группы доступа»: поля «* Код роли», «* Название», «Описание» и блок «Права доступа». У системной роли над полями стоит надпись: «Системная роль: код и название недоступны для изменения, можно обновлять только набор прав.» Код и название серые — правится только набор прав. У собственной группы доступны все поля.
Свою группу под свою команду создаёт кнопка «Новая группа» — например, «Стойка»: права на «Шахматку» и «Бронирования», без «Финансов».
Права: модуль × действие
Заголовок раздела «Права: модуль × действие»Права в группе сгруппированы по 17 модулям: «Менеджер каналов», «Дашборд», «Финансы», «Данные гостей», «Гости», «Сообщения», «Интеграции», «Онлайн-бронование», «Оплаты», «Шахматка», «Тарифы», «Бронирования», «Номера», «Услуги», «Налоги», «Шаблоны», «Пользователи».
Формат каждого права один — «Модуль: действие — описание»: из строки сразу видно, к какому модулю относится действие и что именно оно разрешает.
У большинства модулей права парные — просмотр и редактирование. У некоторых есть точечные действия, и о трёх стоит знать заранее:
- «Сообщения» — «отправка» и «администрирование»;
- «Пользователи» — «управление», то есть право настраивать пользователей и их доступы;
- «Гости» — «Заполнение анкеты за гостя» и «Расшифровка ПДн анкеты гостя»: оба права про паспортные данные из анкеты гостя, выдавать их стоит адресно.
Блок «Права доступа» в редакторе удобен: есть поиск по правам, у каждого модуля — счётчик выбранных «N/N» и кнопки «Снять все» / «Выбрать все».
Видимость по категориям — не роль
Заголовок раздела «Видимость по категориям — не роль»В редакторе роли настройку видимости по категориям искать бесполезно — её там нет. Принцип модели: роль отвечает за действия, а не за то, «какие номера видно».
Разрез по категориям задаётся в карточке пользователя: таб «Пользователи» → кнопка «Настроить доступ» → экран «Настройка доступа пользователя». Кроме имени, логина, «Объекта» и «Группы доступа», в нём есть блок «Scope по модулю “Номера”» с полем «Режим scope»:
- «Все категории» — под полем хинт: «Пользователь видит все категории выбранного объекта.»
- «Только список категорий» — виден лишь выбранный перечень категорий.
Классический пример — горничная: отдельная роль «видит свой этаж» не нужна. Достаточно любой роли и режима «Только список категорий» с перечнем категорий её этажа. Тот же механизм закрывает доступ хозяина юнита: юнит апартаментов — это категория, и scope из одной категории оставляет хозяину его апартаменты.
Деньги и роли
Заголовок раздела «Деньги и роли»Правило «пользователь видит только свои деньги» в системе не работает — закладывать его в схему доступов нельзя. Финансы ограничиваются только правом: есть право на модуль «Финансы» — видно всё движение денег по объекту; разреза по категориям у денег нет, и scope по категориям на них не влияет.
Поэтому пару «горничная видит деньги своего этажа» или «хозяин юнита видит оплату только своего апартамента» не собрать: либо право на «Финансы» — и вся картина, либо права нет — и денег нет.
Журнал действий
Заголовок раздела «Журнал действий»Кто и что менял, показывает журнал: «Логи» → «Журнал приложения» — «Просмотр рабочих действий, системных событий и ошибок с фильтрами по времени, пользователю и сущности.»
Доступы здесь не исключение: создание пользователя оставляет событие USER_CREATED, смена его доступа — USER_ACCESS_UPDATED. Быстрый путь к ним — чип-фильтр «Доступы». Для владельца это готовый ответ на вопрос «кто поправил сотруднику права и когда».
Смотрите также
Заголовок раздела «Смотрите также»- Сотрудники: создать логин и настроить доступы — завести логин, выдать группу, сменить пароль.
- Доступ хозяина юнита — режим «Только список категорий» в деле: управляющий видит только свои апартаменты.
- Как защищены паспортные данные гостей — что стоит за правами «Заполнение анкеты за гостя» и «Расшифровка ПДн анкеты гостя».
- Деньги в отеле: где что лежит — куда попадают оплаты, которые открывает право на модуль «Финансы».