IDEAS: RBAC system design notes

This commit is contained in:
Markov 2026-02-28 00:42:58 +01:00
parent c8f343f588
commit 50ab60f723

View File

@ -628,3 +628,37 @@ Tracker отслеживает подключённых агентов:
---
*Документ для обсуждения и аналитики. Обновляется по мере развития идей.*
## RBAC — Система прав (TODO)
### Идея
Гранулярные права для участников проекта и агентов.
### Участники проекта
- **Owner** — создатель проекта, полный доступ (всегда по умолчанию)
- **Member** — стандартный участник, полный доступ (текущее поведение)
- **Viewer** — только чтение (уже решено ранее)
- **Custom roles** — настраиваемые роли с набором permissions
### Permissions (идеи)
- `tasks.create` — создание задач
- `tasks.edit` — редактирование задач
- `tasks.delete` — удаление задач
- `tasks.change_status` — смена статуса
- `tasks.assign` — назначение исполнителя
- `files.upload` — загрузка файлов
- `files.delete` — удаление файлов
- `chat.send` — отправка сообщений
- `project.settings` — доступ к настройкам проекта
- `members.manage` — добавление/удаление участников
### Права для агентов
- Ограничение действий через ту же систему permissions
- Например: агент может менять статус, но не может удалять задачи
- Настраивается в AgentConfig или через роли
### Реализация (потом)
- Таблица `roles` (project-scoped)
- Таблица `role_permissions` (role_id → permission)
- `project_members.role_id` вместо текущего `role: str`
- Middleware/dependency проверяет permissions на каждом endpoint