Поделиться через


О ролях безопасности конвейера

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

Azure DevOps управляет безопасностью для конвейеров сборки и выпуска, а также групп задач с помощью разрешений на основе задач. Несколько ресурсов конвейера используют разрешения на основе ролей, которые можно назначить пользователям или группам. Каждая роль определяет операции, которые пользователь может выполнять в контексте определенных ресурсов конвейера.

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

Общие сведения о ролях безопасности и разрешениях

Azure DevOps использует две основные модели безопасности:

  • Безопасность на основе ролей: предопределенные роли с определенными наборами разрешений для ресурсов конвейера
  • Безопасность на основе разрешений: детализированные разрешения, которые можно назначить отдельно

Роли безопасности предоставляют упрощенный способ управления распространенными сценариями разрешений, а отдельные разрешения предоставляют более подробный контроль при необходимости.

Назначения ролей по умолчанию

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

Система автоматически назначает эти роли по умолчанию при следующих случаях:

  • Вы создаёте новый проект
  • Пользователи присоединяются к группе участников проекта
  • Вы добавляете новые ресурсы конвейера

Роли безопасности пула агентов, уровень проекта

Вы можете добавить пользователей в роли безопасности из контекста администратора уровня проекта на странице пулов агентов . Сведения о добавлении пулов агентов и управлении ими см. в разделе "Пулы агентов".

Навигация: параметры проекта → пулы агентов

Роль (уровень проекта) Description
Читатель Просмотр пула. Как правило, добавьте операторы в эту роль для мониторинга заданий сборки и развертывания в пуле.
Пользователь Просмотр и использование пула при создании конвейеров сборки или выпуска.
Автор Создайте и используйте пул при создании конвейеров сборки или выпуска.
Администратор Управление членством для всех ролей пула и просмотр и использование пулов. Пользователь, создавший пул, автоматически добавляется в роль администратора для этого пула.

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

По умолчанию следующие группы добавляются в роль администратора всех пулов агентов:

  • Администраторы сборки
  • Администраторы выпуска
  • Администраторы проектов.

Управление параметрами ролей для пула агентов проекта на странице "Пулы агентов>параметров проекта".

  • Чтобы задать разрешения для всех пулов в проекте, выберите "Безопасность", а затем добавьте пользователя и выберите свою роль.
  • Чтобы задать разрешения для определенного пула, выберите пул и затем безопасность. В разделе "Разрешения конвейера" просмотрите, какие конвейеры имеют доступ к пулу. Явно разрешить конвейер с помощью + кнопки или разрешить все конвейеры с помощью кнопки . В разделе "Разрешения пользователя" добавьте пользователя или группу и выберите свою роль.

Распространенные сценарии для ролей пула агентов уровня проекта

  • Роль пользователя: разработчики, которым необходимо запускать сборки и выпуски
  • Роль читателя: заинтересованные лица, которым нужна видимость состояния очереди
  • Роль администратора: инженеры DevOps, которые управляют конфигурацией пула

Роли безопасности пула агентов, организация или уровень сбора

Добавьте пользователей в следующие роли безопасности на странице пулов агентов>параметров организации. Сведения о добавлении пулов агентов и управлении ими см. в разделе "Пулы агентов".

Навигация: Настройки организации → Конвейеры → Пулы агентов

Роль (уровень организации) Description
Читатель Просмотр пула и агентов. Как правило, добавьте операторы в эту роль для мониторинга агентов и их работоспособности.
Организация сервиса Используйте пул для создания агента в проекте. Следуя рекомендациям по созданию пулов , обычно это означает, что вам не нужно добавлять участников в эту роль.
Администратор Зарегистрируйте или отмените регистрацию агентов из пула, управляйте членством во всех пулах и просматривайте и создавайте пулы. Используйте пул агентов при создании агента в проекте. Система автоматически добавляет пользователя, создавшего пул, в роль администратора этого пула.

Управление параметрами ролей для пулов агентов уровня организации или коллекции на странице "Пулы агентов>параметров организации".

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

Разрешения уровня организации и разрешения на уровне проекта

Управление ролями уровня организации:

  • Создание и удаление пула
  • Установка и настройка агента
  • Совместное использование пула для нескольких проектов

Управление ролями уровня проекта:

  • Использование пула в определенных проектах
  • Разрешения на выполнение конвейера
  • Доступ к мониторингу очередей

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

Добавьте пользователей в следующие роли на странице "Конвейеры" или "Сборка и выпуск". Сведения о добавлении групп развертывания и управлении ими см. в разделе "Группы развертывания".

Навигация: параметры проекта → конвейеры → группы развертывания

Роль Description
Читатель Просмотр групп развертывания.
Автор Просмотр и создание групп развертывания.
Пользователь Просмотр и использование групп развертывания, но не может управлять ими.
Администратор Администрирование ролей, управление, просмотр и использование групп развертывания.

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

  • Администратор. Настройка целевых объектов развертывания и управление параметрами группы
  • Пользователь: развертывание приложений в целевых средах
  • Читатель: мониторинг состояния развертывания и просмотр журнала развертывания

Роли безопасности пула развертывания

Добавьте пользователей к следующим ролям на странице пулов развертывания. Сведения о создании пулов развертывания и управлении ими см. в разделе "Группы развертывания".

Навигация. Параметры организации → конвейеры → пулы развертывания

Роль Description
Читатель Просмотр пулов развертывания.
Организация сервиса Просмотр агентов, создание сеансов и прослушивание заданий из пула агентов.
Пользователь Просмотр и использование пула развертывания для создания групп развертывания.
Администратор Администрирование, управление, просмотр и использование пулов развертывания.

Пулы развертывания и группы развертывания

  • Пулы развертывания: ресурс уровня организации, который можно совместно использовать в проектах
  • Группы развертывания: коллекция целевых объектов развертывания для конкретного проекта

Роли безопасности ресурсов библиотеки: группы переменных и безопасные файлы

Добавьте пользователей в роль библиотеки из конвейеров или сборки и выпуска. Дополнительные сведения об использовании этих ресурсов библиотек см. в разделе "Группы переменных" и "Безопасные файлы".

Навигация: Параметры проекта → Конвейеры → Библиотека

Роль Description
Администратор Изменение, удаление и управление безопасностью для ресурсов библиотеки. Создатель ресурса автоматически назначает эту роль для ресурса.
Автор Создание ресурсов библиотеки.
Читатель Чтение ресурсов библиотеки.
Пользователь Использование ресурсов библиотеки в конвейерах.

Рекомендации по обеспечению безопасности библиотеки

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

Роли безопасности подключения службы

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

Навигация: параметры проекта → подключения к службе

Роль Description
Пользователь Используйте конечную точку при создании конвейеров сборки или выпуска.
Администратор Управляйте членством всех остальных ролей для подключения к службе и используйте конечную точку для создания конвейеров сборки или выпуска. Система автоматически назначает пользователю, создавшему подключение службы к роли администратора для этого пула.

Вопросы безопасности подключения службы

Подключения службы часто содержат конфиденциальные учетные данные и требуют тщательного управления разрешениями:

  • Роль администратора: для инженеров DevOps, которые настраивают интеграции внешних служб
  • Роль пользователя: для авторов конвейеров, которым необходимо использовать существующие подключения
  • Роль читателя: для членов команды, которым нужен доступ к информации о доступных соединениях
  • Роль создателя: для авторизованных пользователей, которые могут устанавливать новые подключения к службе

Управление назначениями ролей

Рекомендации по управлению ролями

  1. Принцип наименьшей привилегии. Назначение минимальной роли, необходимой для выполнения задач пользователями
  2. Использование групп для отдельных лиц: назначение ролей группам Microsoft Entra, а не отдельным пользователям, когда это возможно
  3. Регулярный обзор: Периодически проверяйте назначения ролей, чтобы обеспечить их актуальность и соответствие.
  4. Назначения ролей: ведение документации о том, кто имеет какие роли и почему

Общие шаблоны назначения ролей

Тип пользователя Типичные роли Логическое обоснование
Разработчики Роли пользователей в ресурсах конвейера Нужно запустить конвейеры и получить доступ к ресурсам
Инженеры DevOps Роли администратора для ресурсов инфраструктуры Управление инфраструктурой конвейера и настройка
Диспетчеры проектов Роли читателей для управления видимостью Мониторинг хода выполнения без внесения изменений
Внешние подрядчики Ограниченные роли пользователей с определенным объемом полномочий Ограниченный доступ на основе потребностей проекта

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

Распространенные проблемы и решения

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

Шаги проверки

  1. Проверка наследования: проверьте, наследуются ли разрешения от более высоких уровней
  2. Проверка членства в группах: подтверждение членства пользователей в группах и связанных ролей
  3. Разрешения аудита. Использование отчетов безопасности Azure DevOps для просмотра текущих назначений
  4. Проверка доступа: Пользователи должны тестировать конкретные сценарии, чтобы убедиться, что разрешения работают правильно.

Интеграция с идентификатором Microsoft Entra

Когда ваша организация использует интеграцию идентификатора Microsoft Entra:

  • Назначения на основе групп. Назначение ролей группам идентификаторов Microsoft Entra для упрощения управления
  • Условный доступ: политики условного доступа Microsoft Entra ID применяются к доступу в Azure DevOps
  • Управление идентификацией: Используйте проверки доступа Microsoft Entra ID для аудита назначения ролей
  • Рекомендации гостевых пользователей: внешним пользователям может потребоваться назначение определенных ролей