Роли и права

У каждого участника команды есть ровно одна роль: 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. Стать владельцем можно только через передачу владения.

Дальнейшие шаги