Задание разрешений для репозитория 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 Безопасность репозиториев>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. Когда все будет готово, перейдите со страницы. Изменения разрешений автоматически сохраняются для выбранной группы.

Примечание

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

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

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

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

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

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

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

Примечание

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