Роли и права
У каждого участника команды есть ровно одна роль: owner, admin, member или viewer. Роль — единственный источник истины о том, что человек может делать: она считывается только из записи об участии и не зависит от какого-либо административного статуса на уровне платформы.
Четыре роли
- Owner — Полный контроль. Управляет биллингом, командой, передачей владения и удалением компании, а также всеми ресурсами. В команде ровно один владелец.
- Admin — Управляет участниками и всеми общими ресурсами, но не может касаться биллинга, передавать владение или удалять компанию.
- Member — Управляет всеми общими ресурсами (мониторы, серверы, status-страницы, оповещения, observability, инциденты). Не может управлять участниками или биллингом.
- Viewer — Только чтение. Может просматривать все ресурсы команды, но ничего не может изменять.
Матрица прав
Для чтения требуется лишь участие в команде — любая роль, включая viewer, может просматривать ресурсы команды. Для изменений требуется соответствующее право.
| Право | Owner | Admin | Member | Viewer |
|---|---|---|---|---|
| Просмотр ресурсов (чтение) | ✅ | ✅ | ✅ | ✅ |
| Управление мониторами | ✅ | ✅ | ✅ | ❌ |
| Управление серверами | ✅ | ✅ | ✅ | ❌ |
| Управление status-страницами | ✅ | ✅ | ✅ | ❌ |
| Управление оповещениями | ✅ | ✅ | ✅ | ❌ |
| Управление observability | ✅ | ✅ | ✅ | ❌ |
| Управление инцидентами | ✅ | ✅ | ✅ | ❌ |
| Управление командой (пригласить / сменить роль / удалить участника) | ✅ | ✅ | ❌ | ❌ |
| Управление биллингом | ✅ | ❌ | ❌ | ❌ |
| Передача владения | ✅ | ❌ | ❌ | ❌ |
| Удаление компании | ✅ | ❌ | ❌ | ❌ |
Шесть прав на ресурсы — manage_monitors, manage_servers, manage_status_pages, manage_alerts, manage_observability, manage_incidents — предоставляются как единый набор каждой роли, кроме viewer. Viewer не получает ни одного из них.
Что разрешает каждое право
- manage_team — Отправлять приглашения, менять роль другого участника и удалять участников. Есть у owner и admin.
- manage_billing — Просматривать и менять подписку, способ оплаты и top-up. Только owner.
- transfer_ownership — Передать владение другому существующему участнику. Только owner.
- delete_company — Удалить команду и её ресурсы. Только owner.
Инварианты защиты владельца
Владелец особенный и защищён правилами, которые обеспечиваются на уровне данных, а не только в UI:
- Владельца нельзя понизить или удалить. Смена роли и удаление участника отказываются действовать в отношении владельца. Владение меняется только через передачу.
- Ровно один владелец на команду.
teams.owner_idи строка участия владельца держатся синхронно в рамках одной транзакции во время передачи. - Нельзя изменить собственную роль. Это блокируется в контроллере команды независимо от вашей роли.
- Администраторы управляют участниками, но не владельцем. Администратор может приглашать, переназначать роли и удалять участников, но не может влиять на владельца, биллинг или удаление компании.
- Владелец не может просто уйти. Попытка покинуть команду в роли владельца отклоняется с предложением сначала передать владение. См. Приглашения для процессов выхода и передачи.
Назначаемые роли
При приглашении или переназначении роли участнику назначаемыми являются только admin, member и viewer. Значение owner никогда не принимается операциями приглашения, добавления участника или смены роли — недопустимая роль или роль owner молча откатывается до member. Стать владельцем можно только через передачу владения.
Дальнейшие шаги
- Приглашения — Приглашение участников и процесс принятия
- Места и биллинг — Как работают лимиты мест и тарифные планы
- Обзор команд — Концепция субаккаунтов компании