Установка разрешений для репозитория Git
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Управляйте доступом к репозиториям, чтобы ограничить круг лиц, которые могут вносить изменения в исходный код, и управлять другими функциями. Вы можете установить разрешения для всех репозиториев Git, внося изменения в запись репозиториев верхнего уровня. Отдельные репозитории наследуют разрешения от верхнего уровня Git Repositories.
Примечание.
Ветви наследуют подмножество разрешений от назначений, сделанных на уровне репозитория. Сведения о разрешениях и политиках ветви см. в разделе "Настройка разрешений ветви" и "Улучшение качества кода" с помощью политик ветвей.
Инструкции по обеспечению более высокого уровня разрешений см. в статье "Управление доступом с помощью разрешений".
Предварительные условия
Категория | Требования |
---|---|
доступ к проекту | Член проекта . |
Разрешения | — Просмотр кода в частных проектах: по крайней мере базовый доступ. — Клонирование или внесение вклада в код в частных проектах: Участник группы безопасности для участников или наличие соответствующих разрешений в проекте. — Задайте разрешения ветви или репозитория: управление разрешениями для ветви или репозитория. — Измените ветвь по умолчанию: . Измените политики и разрешения для репозитория. — Импорт репозитория: член группы безопасности администраторов проекта или разрешение уровня проекта Git на создание репозитория установлено в «Разрешить» . Дополнительные сведения см. в разделе "Настройка разрешений репозитория Git". |
услуги | Repos включено. |
Инструменты | Необязательно. Используйте команды az repos: Azure DevOps CLI. |
Примечание.
В общедоступных проектах пользователи с доступом Stakeholder имеют полный доступ к Azure Repos, включая возможность просмотра, клонирования и участия в коде.
Категория | Требования |
---|---|
доступ к проекту | Член проекта . |
Разрешения | — Просмотр кода: доступ уровня Basic хотя бы . — Клонирование или участие в коде: член группы безопасности участников или обладатель соответствующих разрешений в проекте. |
услуги | Repos включено. |
Чтобы внести свой вклад в исходный код, имейте уровень доступа Basic или выше. Пользователи, которым предоставлен доступ заинтересованных лиц для частных проектов, не имеют доступа к исходному коду. Пользователи, которым предоставлен доступ заинтересованных лиц для общедоступных проектов, имеют тот же доступ, что и участники, которым предоставлен базовый доступ. Дополнительные сведения см. в разделе "О уровнях доступа".
Чтобы внести свой вклад в исходный код, имейте уровень доступа Basic или выше. Пользователи, которым предоставлен доступ заинтересованных лиц , не имеют доступа к исходному коду. Дополнительные сведения см. в разделе "О уровнях доступа".
Разрешения репозитория по умолчанию
По умолчанию члены группы участников проекта имеют разрешения на участие в репозитории. Это включает возможность создавать ветви, создавать теги и управлять заметками. Описание каждой группы безопасности и уровня разрешений см. в справочнике по разрешениям и группам.
Разрешение
Читатели
Участники
Создание администраторов
Администраторы проекта
Чтение (клонирование, получение и изучение содержимого репозитория); также можно создавать, комментировать, голосовать, а также вносить вклад в пулл-реквесты.
✔️
✔️
✔️
✔️
Участие, создание ветвей, создание тегов и управление заметками
✔️
✔️
✔️
Создание репозитория, удаление репозитория и переименование репозитория
✔️
Изменение политик, управление разрешениями, удаление блокировок других пользователей
✔️
Обход политик при завершении запросов на вытягивание, Обход политик при отправке изменений, Форсированное отправление (перезапись истории, удаление ветвей и тегов)
(не задано для какой-либо группы безопасности)
Начиная с Azure DevOps sprint 224 (Azure DevOps Services и Azure DevOps Server 2022.1 и более поздних версий), разрешение на изменение политик больше не предоставляется автоматически создателям ветвей. Ранее при создании новой ветви вам предоставлялось разрешение на изменение политик в этой ветви. В этом обновлении мы изменяем поведение по умолчанию, чтобы не предоставлять это разрешение, даже если для репозитория включен параметр Управление разрешениями. Вам потребуется явно предоставленное разрешение на Изменение политик, полученное вручную или через REST API, через наследование разрешений безопасности или членство в группе.
Открытие системы безопасности для репозитория
Вы задаете разрешения репозитория Git из параметров проекта>Репозитории.
Откройте веб-портал и выберите проект, в котором нужно добавить пользователей или группы. Сведения о выборе другого проекта см. в разделе Switch project, репозиторий, команда.
Откройте Параметры проекта>Репозитории.
Чтобы задать разрешения для всех репозиториев Git, выберите "Безопасность".
Например, здесь мы выбираем (1) параметры проекта, (2) Репозитории, а затем (3) Безопасность.
В противном случае, чтобы задать разрешения для определенного репозитория, выберите (1) репозиторий, а затем выберите (2) Безопасность.
Настройка разрешений для репозитория
Вы можете управлять доступом к репозиторию, задав состояние разрешения в Разрешить или Отказать для одного пользователя или группы безопасности.
Откройте веб-портал и выберите проект, в котором нужно добавить пользователей или группы. Сведения о выборе другого проекта см. в разделе Switch project, репозиторий, команда.
Чтобы задать разрешения для всех репозиториев Git для проекта, выберите репозитории Git, а затем выберите группу безопасности, разрешения которой требуется управлять.
Например, здесь мы выбираем (1) Параметры проекта, (2) Репозитории, (3) репозитории Git, (4) группу участников, а затем (5) разрешение на создание репозитория.
Чтобы просмотреть полное изображение, щелкните изображение, чтобы развернуть его. Выберите
, чтобы закрыть.
Примечание.
Возможно, вы не сможете найти пользователя на странице разрешений или поле удостоверения, если пользователь не был добавлен в проект, добавив его в группу безопасности или в группу проектов. Кроме того, при добавлении пользователя в Microsoft Entra ID или Active Directory может возникнуть задержка между моментом их добавления в проект и доступностью для поиска в поле идентификации. Задержка может составлять от 5 минут до 7 дней.
В противном случае выберите определенный репозиторий и группу безопасности, чьими разрешениями вы хотите управлять.
Примечание.
Если вы добавляете пользователя или группу и не изменяете какие-либо разрешения для этого пользователя или группы, то после обновления страницы разрешений пользователь или группа, которую вы добавили, больше не появится.
По завершении нажмите кнопку "Сохранить изменения".
Изменение разрешений для группы безопасности
Чтобы задать разрешения для настраиваемой группы безопасности, определили ее ранее. См. раздел "Установка разрешений" на уровне проекта.
Чтобы задать разрешения для определенной группы, выберите группу. Например, здесь мы выбираем группу участников.
Измените одно или несколько разрешений. Чтобы предоставить разрешение, измените Не установлено на Разрешить. Чтобы ограничить разрешения, измените "Разрешить" на "Запретить".
После завершения покиньте страницу. Изменения разрешений автоматически сохраняются для выбранной группы.
Настройка разрешений для конкретного пользователя
Чтобы задать разрешения для конкретного пользователя, введите имя пользователя в фильтр поиска и выберите из отображаемых идентичностей.
Затем внесите изменения в набор разрешений.
Примечание.
Возможно, вы не сможете найти пользователя на странице разрешений или поле удостоверения, если пользователь не был добавлен в проект, добавив его в группу безопасности или в группу проектов. Кроме того, при добавлении пользователя в Microsoft Entra ID или Active Directory может возникнуть задержка между временем, когда они добавляются в проект, и когда они становятся доступными для поиска через поле идентификации. Задержка может составлять от 5 минут до 7 дней.
По завершении перейдите на другую страницу. Изменения разрешений автоматически сохраняются для выбранной группы.
Примечание.
Если вы добавляете пользователя или группу и не изменяете какие-либо разрешения для этого пользователя или группы, то после обновления страницы разрешений пользователь или группа, которую вы добавили, больше не появится.
Включение или отключение наследования для определенного репозитория
Чтобы включить или отключить наследование для определенного репозитория, выберите репозиторий и переместите ползунок наследования в положение "Вкл. или выкл.
Дополнительные сведения о наследовании см. в разделе "Сведения о разрешениях и группах", "Наследование" и "Группы безопасности".
Исключение из применения политики и обход разрешений политики
Существует множество сценариев, в которых иногда требуется обойти политику ветвей. Например, при отмене изменения, вызвавшего ошибку в сборке, или применении исправления в середине ночи. Ранее разрешение "Exempt from policy enforcement" помогало командам управлять пользователями, которые получили возможность обхода политик ветвей при выполнении запроса на вытягивание. Однако это разрешение также предоставило возможность отправлять непосредственно в ветвь, обходя процесс PR полностью.
Чтобы улучшить этот опыт, мы разделили исключение из применения политики, чтобы предоставить больше контроля командам, предоставляющим разрешения на обход. Следующие два разрешения заменяют прежнее разрешение:
- Обход политик при выполнении pull-запросов. Пользователи с этим разрешением смогут использовать функцию Override для pull-запросов.
- Обход политик при отправке. Пользователи с такими правами смогут напрямую отправлять изменения в ветви, для которых настроены необходимые политики.
Предоставив первое разрешение и отказав в втором, пользователь может использовать опцию обхода при необходимости, но по-прежнему будет иметь защиту от случайной отправки в ветвь с установленными политиками.
Примечание.
Это изменение не приводит к изменениям поведения. Пользователи, которым ранее было предоставлено разрешение на освобождение от соблюдения политики, теперь получают разрешение на оба новых разрешения, поэтому они смогут переопределять завершение на PR и отправлять непосредственно в ветки с политиками.