Области действия
Вся организация, проект разработки или репозиторий: где действует роль участника и что происходит на пересечении.
Право выдаётся не «в целом», а на область. Область отвечает на вопрос «где»: во всей организации, в одном проекте разработки или в одном репозитории. Роль отвечает на вопрос «что».
Три вида областей
| Область | Что покрывает | Когда подходит |
|---|---|---|
| Вся организация | Все проекты разработки и репозитории организации — те, что есть сейчас, и те, что появятся позже. | Штатные сотрудники, техлид. |
| Проект разработки | Сам проект (его задачи, ревью, аудиты, диалоги, исследования) и все его репозитории-источники, включая добавленные в проект позже. | Разработчик одной команды, подрядчик на одном проекте. |
| Репозиторий | Один репозиторий: вопросы по коду («Спросить») и исследования по нему. Задачи ведутся в проектах, поэтому одиночный репозиторий задач не даёт. | Аудитор или консультант, которому нужен только код. |
Вне своих областей участник не видит ничего: ни проектов и репозиториев в переключателе, ни задач, ни диалогов. Прямая ссылка на чужой проект откроет «проект не найден».
Несколько областей
У одного участника может быть несколько грантов — по одному на область. Так собираются реальные ситуации:
- Maintainer в проекте
shopи Contributor во всей остальной организации; - Contributor в проектах
shopиbot, но не вinternal; - Contributor во всей организации и дополнительно точечно включённое право «Запускать аудиты» только в проекте
bot.
Две области одного вида с одной и той же ссылкой (например, два гранта на проект shop) недопустимы — редактор не даст их сохранить.
Когда области пересекаются
Действует самая узкая область, покрывающая ресурс: репозиторий уже проекта, проект уже организации.
| Гранты участника | Задача в проекте shop | Задача в проекте bot |
|---|---|---|
| Contributor на организацию | Contributor | Contributor |
Contributor на организацию + Maintainer на shop | Maintainer | Contributor |
Maintainer на организацию + Contributor на shop | Contributor (сужение) | Maintainer |
Узкая область может как расширять, так и сужать права — это позволяет дать человеку широкий доступ и вынести одно исключение отдельно.
Как область связана с репозиториями
Доступ к репозиториям организации выдаётся автоматически из грантов: участник с областью «проект» получает доступ к проекту и всем его источникам, с областью «репозиторий» — к нему одному, с областью «организация» — ко всем. Когда в проект добавляют новый репозиторий-источник, участники с грантом на этот проект получают к нему доступ сами, без действий владельца. Отдельно настраивать доступ к репозиториям не нужно.
Что делать, если участник видит не то
- Не видит проект — проверьте, что среди его грантов есть область «вся организация» или именно этот проект (не только один из его репозиториев).
- Видит проект, но не может действовать — область есть, а права не хватает: откройте «Права» → «Дополнительно» и посмотрите, какой переключатель выключен.
- Видит лишнее — у него грант на всю организацию; замените его грантами на нужные проекты.