Роли и доступ
Двухуровневая модель ролей Incident Garden — уровень организации и уровень команды, как они сочетаются и кто что может.
В Incident Garden две независимых системы ролей. Одна действует на всю организацию, другая — внутри конкретной команды. Они проверяются раздельно: у пользователя всегда есть одна роль на уровне организации и, кроме неё, по одной роли в каждой команде, где он состоит (или ни одной, если он пока ни в одной команде).
Это разделение позволяет дать человеку широкие права в его команде, не открывая ему всю организацию, — и наоборот, дать администратору организации доступ ко всем командам, не вписывая его в каждую вручную.
Position (должность) на доступ не влияет. Это справочное поле «кто по роли в компании» (например, «SRE» или «DevOps Lead») — оно показывается в профиле и в списке участников, но никаких прав не даёт и не отнимает. Права определяются только ролями, описанными ниже. Подробнее — Должности.
Уровень организации
Роль на уровне организации действует на всю организацию. У каждого участника она ровно одна. В интерфейсе вы видите её как Owner, Org Admin или Org Member.
| Роль | Что может |
|---|---|
Owner (org_owner) | Полный доступ ко всему в организации. Видит все команды и все их данные. Единственный Owner в организации; не может покинуть организацию, не передав владение другому участнику. |
Org Admin (org_admin) | Управляет составом организации — приглашения, роли и должности участников, исключение из организации — и её настройками. Имеет неявный доступ ко всем командам и их операциям. Видит все команды. |
Org Member (org_member) | Базовая роль. Работает только в тех командах, где состоит, — и видит данные (алерты, расписания, политики эскалации, интеграции, политики обработки, сайленсы) только своих команд. Может сам создавать команды. |
Что именно видит и делает Org Member внутри своей команды, зависит от его роли в этой команде — см. уровень команды ниже.
Org Member без единой команды видит немного: свой профиль и каналы уведомлений, общие сведения об организации и список должностей. Чтобы начать работать с алертами и дежурствами, ему нужно попасть в команду — его добавляет Team Admin или администратор организации, либо он создаёт команду сам и становится её Team Admin.
Уровень команды
Роль на уровне команды действует только внутри конкретной команды. В разных командах у одного человека могут быть разные роли. В интерфейсе это Team Admin или Team Member.
| Роль | Что может в своей команде |
|---|---|
Team Admin (team_admin) | Редактирует команду и её состав (добавляет, удаляет участников, меняет их роль в команде). Управляет интеграциями команды (включая перевыпуск API-ключа), расписаниями и ротациями, политиками эскалации и политиками обработки алертов. Включает всё, что может Team Member. |
Team Member (team_member) | Участвует в ротациях дежурств и получает алерты. Из оперативных инструментов команды: создаёт и отменяет сайленсы и оверрайды. Не редактирует саму команду, её интеграции, расписания, политики эскалации и политики обработки алертов. |
Создать команду может участник с любой ролью организации — он автоматически становится её Team Admin. Как это сделать — Quick Start: команда.
Как сочетаются два уровня
У пользователя одна роль организации и от нуля до нескольких ролей в командах — по одной на каждую команду, где он состоит. Уровни проверяются независимо: например, можно быть Org Member в организации и при этом Team Admin в своей команде — тогда вне своих команд прав почти нет, а внутри них вы полноценный администратор.
Ключевое правило — неявный доступ администраторов организации:
Owner и Org Admin имеют полный доступ ко всем командам, даже не будучи их участниками. Для них проверка роли в команде пропускается: они могут управлять любой командой так, как если бы были её Team Admin. Поэтому в командные таблицы их обычно не добавляют — доступ у них и так есть.
Из этого следует практичный принцип распределения ролей:
- сделайте Org Admin тех, кто администрирует всю организацию и должен иметь доступ ко всем командам;
- остальным дайте Org Member, а нужные права выдавайте точечно — ролью Team Admin или Team Member в конкретных командах.
Защита владельца
Owner — особая роль, и она защищена от перехвата.
Org Admin не может действовать против Owner. Сменить роль владельца или исключить его из организации нельзя — в списке Members у строки владельца меню действий не открывается. Сменить владельца можно только передачей владения, которую инициирует сам Owner.
Пароли — вне зоны администратора. Ни Owner, ни Org Admin не задают и не сбрасывают пароли участникам: пароль знает только сам его владелец и восстанавливает его самостоятельно — ссылкой Forgot password? на странице входа.
Кроме того, никто не может изменить самого себя через управление участниками — свою роль и должность нельзя править в списке Members (профиль и личные настройки меняются отдельно, в собственном разделе настроек).
Кто кого назначает
- Роли организации (Org Admin / Org Member) выдают Owner и Org Admin — при приглашении нового человека или при редактировании участника в Settings → Members. Роль Owner через приглашение или редактирование не выдаётся — только передачей владения.
- Роли команды (Team Admin / Team Member) назначает Team Admin этой команды либо администратор организации — в составе участников команды.
Как пригласить людей, назначить должность, поменять роль и кого нельзя исключить — Участники и приглашения.