# Матрица ролей и разрешений (RBAC) Krona Control Center ## 1. Инженерные роли операторов В Control Center реализована строгая ролевая модель, отражающая реальные функции дежурной эксплуатации, разработки и безопасности платформы: | Роль | Системный идентификатор | Описание | | :--- | :--- | :--- | | **Владелец платформы** | `platform_owner` | Полный неограниченный доступ ко всем контурам, инфраструктуре, биллингу и аварийным режимам. | | **Администратор платформы** | `platform_admin` | Управление тенантами, эвакуация нод, рассылки, аварийные настройки (за исключением финансовых счетов). | | **Оператор поддержки L2/L3** | `support_operator` | Диагностика тенантов, ведение инцидентов, просмотр инсталляций, выдача временных демо/trial. | | **Менеджер биллинга** | `billing_manager` | Контроль задолженностей, выставление счетов, применение скидок, ручное продление подписок. | | **Аудитор безопасности** | `security_auditor` | Read-only доступ ко всем экранам + полный доступ к неизменяемому криптографическому журналу аудита. Запрет на любые мутации. | | **Релиз-инженер** | `release_manager` | Управление rollout-конвейером модулей, запуск Canary/Pilot/GA фаз, экстренная приостановка раскатки. | --- ## 2. Гранулярные права (Permissions) - `control_center:read`: Просмотр базовых экранов (Обзор, Организации, Инсталляции). - `control_center:write`: Редактирование параметров организаций, отправка рассылок. - `control_center:billing_manage`: Операции с тарифами, счетами, продлением подписок. - `control_center:node_evacuate`: Вывод узлов кластера из ротации (Drain/Evacuate). - `control_center:incident_manage`: Создание инцидентов, изменение критичности, назначение ответственных. - `control_center:rollout_manage`: Переключение стадий раскатки версий модулей платформы. - `control_center:operator_audit`: Просмотр неизменяемого журнала аудита и экспорт крипто-цепочки. --- ## 3. Матрица соответствия Ролей и Прав | Разрешение | `platform_owner` | `platform_admin` | `support_operator` | `billing_manager` | `security_auditor` | `release_manager` | | :--- | :---: | :---: | :---: | :---: | :---: | :---: | | `control_center:read` | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | `control_center:write` | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | | `control_center:billing_manage` | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | | `control_center:node_evacuate` | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | | `control_center:incident_manage` | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | | `control_center:rollout_manage` | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | | `control_center:operator_audit` | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | --- ## 4. Контроль на уровне UI компонентов - При отсутствии необходимого разрешения интерактивные кнопки мутаций автоматически блокируются (`disabled={!canPerform}`) с поясняющим tooltip или атрибутом `title="Недостаточно прав для данной операции"`. - Попытка программного вызова защищенного действия отклоняется на уровне сервис-слоя с генерацией исключения `PermissionDeniedError` и немедленной фиксацией в журнале безопасности.