IDEAS: RBAC system design notes
This commit is contained in:
parent
c8f343f588
commit
50ab60f723
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user