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

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020 | 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. Изменение одного или нескольких разрешений. Чтобы предоставить разрешения, измените значение "Не задано " на "Разрешить". Чтобы ограничить разрешения, измените значение "Разрешитьзапретить".

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

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

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

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

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

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

    Примечание

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

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

Примечание

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

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

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

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

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

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

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

Примечание

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