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


Настройка параметров безопасности управляемых пулов DevOps

Узнайте, как настроить параметры безопасности для управляемых пулов DevOps. Существует два способа настройки параметров безопасности.

  • При создании пула с помощью вкладки "Безопасность "
  • После создания пула с помощью области параметров безопасности

Настройка доступа организации

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

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

Сведения о разрешениях, необходимых для настройки управляемых пулов DevOps в организации и проектах, см. в статье "Предварительные требования: проверка разрешений Azure DevOps".

Использование пула с одной организацией

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

По умолчанию для параметра "Добавить пул для всех проектов " задано значение "Да", а доступ к управляемому пулу DevOps предоставляется всем проектам в организации. Чтобы ограничить, какие проекты в организации могут использовать пул, выберите "Нет", а затем укажите, какие проекты должны иметь доступ.

Снимок экрана: настройка проектов для одной организации.

Использование пула в нескольких организациях

Чтобы использовать пул с несколькими организациями Azure DevOps, включите использование пула в нескольких организациях. Для каждой организации укажите проекты, которым разрешено использовать пул, или оставьте это поле пустым, чтобы разрешить все проекты. Настройте параллелизм для каждой организации, указав, какие части одновременности нужно выделить каждой организации, как указано максимальным значением агентов для пула. Сумма параллелизма для всех организаций должна соответствовать максимальному параллелизму пула. Например, если для максимального числа агентов задано значение пять, сумма параллелизма для указанных организаций должна быть пятью. Если для параметра "Максимальное число агентов " задано одно значение, пул можно использовать только с одной организацией.

В следующем примере пул настроен так, чтобы быть доступным для проектов FabrikamResearch и FabrikamTest в организации fabrikam-tailspin, а также для всех проектов в организации fabrikam-blue.

Снимок экрана: настройка нескольких организаций.

Если возникает ошибка The sum of parallelism for all organizations must equal the max concurrency, убедитесь, что максимальное число агентов для пула соответствует сумме столбца Parallelism .

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

Чтобы настроить открытый доступ для конвейеров, необходимо иметь следующие разрешения в дополнение к разрешениям, описанным в предварительных требованиях. Проверка разрешений Azure DevOps:

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

Azure DevOps предоставляет следующие режимы для авторизации конвейеров для запуска в пуле агентов.

  • Авторизация конкретных конвейеров (по умолчанию): индивидуально авторизуйте определенные конвейеры из проекта Azure DevOps для запуска в пуле.
  • Открытый доступ: настройте пул агентов на уровне проекта, чтобы быть доступным для всех конвейеров в этом проекте.

Разрешить запуск всех конвейеров в пуле без утверждения (открытого доступа) для настройки параметра пула агентов Open Access в Azure DevOps при создании пула.

Вы можете настроить параметр Разрешить всем конвейерам работать в пуле без утверждения (открытый доступ) только при создании управляемого пула DevOps. После создания пула можно просмотреть и настроить открытый доступ в соответствующем пуле агентов в Azure DevOps для каждого проекта, использующего пул.

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

Снимок экрана: настройка открытого доступа.

  • Если для настройки добавления пула ко всем проектам выбрано значение "Да", то управляемые пулы DevOps настраивают открытый доступ для всех конвейеров во всех проектах.
  • Если для всех проектов установлено значение "Нет" для параметра "Добавить пул", управляемые пулы DevOps настраивают открытый доступ для всех конвейеров только в перечисленных проектах.

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

Снимок экрана: настройка открытого доступа для нескольких организаций.

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

Настройка интерактивного режима

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

Снимок экрана: включение интерактивного режима.

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

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

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

  • Только создатель: этот параметр добавляет пользователя, который создал управляемый пул DevOps, в качестве администратора пула агентов Azure DevOps и устанавливает для параметра Наследование значение «Отключено» в настройках безопасности пула агентов. Только создатель — это параметр по умолчанию.
  • Наследование разрешений от проекта: этот параметр добавляет пользователя, создавшего управляемый пул DevOps в качестве администратора пула агентов Azure DevOps, и задает значение "Наследованиевключено " в параметрах безопасности пула агентов.
  • Конкретные учетные записи. Этот параметр можно использовать для указания учетных записей, которые необходимо добавить в качестве администраторов пула агентов в Azure DevOps. По умолчанию создатель пула включен.

Вы можете настроить параметры разрешений администрирования пула на вкладке "Безопасность " при создании пула. Он не отображается в параметрах безопасности после создания пула. Сведения о просмотре разрешений пула агентов Azure DevOps и управлении ими после создания пула см. в статье "Создание пулов агентов и управление ими" — безопасность пулов агентов.

Настройка хранилища ключей

Управляемые пулы DevOps предоставляют возможность получения сертификатов из хранилища ключей Azure во время подготовки. Сертификаты уже существуют на машине к моменту запуска ваших конвейеров.

Чтобы использовать эту функцию, необходимо:

  • Настройте удостоверение для пула. Чтобы разрешить этому удостоверению Key Vault Secrets User получать секрет из вашего хранилища ключей, необходимо предоставить ему соответствующие разрешения. Чтобы назначить вашу учетную запись в роли пользователя секретов Key Vault, см. раздел «Предоставление доступа к ключам хранилища ключей, сертификатам и секретам с помощью управления доступом на основе ролей Azure».

  • Субъект, который настраивает параметры интеграции хранилища ключей (учетная запись при настройке параметров хранилища ключей), должен иметь назначение роли пользователя сертификата Key Vault в хранилище ключей, где хранятся сертификаты.

  • Чтобы применить сетевую изоляцию для экземпляра Azure Key Vault, чтобы разрешить доступ только авторизованным ресурсам, необходимо добавить следующие IP-адреса в список разрешений Azure Key Vault. Следующие диапазоны IP-адресов находятся в теге службы Azureс именем DevOpsInfrastructure.

    Местоположение Диапазон IP-адресов
    австралия 4.198.194.192/28
    бразилия 74.163.143.32/28
    canadacentral 130.107.66.0/28
    centralindia 98.70.255.112/28
    centralus 72.152.33.16/28
    eastus2 72.153.21.192/28
    germanywestcentral 131.189.121.128/28
    northeurope 72.145.24.48/28
    юго-восточная часть 135.171.33.48/28
    швейцариянорт 74.161.82.192/28
    uksouth 131.145.107.64/28
    westus3 57.154.125.208/28

Примечание.

api-version 2025-01-21 Если вы используете эту функцию, вы можете использовать только одно удостоверение в пуле.

Вы можете использовать только одно удостоверение для получения секретов из хранилища ключей.

Вы устанавливаете параметры сертификата управляемых пулов DevOps на уровне пула, а некоторые параметры предназначены для Windows или Linux. Если для рабочего процесса требуются образы Linux и Windows, их может потребоваться разделить на несколько пулов, если вы не можете найти общий набор параметров сертификата, работающих как для Windows, так и для Linux.

Следующие параметры настраивают сертификаты, полученные из хранилища ключей:

  • Сертификаты (observedCertificates): этот параметр указывает сертификаты, которые необходимо получить из хранилища ключей и установить на всех компьютерах в пуле.
  • Расположение хранилища сертификатов (certificateStoreLocation): этот параметр указывает расположение для установки сертификатов в агенте.
    • Агенты Windows: укажите LocalMachine или CurrentUser.
    • Агенты Linux: настройка расположение хранилища сертификатов поддерживается только в дистрибутивах Ubuntu. Укажите путь к диску для хранения сертификатов (например, /var/lib/waagent/Microsoft.Azure.KeyVault/app1). Для дистрибутивов Ubuntu, если указать расположение доверенного хранилища (например, /usr/local/share/ca-certificates), сертификат добавляется в это хранилище сертификатов в качестве корневого каталога. Для получения дополнительной информации см. раздел 'Установка корневого сертификата ЦС' в хранилище доверия.
  • Имя хранилища сертификатов (certificateStoreName)
    • Агенты Windows: этот параметр указывает имя хранилища сертификатов. Это либо My (локальное хранилище сертификатов, которое является значением по умолчанию, если имя не указано) или Root (надежное корневое расположение).
    • Агенты Linux: этот параметр не используется в агентах Linux.
  • Экспортируемые закрытые ключи (keyExportable): этот параметр указывает, можно ли экспортировать ключ сертификатов. Значение по умолчанию — false.

Интеграцию хранилища ключей можно настроить в settings>Security.

Снимок экрана: настройка сертификатов хранилища ключей.

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

Настройка параметров управления секретами

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

Внимание

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

Для Windows можно задать значение LocalMachine" или CurrentUser". Этот параметр гарантирует, что секрет установлен в этом расположении на компьютере. Сведения о том, как работает извлечение секретов, см. в расширении Azure Key Vault для Windows.