Управление ролями в GitFlic.


В GitFlic вы можете управлять ролями других пользователей, которых добавляете в свой проект или команду/компанию. Роли идут в порядке увеличения количества прав и позволяют эффективнее работать в группе. Вы можете настроить доступ к каждому проекту, назначив роли, предоставив людям доступ к функциям и задачам, которые им нужны.

Доступные базовые роли.

В порядке возрастания количества прав, роли для проекта следующие:

  • Гость
  • Докладчик
  • Разработчик
  • Администратор
  • Владелец

Ознакомиться подробнее с правами для каждой роли можно здесь.

Настраиваемые роли.

Функционал доступен в Enterprise версии, а также на gitflic.ru

Для более гибкой настройки доступа к проектам в GitFlic есть возможность создания собственных ролей. RBAC - управление доступом на основе ролей, позволяет сконфигурировать роли с уникальным набором прав.

Создание настраиваемых ролей.

Создать пользовательские роли можно двумя способами:

  1. В настройках компании. При таком подходе выдать созданную роль можно только участникам проектов компании.
  2. В настройках всего сервиса. В таком случае выдать пользовательскую роль можно для участника любого проекта сервиса.

Создание ролей на уровне всего сервиса доступно только в Enterprise версии.

На gitflic.ru существует ограничение на 10 ролей для каждой компании

Для создания настраиваемой роли укажите ее название, описание, выберите базовую роль и набор разрешений. Выбранная базовая роль влияет на некоторые права доступа - доступ к защищенными ветками и тегами, а так же выбор максимальной роли, с которой вы можете пригласить пользователя в проект (если вы обладаете разрешением на управление доступом к проекту)

Тонкие моменты при работе с настраиваемыми ролями.

Функционал создания настраиваемых ролей достаточно обширен. Количество возможных комбинаций разрешений огромно. Поэтому команда GitFlic рекомендует опираться на уже существующие базовые роли при создании собственных. Ниже представлены некоторые комбинации разрешений, совместная работа которых может быть не очевидна:

  • Функция Очистки логов всех конвейеров, которая находится в настройках проекта, в разделе CI/CD требует комбинацию из двух разрешений - Управление CI/CD проекта и Управление артефактами

  • Для того, чтобы функция Переключения автослияния была доступна, необходимо наличие разрешения на Выполнение запросов на слияние

Кроме того, стоит отметить, что невозможно передать проект во владение участнику с настраиваемой ролью, даже если базовой ролью для нее является Владелец

Таблица прав для базовых ролей участников проекта.

Действие пользователя Гость Докладчик Разработчик Администратор Владелец
Чтение исходного кода ✔️ ✔️ ✔️ ✔️ ✔️
Скачивание исходного кода ✔️ ✔️ ✔️ ✔️ ✔️
Изменение исходного кода ✔️ ✔️ ✔️
Управление ветками через UI ✔️ ✔️ ✔️
Управление тегами через UI ✔️ ✔️ ✔️
Просмотр проблем ✔️ ✔️ ✔️ ✔️ ✔️
Создание проблем ✔️ ✔️ ✔️ ✔️ ✔️
Редактирование любых проблем ✔️ ✔️
Управление статусом любых проблем ✔️ ✔️ ✔️ ✔️
Удаление любых проблем ✔️ ✔️
Просмотр дискуссий к проблемам ✔️ ✔️ ✔️ ✔️ ✔️
Участие в дискуссиях к проблемам ✔️ ✔️ ✔️ ✔️ ✔️
Редактирование любых дискуссий к проблемам ✔️ ✔️
Удаление любых дискуссий к проблемам ✔️ ✔️
Просмотр запросов на слияние ✔️ ✔️ ✔️ ✔️ ✔️
Создание запросов на слияние ✔️ ✔️ ✔️
Изменение статуса любых запросов на слияние ✔️ ✔️ ✔️
Редактирование любых запросов на слияния ✔️ ✔️
Выполнение любых запросов на слияния ✔️ ✔️ ✔️
Переключение автослияния ✔️ ✔️ ✔️
Просмотр дискуссий к запросам на слияние ✔️ ✔️ ✔️ ✔️ ✔️
Создание дискуссий к запросам на слияние ✔️ ✔️ ✔️ ✔️ ✔️
Закрытие любых дискуссий к запросам на слияние ✔️ ✔️ ✔️
Удаление любых дискуссий к запросам на слияние ✔️ ✔️
Просмотр CI/CD ✔️ ✔️ ✔️ ✔️ ✔️
Запуск CI/CD ✔️ ✔️ ✔️
Удаление конвейеров ✔️ ✔️
Управление артефактами ✔️ ✔️ ✔️
Очистка кэша агентов ✔️ ✔️
Работа с планировщиков конвейеров ✔️ ✔️
Просмотр уязвимостей ✔️ ✔️ ✔️ ✔️ ✔️
Управление уязвимостями ✔️ ✔️
Просмотр релизов ✔️ ✔️ ✔️ ✔️ ✔️
Управление релизами ✔️ ✔️ ✔️
Просмотр пакетов ✔️ ✔️ ✔️ ✔️ ✔️
Управление пакетами ✔️ ✔️ ✔️
Создание вики проекта ✔️ ✔️
Создание книги проекта ✔️ ✔️
Управление базовыми настройками проекта ✔️ ✔️
Передача проекта ✔️
Управление лейблами проекта ✔️ ✔️
Управление доступами к проекту ✔️ ✔️
Управление настройками запросов на слияние ✔️ ✔️
Управление настройками тегов ✔️ ✔️
Управление настройками веток ✔️ ✔️
Управление вебхуками проекта ✔️ ✔️
Управление токенами развертывания ✔️ ✔️
Управление CI/CD проекта ✔️ ✔️
Управление агентами CI/CD проекта ✔️ ✔️
Управление интеграцией с Jira ✔️ ✔️
Управление интеграцией с Telegram ✔️ ✔️
Управление настройками реестра пакетов проекта ✔️ ✔️
Просмотр хранилища Git LFS в настройках проекта ✔️ ✔️
Управление правилами push-операций проекта ✔️ ✔️

Права, доступные всем пользователям

Для публичного проекта, есть список действий, которые может совершать пользователь, не являясь участником данного проекта. Некоторые из них не требуют авторизации. Список таких действий представлен ниже:

  • Скачивание исходного кода (необходимость авторизации зависит от настроек сервиса)
  • Чтение исходного кода через git clone/pull/fetch (необходимость авторизации зависит от настроек сервиса)
  • Чтение исходного кода через интерфейс (авторизация не требуется)
  • Просмотр проблем (авторизация не требуется)
  • Создание проблем (требуется авторизация)
  • Просмотр дискуссий к проблемам (авторизация не требуется)
  • Участие в дискуссиях к проблемам (требуется авторизация)
  • Просмотр запросов на слияние (авторизация не требуется)
  • Просмотр дискуссий к запросам на слияние (авторизация не требуется)
  • Создание дискуссий к запросам на слияние (требуется авторизация)
  • Просмотр уязвимостей (авторизация не требуется)
  • Просмотр CI/CD (авторизация не требуется)
  • Просмотр релизов (авторизация не требуется)
  • Скачивание файлов релизов (необходимость авторизации зависит от настроек сервиса)
  • Просмотр пакетов (авторизация не требуется)
  • Скачивание файлов пакетов (необходимость авторизации зависит от настроек проектов)

Таблица прав для ролей участников компании.

Действие пользователя Гость Докладчик Разработчик Администратор
Просмотр публичных проектов компании* ✔️ ✔️ ✔️ ✔️
Создание проектов от имени компании ✔️
Просмотр публичных проектов команд компании ✔️ ✔️ ✔️ ✔️
Просмотр участников компании ✔️ ✔️ ✔️ ✔️
Просмотр команд в компании ✔️ ✔️ ✔️ ✔️
Добавление новых команд в компанию ✔️
Просмотр пакетов компании ✔️ ✔️ ✔️ ✔️
Управление пакетами компании ✔️ ✔️
Управление основными настройками компании ✔️
Передача компании ✔️
Доступ к странице платежей и смене тарифа ✔️
Управление доступами к компании ✔️
Создание настраиваемых ролей в компании ✔️
Управление настройками реестра пакетов компании ✔️
Управление агентами CI/CD компании ✔️
Управление шаблонами настроек запросов на слияние компании ✔️
Управление шаблонами защиты тегов компании ✔️
Управление шаблонами защиты веток компании ✔️

В проектах компании пользователь наследует только роль администратора. Наследование происходит, когда пользователь не добавлен в проект напрямую. Для остальных ролей необходим отдельный доступ непосредственно из настроек проекта.

Таблица прав для ролей участников команды.

Действие пользователя Гость Докладчик Разработчик Администратор
Просмотр публичных проектов команды ✔️ ✔️ ✔️ ✔️
Создание проектов от имени команды ✔️
Просмотр участников команды ✔️ ✔️ ✔️ ✔️
Управление основными настройками команды ✔️
Передача команды ✔️
Управление доступами к команде ✔️
Управление шаблонами настроек запросов на слияние команды ✔️
Управление шаблонами защиты тегов команды ✔️
Управление шаблонами защиты веток команды ✔️

В проектах команды пользователь наследует только роль администратора. Наследование происходит, когда пользователь не добавлен в проект напрямую. Для остальных ролей необходим отдельный доступ непосредственно из настроек проекта.