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

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

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

Примечание.

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

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

Необходимые компоненты

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

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

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

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

Разрешение

Читателей

Участников

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

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


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

✔️

✔️

✔️

✔️

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

✔️

✔️

✔️

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

✔️

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

✔️

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


Начиная с Azure DevOps sprint 224 (Azure DevOps Services и Azure DevOps Server 2022.1 и более поздних версий), разрешение на изменение политик больше не предоставляется автоматически создателям ветвей. Ранее при создании новой ветви вам предоставлялось разрешение на изменение политик в этой ветви. В этом обновлении мы изменим поведение по умолчанию, чтобы не предоставить это разрешение, даже если параметр управления разрешениями включен для репозитория. Вам потребуется разрешение "Изменить политики ", предоставленное явным образом (вручную или через REST API) путем наследования разрешений безопасности или членства в группе.

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

Вы задаете разрешения репозитория Git из Project Параметры> Repositories.

  1. Откройте веб-портал и выберите проект, в котором нужно добавить пользователей или группы. Сведения о выборе другого проекта см. в разделе Switch project, репозиторий, команда.

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

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

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

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

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

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

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

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

  1. Откройте веб-портал и выберите проект, в котором нужно добавить пользователей или группы. Сведения о выборе другого проекта см. в разделе Switch project, репозиторий, команда.

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

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

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

    Безопасность репозиториев>Git в Project Параметры Code>>>

    Примечание.

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

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

    Примечание.

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

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

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

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

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

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

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

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

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

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

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

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

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

    Примечание.

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

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

Примечание.

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

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

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

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

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

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

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

Примечание.

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