krona-front/docs/handoff/control-center/PERMISSIONS.md

47 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Матрица ролей и разрешений (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` и немедленной фиксацией в журнале безопасности.