Задание разрешений для репозитория Git
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
Вы предоставляете или ограничиваете доступ к репозиториям, чтобы заблокировать пользователей, которые могут вносить свой вклад в исходный код и управлять другими функциями. Вы можете задать разрешения для всех репозиториев Git, внося изменения в запись репозиториев Git верхнего уровня. Отдельные репозитории наследуют разрешения от записи репозиториев Git верхнего уровня.
Примечание
Ветви наследуют подмножество разрешений от назначений, сделанных на уровне репозитория. Сведения о разрешениях и политиках ветви см. в разделе "Установка разрешений ветви " и улучшение качества кода с помощью политик ветвей.
Инструкции по предоставлению более высокого уровня разрешений см. в разделе "Предоставление или ограничение доступа с помощью разрешений".
Предварительные требования
- У вас должен быть проект. Если у вас еще нет проекта, создайте его в Azure DevOps или настройте его в локальной среде Azure DevOps.
- Вы должны быть членом группы администраторов проектов или иметь разрешения на управление, для которых задано значение "Разрешить для репозиториев Git".
Чтобы внести свой вклад в исходный код, необходимо получить уровень доступа Базовый или выше. Пользователи, которым предоставлен доступ заинтересованных лиц для частных проектов, не имеют доступа к исходному коду. Пользователи, которым предоставлен доступ заинтересованных лиц для общедоступных проектов, имеют тот же доступ, что и участники, которым предоставлен базовый доступ. Дополнительные сведения см. в статье об уровнях доступа.
Чтобы внести свой вклад в исходный код, необходимо получить уровень доступа Базовый или выше. Пользователи, которым предоставлен доступ заинтересованных лиц , не имеют доступа к исходному коду. Дополнительные сведения см. в статье об уровнях доступа.
Разрешения репозитория по умолчанию
По умолчанию члены группы участников проекта имеют разрешения на участие в репозитории. Сюда входит возможность создавать ветви, создавать теги и управлять заметками. Описание каждой группы безопасности и уровня разрешений см. в справочнике по разрешениям и группам.
Разрешение
читатели;
Участники
Администраторы сборки
Администраторы проектов
Чтение (клонирование, получение и изучение содержимого репозитория); также могут создавать, комментировать, голосовать и участвовать в запросах на вытягивание
✔️
✔️
✔️
✔️
Участие, создание ветвей, создание тегов и управление заметками
✔️
✔️
✔️
Создание репозитория, удаление репозитория и переименованиерепозитория
✔️
Изменение политик, управление разрешениями, удаление блокировок других пользователей
✔️
Принудительная отправка (журнал перезаписи, удаление ветвей и тегов)
✔️
Обход политик при выполнении запросов на вытягивание
(не задано для какой-либо группы безопасности)
Обход политик при выполнении запросов на вытягивание, обход политик при отправке, принудительной отправке (журнал перезаписи, удалении ветвей и тегов)
(не задано для какой-либо группы безопасности)
Открытие системы безопасности для репозитория
Разрешения репозитория Git задаются в репозиториях>параметров проекта.
Откройте веб-портал и выберите проект, в который нужно добавить пользователей или группы. Сведения о выборе другого проекта см. в разделе "Переключить проект", "Репозиторий", "Команда".
Откройте репозитории>параметров проекта.
Чтобы задать разрешения для всех репозиториев Git, выберите "Безопасность".
Например, здесь мы выбираем (1) параметры проекта, (2) репозитории, а затем (3) безопасность.
В противном случае, чтобы задать разрешения для определенного репозитория, выберите (1) репозиторий, а затем выберите (2) Безопасность.
Настройка разрешений для репозитория
Вы можете предоставить или ограничить доступ к репозиторию, задав для разрешения состояние "Разрешить " или "Запретить " для одного пользователя или группы безопасности.
Откройте веб-портал и выберите проект, в который нужно добавить пользователей или группы. Сведения о выборе другого проекта см. в разделе "Переключить проект", "Репозиторий", "Команда".
Чтобы задать разрешения для всех репозиториев Git для проекта, выберите репозитории Git , а затем выберите группу безопасности, разрешения которой требуется управлять.
Например, здесь мы выбираем (1) параметры проекта, (2) репозитории, (3) репозитории Git, (4) группу участников , а затем (5) разрешение на создание репозитория.
Чтобы просмотреть полное изображение, щелкните изображение, чтобы развернуть его. Щелкните
, чтобы закрыть его.
Примечание
Возможно, вы не сможете найти пользователя на странице разрешений или поле удостоверения, если пользователь не был добавлен в проект, добавив его в группу безопасности или в группу проектов. Кроме того, при добавлении пользователя в Azure Active Directory или Active Directory может возникнуть задержка между временем их добавления в проект и возможностью поиска из поля удостоверения. Задержка может составлять от 5 минут до 7 дней.
В противном случае выберите конкретный репозиторий и выберите группу безопасности, разрешения которой вы хотите управлять.
Примечание
Если вы добавляете пользователя или группу и не изменяете какие-либо разрешения для этого пользователя или группы, то при обновлении страницы разрешений пользователь или группа, которую вы добавили, больше не отображается.
По завершении нажмите кнопку "Сохранить изменения".
Откройте веб-портал и выберите проект, в который нужно добавить пользователей или группы. Сведения о выборе другого проекта см. в разделе "Переключить проект", "Репозиторий", "Команда".
Щелкните значок шестеренки
, чтобы открыть контекст администрирования.
Выберите управление версиями.
Чтобы задать разрешения для всех репозиториев Git для проекта, (1) выберите репозитории Git , а затем (2) выберите группу безопасности, разрешения которой требуется управлять.
Примечание
Возможно, вы не сможете найти пользователя на странице разрешений или поле удостоверения, если пользователь не был добавлен в проект, добавив его в группу безопасности или в группу проектов. Кроме того, при добавлении пользователя в Azure Active Directory или Active Directory может возникнуть задержка между временем их добавления в проект и возможностью поиска из поля удостоверения. Задержка может составлять от 5 минут до 7 дней.
В противном случае выберите конкретный репозиторий и выберите группу безопасности, разрешения которой вы хотите управлять.
Выберите параметр разрешения, которое вы хотите изменить.
Здесь мы предоставим группе участников разрешения на создание репозитория (3).
По завершении нажмите кнопку "Сохранить изменения".
Изменение разрешений для группы безопасности
Чтобы задать разрешения для настраиваемой группы безопасности, необходимо определить эту группу ранее. См. раздел "Установка разрешений" на уровне проекта.
Чтобы задать разрешения для определенной группы, выберите группу. Например, здесь мы выбираем группу участников.
Изменение одного или нескольких разрешений. Чтобы предоставить разрешения, измените значение "Не задано " на "Разрешить". Чтобы ограничить разрешения, измените значение "Разрешитьзапретить".
Когда все будет готово, перейдите с страницы. Изменения разрешений автоматически сохраняются для выбранной группы.
Настройка разрешений для определенного пользователя
Чтобы задать разрешения для конкретного пользователя, введите имя пользователя в фильтр поиска и выберите из отображаемых удостоверений.
Затем внесите изменения в набор разрешений.
Примечание
Возможно, вы не сможете найти пользователя на странице разрешений или поле удостоверения, если пользователь не был добавлен в проект, добавив его в группу безопасности или в группу проектов. Кроме того, при добавлении пользователя в Azure Active Directory или Active Directory может возникнуть задержка между временем добавления в проект и временем поиска из поля удостоверения. Задержка может составлять от 5 минут до 7 дней.
Когда все будет готово, перейдите с страницы. Изменения разрешений автоматически сохраняются для выбранной группы.
Примечание
Если вы добавляете пользователя или группу и не изменяете какие-либо разрешения для этого пользователя или группы, после обновления страницы разрешений пользователь или группа, добавленные вами больше не отображаются.
Включение или отключение наследования для определенного репозитория
Чтобы включить или отключить наследование для определенного репозитория, выберите репозиторий, а затем переместите ползунок наследования в положение "Вкл." или "Выкл.".
Дополнительные сведения о наследовании см. в разделе "Сведения о разрешениях и группах", "Наследование" и "Группы безопасности".
Исключение из разрешений политики принудительного применения и обхода политик
Существует множество сценариев, в которых иногда требуется обойти политику ветвей. Например, при возврате изменения, вызвавшего разрыв сборки или применение исправления в середине ночи. Ранее разрешение " Исключение от применения политики " помогло командам управлять тем, какие пользователи получили возможность обходить политики ветви при выполнении запроса на вытягивание. Однако это разрешение также предоставило возможность отправлять непосредственно в ветвь, обходя процесс запроса на вытягивание полностью.
Чтобы улучшить этот интерфейс, мы разделим разрешение на принудительное применение политики , чтобы предложить больше контроля командам, предоставляющим разрешения на обход. Следующие два разрешения заменяют прежнее разрешение:
- Обход политик при выполнении запросов на вытягивание. Пользователи с этим разрешением смогут использовать интерфейс "Переопределить" для запросов на вытягивание.
- Обход политик при отправке. Пользователи с этим разрешением смогут отправлять их непосредственно в ветви, для которых настроены необходимые политики.
Предоставив первое разрешение и запретив второй, пользователь может использовать параметр обхода при необходимости, но по-прежнему будет иметь защиту от случайной отправки в ветвь с политиками.
Примечание
Это изменение не приводит к изменениям поведения. Пользователям, которым ранее было предоставлено разрешение на освобождение от принудительного применения политики , предоставляется разрешение для обоих новых разрешений, поэтому они смогут переопределить завершение на PR и отправить непосредственно в ветви с политиками.