0010 — Ролевая модель и платформенное администрирование¶
- Дата: 2026-08-21.
- Статус: Принято; состав ролей дополняется последующими решениями.
- Ответственный: владелец проекта.
Контекст¶
Решения 0005 и 0009 предусмотрели membership организации с ролью owner, но не разделяли права внутри организации и глобальные права разработчика SKUARO. Также требовалось зафиксировать личный кабинет пользователя и отдельный интерфейс платформенного администратора.
Решение¶
Общее правило доступа¶
- Для всех пользователей SKUARO применяется ролевая модель доступа.
- Роль определяет доступ к функциям, сущностям и пунктам меню.
- Скрытие пункта меню не является защитой: backend отдельно проверяет право на каждое защищённое действие и чтение данных.
- Платформенные роли и роли внутри организаций являются разными контурами и не подменяют друг друга.
Правило 1. super_admin¶
super_admin— глобальная платформенная роль разработчика SKUARO.- Роль имеет доступ ко всем функциям, сущностям и пунктам меню приложения во всех организациях без ограничений продуктовой ролевой модели.
- Роль не назначается самостоятельной регистрацией и не наследуется из membership организации.
- Для
super_adminпредусматривается отдельный dashboard/adminс разделом «Пользователи». - В разделе «Пользователи»
super_adminможет изменить email и статус пользователяactive/inactive. - Отсутствие продуктовых ограничений не отменяет вход в систему, аудит действий, разделение сред, правила работы с секретами и инфраструктурные разрешения проекта.
Правило 2. owner¶
- Канонический идентификатор роли внутри membership —
owner; русское название в интерфейсе — «Руководитель организации». - Пользователь, который самостоятельно регистрирует новую компанию в SKUARO, получает роль
ownerв созданной им организации только после подтверждения email и атомарного созданияOrganizationиMembership. - Роль действует только в конкретной организации и не даёт глобальных прав или доступа к другим организациям.
- «Руководитель организации» является продуктовой ролью SKUARO и сам по себе не подтверждает юридический статус директора компании.
Правило 3. platform_admin¶
- Канонический идентификатор глобальной роли —
platform_admin; русское название — «Администратор SKUARO». platform_adminимеет полный доступ ко всем функциям, сущностям, организациям и пунктам меню приложения, кроме защищённых операций надsuper_admin.platform_adminможет видеть учётную записьsuper_admin, но не может изменить её email, пароль, статус или роль, инициировать для неё сброс доступа, деактивировать, удалить или архивировать её.platform_adminне может назначать или отзывать рольsuper_admin, включая повышение собственной роли. Управление рольюsuper_adminдоступно толькоsuper_admin.- Ограничение применяется одновременно на frontend и backend; прямой API-запрос не может его обойти.
Личный кабинет¶
- У каждого подтверждённого пользователя есть страница настроек
/settings. - На первом этапе личный кабинет содержит email и управление паролем.
- Значение текущего пароля никогда не отображается и не восстанавливается; интерфейс предоставляет только безопасную смену пароля.
- Дополнительные поля профиля и их обязательность определяются позднее.
Последствия¶
Userполучает статус доступаactive/inactive; отсутствие активного статуса должно блокировать вход и защищённые API-действия.- При переводе пользователя в
inactiveактивные сессии должны быть отозваны. Это серверный security-инвариант, а не отдельное право роли. - Изменение email и статуса через
/adminзаписывается в аудит с идентификаторами инициатора и пользователя; пароль и его производные в аудит не попадают. - Попытка
platform_adminвыполнить защищённую операцию надsuper_adminотклоняется до изменения данных и записывается как событие безопасности. - Frontend строит меню по эффективным правам, но источником истины остаётся серверная проверка.
- Существующие архитектурные роли организации
admin,member,viewerсохраняются как задел; их точные права и отображение ещё не приняты. - Backend, таблицы, реальные пользователи и административные операции этим решением не создаются до прохождения действующего product gate.
Отложенные вопросы¶
- Матрица прав для
owner,admin,member,viewer, включая доступ к сущностям и пунктам меню. - Процедура назначения и отзыва
super_admin. - Процедура назначения и отзыва
platform_admin. - Требования MFA, отдельного административного аккаунта и повторного подтверждения критических действий.
- Процедура смены email администратором: повторная верификация адреса, уведомление пользователя и отзыв сессий.
- Колонки, фильтры, поиск, журнал действий и массовые операции раздела «Пользователи».
- Дополнительные поля личного кабинета.
Откат или замена¶
Изменение границы глобальных ролей super_admin и platform_admin, автоматического назначения owner или разделения платформенных и организационных ролей требует нового решения. Дополнение матрицы прав новыми ролями оформляется следующим решением без удаления этой записи.