Последнее обновление: 2026-06-20
Связанные задачи: LAN-66 (SOC2/ISO-готовность), LAN-64 (encryption), LAN-65 (retention/PII)
Smarty использует двухуровневую ролевую модель на уровне рабочего пространства (workspace):
Пользователь (User)
└── Сотрудник (Employee) [в каждом workspace свой]
├── Права администрирования (AdminRight) → rightsAdmin[]
└── Права доступа (AccessRight) → rightsAccess[]
или через Workgroup
| Право | Описание | PII-доступ |
|---|---|---|
manage_meta |
Изменение названия и аватарки workspace | Нет |
manage_admins |
Управление правами администрирования | Нет |
remove_ws |
Удаление workspace | Нет |
manage_money |
Пополнение баланса | Нет |
manage_employee |
Создание/удаление сотрудников | Да — ФИО, email |
manage_employee_logs |
Просмотр истории действий сотрудников | Да — активность |
manage_employee_groups |
Управление группами сотрудников | Нет |
invite_employee |
Приглашение пользователей | Нет |
blokunblock_employee |
Блокировка/разблокировка сотрудников | Нет |
manage_commissioners |
Управление уполномоченными (требует manage_access) |
Нет |
manage_access |
Просмотр/управление правами доступа. Даёт доступ к ЛЮБЫМ объектам данных в workspace | Да — все объекты |
manage_dialogs |
Доступ в закрытые диалоги + администрирование | Да — переписка |
allow_ext_dialog_invite |
Участие в диалогах из других workspace | Да — переписка |
manage_marks |
Управление зонами ответственности | Нет |
manage_objgroups |
Управление группами объектов | Нет |
manage_fs |
Управление общими файловыми хранилищами | Да — файлы |
manage_private_fs |
Управление личными файловыми хранилищами (требует manage_fs) |
Да — личные файлы |
manage_service_notes |
Служебные записки | Да — внутренняя переписка |
manage_bots |
Управление ботами | Да — конфиг AI |
manage_calls |
Управление звонками | Да — записи звонков |
manage_external_chat |
Интеграция с мессенджерами | Да — внешние чаты |
manage_automation |
Управление автоматизацией | Нет |
manage_reminders |
Управление напоминаниями | Нет |
manage_wsapi |
Управление API workspace | Нет |
manage_sip |
Управление SIP-телефонией | Нет |
manage_custom_fields |
Управление пользовательскими полями | Нет |
manage_analytics |
Доступ к аналитике | Да — агрегаты |
manage_access — даёт полный доступ ко всем объектам данных workspace. Фактически роль суперадмина данных. Назначать минимально, логировать.manage_dialogs — доступ к закрытым диалогам, включая переписку с клиентами и внутреннюю.manage_employee_logs — история действий сотрудников над объектами.manage_calls — доступ к записям и метаданным звонков.| Коллекция | Конфигурируемые параметры | Содержит ПДн |
|---|---|---|
contacts |
non_commissioners (none/read/read_update/…), marks, export, import | Да — ФИО, телефон, email, кастомные поля |
projects |
non_commissioners, marks, export, import | Да — наименование, участники |
assignments |
non_commissioners, marks, complete, export | Да — наименование, исполнитель |
goals |
non_commissioners, marks | Нет |
notes |
non_commissioners, marks | Да — текст заметок |
tasks |
non_commissioners, marks | Нет |
requisitions |
non_commissioners, marks, export | Да — данные заявок |
files |
allowed (none/read/read_update/read_update_delete), allowed_create | Да — загружаемые файлы |
dialogs |
have_access, can_create, can_invite_ext, have_access_to_extchats | Да — переписка |
service_notes |
non_commissioners, marks, can_create | Да — внутренняя переписка |
ocr |
business_card | Да — данные визиток |
time_tracker |
have_access | Нет |
call |
internal_call, external_call | Косвенно — кто звонил |
extbot |
have_access, create_bot, series_access, dashboard_access | Да — данные внешних чатов |
automation |
can_manage_workflow | Нет |
analytics |
contacts/projects/assignments/requisitions/extbot (allowed/any/none) | Да — агрегаты ПДн |
none — нет доступа
read — только чтение
read_update — чтение + редактирование
read_update_archive — чтение + редактирование + архивирование
read_update_delete — чтение + редактирование + удаление
read_update_archive_delete — все действия
commissioners — уполномоченный за объект (ответственный). Отдельный флаг прав.
non_commissioners — все остальные (уровень доступа к объектам без уполномоченного).
| Значение | Описание |
|---|---|
full |
Полный доступ (дефолт при создании) |
guest |
Гостевой — ограниченный набор функций |
| Тип | Описание |
|---|---|
employee |
Действие сотрудника через UI или API |
bot |
Действие AI-агента через tool-call |
system |
Системное событие (cron, workflow) |
api |
Действие через API-ключ workspace |
| Событие | Где |
|---|---|
Вход пользователя (login) |
smarty-auth/lib/initSession.js |
Неудачный вход (failed_login) |
smarty-db/models/plugins/AccountPlugin.js |
Удаление объекта (delete) |
lib/Restify/plugins/Deletable.js |
Архивирование объекта (archive) |
lib/Restify/plugins/Archivable.js |
Tool-call бота (tool_call) |
smarty-dialog/lib/employeeBots/tools/executor.js |
Обновление API-токена workspace (update) |
api-rest/routes/workspace/wsapi.js |
Назначение права (permission_change) |
smarty-db/models/plugins/RightObject.js |
Снятие права (permission_change) |
smarty-db/models/plugins/RightObject.js |
Экспорт данных субъекта (export) |
smarty-auth/routes/external.js |
По умолчанию — 90 дней (TTL-индекс на поле timestamp).
Конфигурируется через переменную окружения AUDIT_LOG_TTL_DAYS.
Для SOC2 Type II: требуется минимум 1 год. Установить:
AUDIT_LOG_TTL_DAYS=365
manage_access — только владелец workspace и 1-2 ответственныхmanage_dialogs — только service-managersAUDIT_LOG_TTL_DAYS=90 (по умолчанию)manage_access — не более 2 человек, только DPO или security officermanage_employee_logs, manage_calls, manage_dialogs — выделенные ролиAUDIT_LOG_TTL_DAYS=365 (SOC2 Type II, ISO 27001)| Пункт | Статус | Рекомендация |
|---|---|---|
| Логирование назначения прав | Реализовано (LAN-66) | Мониторить через Grafana/алерты |
| Логирование экспорта данных | Реализовано (LAN-66) | — |
| Логирование read-доступа к объектам | Не реализовано | Field-level audit — высокая стоимость. Компенсирующий контроль: ограничить manage_access |
| Ролевые шаблоны (DPO, operator, viewer) | Не реализовано | Создать типовые AdminRight + AccessRight через UI |
| Ревью прав (access review) | Не реализовано | Квартальный экспорт через GET /workspace/admin_right + GET /workspace/access_right |
| MFA для привилегированных ролей | Не реализовано | Требует интеграции Zitadel (LAN-??) |
Разделение manage_access и доступа к ПДн |
Не реализовано | Архитектурная задача — потребует введения "DPO mode" |