Задание разрешений для репозитория Git

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

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

Примечание

Ветви наследуют подмножество разрешений от назначений, выполненных на уровне репозитория. Сведения о разрешениях и политиках ветви см. в разделе "Настройка разрешений ветви " и "Улучшение качества кода" с помощью политик ветви.

Инструкции по обеспечению более высокого уровня разрешений см. в статье "Предоставление или ограничение доступа с помощью разрешений".

Предварительные требования

Чтобы внести свой вклад в исходный код, необходимо получить уровень доступа Базовый или выше. Пользователи, которым предоставлен доступ заинтересованных лиц для частных проектов, не имеют доступа к исходному коду. Пользователи, которым предоставлен доступ заинтересованных лиц для общедоступных проектов, имеют тот же доступ, что и участники, которым предоставлен базовый доступ. Дополнительные сведения см . в разделе об уровнях доступа.

Чтобы внести свой вклад в исходный код, необходимо получить уровень доступа Базовый или выше. Пользователи, которым предоставлен доступ заинтересованных лиц , не имеют доступа к исходному коду. Дополнительные сведения см . в разделе об уровнях доступа.

Разрешения репозитория по умолчанию

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

Разрешение

читатели;

Участники

Администраторы сборки

Администраторы проектов


Чтение (клонирование, получение и изучение содержимого репозитория); кроме того, можно создавать, комментировать, голосовать и участвовать в запросах на вытягивание.

✔️

✔️

✔️

✔️

Участие, создание ветвей, создание тегов и управление заметками

✔️

✔️

✔️

Создание репозитория, удаление репозитория и переименование репозитория

✔️

Изменение политик, управление разрешениями, удаление блокировок других пользователей

✔️

Принудительная отправка (перезапись журнала, удаление ветвей и тегов)

✔️

Обход политик при выполнении запросов на вытягивание
(не задано для какой-либо группы безопасности)

Обход политик при выполнении запросов на вытягивание, обход политик при отправке, принудительной отправке (перезапись журнала, удаление ветвей и тегов)
(не задано для какой-либо группы безопасности)


Открытие системы безопасности для репозитория

Вы устанавливаете разрешения репозитория Git из репозиториев параметров>проекта.

  1. Откройте веб-портал и выберите проект, в который нужно добавить пользователей или группы. Чтобы выбрать другой проект, см. раздел "Переключить проект", "Репозиторий", "Команда".

  2. Откройте репозитории>параметров проекта.

    Чтобы задать разрешения для всех репозиториев Git, выберите "Безопасность".

    Например, здесь мы выбираем (1) параметры проекта, (2) репозитории, а затем (3) безопасность.

    Снимок экрана: выбор параметров репозиториев>>проекта.

  3. В противном случае, чтобы задать разрешения для определенного репозитория, выберите (1) репозиторий, а затем выберите (2) Безопасность.

    Снимок экрана: выбор параметров>проекта

Настройка разрешений для репозитория

Вы можете предоставить или ограничить доступ к репозиторию, задав состояние разрешения "Разрешить " или "Запретить " для одного пользователя или группы безопасности.

  1. Откройте веб-портал и выберите проект, в который нужно добавить пользователей или группы. Чтобы выбрать другой проект, см. раздел "Переключить проект", "Репозиторий", "Команда".

  2. Чтобы задать разрешения для всех репозиториев Git для проекта, выберите репозитории Git , а затем выберите группу безопасности, разрешения которой требуется управлять.

    Например, здесь мы выбираем (1) параметры проекта, (2) репозитории, (3) репозитории Git, (4) группу участников , а затем (5) разрешение на создание репозитория.

    Чтобы просмотреть полное изображение, щелкните изображение, чтобы развернуть его. Чтобы закрыть значок закрытия, щелкните значок закрытия .

    Безопасность репозиториев>>>>Git параметров проекта

    Примечание

    Возможно, вы не сможете найти пользователя на странице разрешений или поле удостоверения, если пользователь не был добавлен в проект, добавив его в группу безопасности или в группу проектов. Кроме того, при добавлении пользователя в Azure Active Directory или Active Directory может возникнуть задержка между временем добавления в проект и временем поиска из поля удостоверения. Задержка может составлять от 5 минут до 7 дней.

    В противном случае выберите конкретный репозиторий и выберите группу безопасности, разрешения которой требуется управлять.

    Примечание

    Если вы добавляете пользователя или группу и не изменяете какие-либо разрешения для этого пользователя или группы, после обновления страницы разрешений пользователь или группа, добавленные вами больше не отображаются.

  3. По завершении нажмите кнопку "Сохранить изменения".

  1. Откройте веб-портал и выберите проект, в который нужно добавить пользователей или группы. Чтобы выбрать другой проект, см. раздел "Переключить проект", "Репозиторий", "Команда".

  2. Щелкните значок шестеренки , чтобы открыть административный контекст.

    Открытие параметров проекта, горизонтальная навигация

  3. Выберите элемент управления версиями.

  4. Чтобы задать разрешения для всех репозиториев Git для проекта, (1) выберите репозитории Git , а затем (2) выберите группу безопасности, разрешения которой требуется управлять.

    Примечание

    Возможно, вы не сможете найти пользователя на странице разрешений или поле удостоверения, если пользователь не был добавлен в проект, добавив его в группу безопасности или в группу проектов. Кроме того, при добавлении пользователя в Azure Active Directory или Active Directory может возникнуть задержка между временем добавления в проект и временем поиска из поля удостоверения. Задержка может составлять от 5 минут до 7 дней.

    В противном случае выберите конкретный репозиторий и выберите группу безопасности, разрешения которой требуется управлять.

  5. Выберите параметр для разрешения, которое вы хотите изменить.

    Здесь мы предоставим группе участников разрешения на создание репозитория (3).

    Диалоговое окно безопасности для всех репозиториев Git, группы участников

  6. По завершении нажмите кнопку "Сохранить изменения".

Изменение разрешений для группы безопасности

Чтобы задать разрешения для настраиваемой группы безопасности, необходимо определить эту группу ранее. См . раздел "Установка разрешений" на уровне проекта.

  1. Чтобы задать разрешения для определенной группы, выберите группу. Например, здесь мы выбираем группу "Участники".

    Снимок экрана: выбор группы участников.

  2. Изменение одного или нескольких разрешений. Чтобы предоставить разрешения, измените значение Not Set to Allow. Чтобы ограничить разрешения, измените значение "Разрешитьзапретить".

    Снимок экрана: три разрешения изменены для группы участников.

  3. Когда все будет готово, перейдите с страницы. Изменения разрешений автоматически сохраняются для выбранной группы.

Настройка разрешений для определенного пользователя

  1. Чтобы задать разрешения для конкретного пользователя, введите имя пользователя в фильтр поиска и выберите из отображаемых удостоверений.

    Добавление пользователя или группы

    Затем внесите изменения в набор разрешений.

    Примечание

    Возможно, вы не сможете найти пользователя на странице разрешений или поле удостоверения, если пользователь не был добавлен в проект, добавив его в группу безопасности или в группу проектов. Кроме того, при добавлении пользователя в Azure Active Directory или Active Directory может возникнуть задержка между временем добавления в проект и временем поиска из поля удостоверения. Задержка может составлять от 5 минут до 7 дней.

  2. Когда все будет готово, перейдите с страницы. Изменения разрешений автоматически сохраняются для выбранной группы.

Примечание

Если вы добавляете пользователя или группу и не изменяете какие-либо разрешения для этого пользователя или группы, после обновления страницы разрешений пользователь или группа, добавленные вами больше не отображаются.

Включение или отключение наследования для определенного репозитория

Исключение из разрешений политики принудительного применения и обхода политик

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

Чтобы улучшить этот интерфейс, мы разделим разрешение на принудительное применение политики , чтобы предложить больше контроля командам, предоставляющим разрешения на обход. Следующие два разрешения заменяют прежнее разрешение:

  • Обход политик при выполнении запросов на вытягивание. Пользователи с этим разрешением смогут использовать интерфейс "Переопределить" для запросов на вытягивание.
  • Обход политик при отправке. Пользователи с этим разрешением смогут отправлять их непосредственно в ветви, для которых настроены необходимые политики.

Предоставив первое разрешение и запретив второй, пользователь может использовать параметр обхода при необходимости, но по-прежнему будет иметь защиту от случайной отправки в ветвь с политиками.

Примечание

Это изменение не приводит к изменениям поведения. Пользователям, которым ранее было предоставлено разрешение на освобождение от принудительного применения политики , предоставляется разрешение для обоих новых разрешений, поэтому они смогут переопределить завершение на PR и отправить непосредственно в ветви с политиками.