Настройка параметров безопасности управляемых пулов DevOps
Статья
Вы можете настроить параметр безопасности для управляемых пулов DevOps во время создания пула с помощью вкладки "Безопасность " и после создания пула с помощью области параметров безопасности .
Настройка доступа организации
По умолчанию управляемые пулы DevOps настроены для одной организации с доступом к пулу, предоставленному всем проектам в организации. При желании вы можете ограничить доступ к определенным проектам в организации, а при необходимости предоставить доступ к дополнительным организациям.
По умолчанию управляемые пулы DevOps настроены для использования с одной организацией Azure DevOps, указанной при создании пула. Если пул настроен для одной организации, имя организации отображается и настраивается в параметрах пула.
По умолчанию Добавить пул ко всем проектам установлено в значение "Да", и доступ к управляемому пулу DevOps предоставляется всем проектам в организации. Выберите "Нет ", чтобы указать список проектов, чтобы ограничить, какие проекты в организации могут использовать пул.
Организации конфигурируются в свойстве organizationProfile ресурса Managed DevOps Pools.
В organizationProfile разделе содержатся следующие свойства.
Свойство
Описание
organizations
Список организаций, которые могут использовать ваш пул.
url указывает URL-адрес организации, projects представляет собой список имен проектов, которые могут использовать пул (пустой список поддерживает все проекты в организации) и parallelism указывает количество агентов, которые могут использоваться этой организацией. Сумма уровня параллелизма для организаций должна соответствовать максимальному параметру агентов для пула.
permissionProfile
Укажите разрешение, предоставленное пулу Azure DevOps при его создании. Это значение можно задать только во время создания пула. Допустимые значения: Inherit, CreatorOnly и SpecificAccounts. Если указано specificAccounts, укажите один адрес электронной почты или список адресов для свойства users; в противном случае опустите users. Дополнительные сведения см. в разделе "Разрешения администрирования пула".
kind
Это значение указывает тип организации для пула и должен иметь значение Azure DevOps.
Организации настраиваются в параметре organization-profile при создании или обновлении пула.
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
В следующем примере показан объект organization-profile, настроенный для всех проектов в организации fabrikam-tailspin, где для parallelism установлено значение 1.
В organizationProfile разделе содержатся следующие свойства.
Свойство
Описание
AzureDevOps
Это значение — имя объекта, определенного в organization-profile , и должно иметь значение Azure DevOps.
organizations
Список организаций, которые могут использовать ваш пул.
url указывает URL-адрес организации, projects представляет собой список имен проектов, которые могут использовать пул (пустой список поддерживает все проекты в организации) и parallelism указывает количество агентов, которые могут использоваться этой организацией. Сумма параллелизма для организаций должна соответствовать максимальному параметру агентов для пула.
permissionProfile
Укажите разрешение, предоставленное пулу Azure DevOps при его создании. Это значение можно задать только во время создания пула. Допустимые значения: Inherit, CreatorOnly и SpecificAccounts. Если specificAccounts задано, укажите один адрес электронной почты или список адресов электронной почты для свойства users; в противном случае не указывайте users. Дополнительные сведения см. в разделе "Разрешения администрирования пула".
Включите Использование пула в нескольких организациях для работы с вашим пулом в нескольких организациях Azure DevOps. Для каждой организации укажите проекты, которым разрешено использовать пул, или оставьте поле пустым, чтобы разрешить использование всеми проектами.
Настройте параллелизм для каждой организации, указав, какие части параллелизма, как указано максимальными агентами для пула, чтобы выделить для каждой организации. Сумма параллелизма для всех организаций должна соответствовать максимальному параллелизму пула. Например, если для максимального числа агентов задано значение пять, сумма параллелизма для указанных организаций должна быть пятью. Если максимальное количество агентов установлено равным одному, пул можно использовать только с одной организацией.
В следующем примере пул настроен, чтобы быть доступным для проектов FabrikamResearch и FabrikamTest в организации fabrikam-tailspin, а также для всех проектов в организации fabrikam-blue.
Если возникает ошибка The sum of parallelism for all organizations must equal the max concurrency., убедитесь, что максимальное число агентов для пула соответствует сумме столбца Parallelism .
Добавьте дополнительные организации в список организаций, чтобы настроить пул для использования с несколькими организациями. В следующем примере настроены две организации. Первая организация настроена на использование управляемых пулов DevOps для всех проектов, а вторая организация ограничена двумя проектами. В этом примере максимальный параметр агентов для пула составляет четыре, и каждая организация может использовать два из этих четырех агентов.
Организации настраиваются в параметре organization-profile при создании или обновлении пула.
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
Добавьте дополнительные организации в список организаций, чтобы настроить пул для использования с несколькими организациями. В следующем примере настроены две организации. Первая организация настроена на использование управляемых пулов DevOps для всех проектов, а вторая организация ограничена двумя проектами. В этом примере максимальный параметр агентов для пула составляет четыре, и каждая организация может использовать два из этих четырех агентов.
Если ваши тесты требуют интерактивного входа для тестирования пользовательского интерфейса, включите интерактивный вход, при помощи параметра EnableInteractiveMode.
Интерактивный режим настраивается в разделе свойства osProfilefabricProfile. Установите logonType на Interactive, чтобы включить интерактивный режим, или на Service, чтобы отключить интерактивный режим.
В рамках процесса создания пула Managed DevOps в Azure DevOps создается пул агентов уровня организации. Параметр разрешений администрирования пула указывает, какие пользователи получают роль администратора только что созданного пула Azure DevOps. Сведения о просмотре разрешений пула агентов Azure DevOps и управлении ими после создания управляемого пула DevOps см. в статье "Создание пулов агентов и управление ими — безопасность пулов агентов".
Только создатель. Пользователь, создавший управляемый пул DevOps, добавляется в качестве администратора пула агентов Azure DevOps, а наследование имеет значение Off в параметрах безопасности пула агентов.
Только для создателя является параметром по умолчанию.
Наследование разрешений от проекта . Пользователь, создавший управляемый пул DevOps, добавляется в качестве администратора пула агентов Azure DevOps, а наследование имеет значение On в параметрах безопасности пула агентов.
Конкретные учетные записи. Укажите учетные записи, которые необходимо добавить в качестве администраторов созданного пула агентов в Azure DevOps. По умолчанию в список добавляется создатель управляемого пула DevOps.
Примечание.
Параметр разрешений администрирования пула настраивается на вкладке "Безопасность " при создании пула и не отображается в параметрах безопасности после создания пула. Сведения о просмотре разрешений пула агентов Azure DevOps и управлении ими после создания управляемого пула DevOps см. в статье "Создание пулов агентов и управление ими — безопасность пулов агентов".
Разрешения на администрирование пулов настраиваются в свойстве permissionsProfile раздела organizationProfile ресурса управляемых пулов DevOps.
Свойство permissionProfile можно задать только во время создания пула. Допустимые значения: Inherit, CreatorOnly и SpecificAccounts.
CreatorOnly — Пользователь, создавший управляемый пул DevOps, добавляется в качестве администратора пула агентов Azure DevOps, а наследование имеет значение Off в параметрах безопасности пула агентов.
Только создатель - это параметр по умолчанию.
Inherit — Пользователь, создавший управляемый пул DevOps, добавляется в качестве администратора пула агентов Azure DevOps, а наследование имеет значение On в параметрах безопасности пула агентов.
SpecificAccounts — Укажите учетные записи, которые необходимо добавить в качестве администраторов созданного пула агентов в Azure DevOps. По умолчанию в список добавляется создатель управляемого пула DevOps. Укажите один адрес электронной почты или список адресов электронной почты для users свойства; в противном случае опустить users.
Свойство permissionProfile можно задать только во время создания пула. Допустимые значения: Inherit, CreatorOnly и SpecificAccounts.
CreatorOnly — Пользователь, создавший управляемый пул DevOps, добавляется в качестве администратора пула агентов Azure DevOps, а наследование имеет значение Off в параметрах безопасности пула агентов.
Только для создателя — это параметр по умолчанию.
Inherit — Пользователь, создавший управляемый пул DevOps, добавляется в качестве администратора пула агентов Azure DevOps, а наследование имеет значение On в параметрах безопасности пула агентов.
SpecificAccounts — Укажите учетные записи, которые необходимо добавить в качестве администраторов созданного пула агентов в Azure DevOps. По умолчанию в список добавляется создатель управляемого пула DevOps. Укажите один адрес электронной почты или список адресов электронной почты для users свойства; в противном случае опустить users.
Управляемые пулы DevOps предоставляют возможность получения сертификатов из Azure Key Vault во время подготовки, что означает, что сертификаты уже будут существовать на компьютере к моменту запуска конвейеров Azure DevOps. Чтобы использовать эту функцию, необходимо настроить удостоверение в вашем пуле, и у этого удостоверения должны быть разрешения пользователя секретов Key Vault для получения секрета из Key Vault. Чтобы назначить ваше удостоверение на роль пользователя секретов Key Vault, см. раздел «Предоставление доступа к ключам, сертификатам и секретам с помощью управления доступом на основе ролей Azure».
Примечание.
На момент api-version 2024-10-19, если вы используете эту функцию, вы можете использовать только один идентификатор в пуле. Поддержка нескольких личностей будет добавлена в ближайшее время.
Только одно удостоверение можно использовать для получения секретов из Key Vault.
Параметры интеграции Key Vault можно настроить только после создания пула. Параметры интеграции Key Vault нельзя настроить во время создания пула и не отображаются на вкладке "Безопасность " во время создания пула.
Azure Key Vault настраивается в разделе osProfile свойства fabricProfile. Установите secretManagementSettings, чтобы получить доступ к нужному сертификату.
Azure Key Vault настраивается в osProfile разделе fabricProfile свойства при создании или обновлении пула. Чтобы получить доступ к нужному сертификату, настройте secretManagementSettings.
az mdp pool create \
--fabric-profile fabric-profile.json
# other parameters omitted for space
В следующем примере показан раздел osProfile файла fabric-profile.json с настроенной конфигурацией secretsManagementSettings.
Сертификаты, полученные посредством SecretManagementSettings в вашем пуле, будут автоматически синхронизированы с последними версиями, опубликованными в хранилище ключей. Эти секреты будут находиться на компьютере к моменту запуска любого конвейера Azure DevOps, что означает, что вы можете сэкономить время и исключить необходимость в задачах по получению сертификатов.
Внимание
Подготовка виртуальных машин агента завершится неудачей, если секрет не удастся получить из Key Vault из-за проблем с разрешениями или сетью.
Для Windows расположение хранилища сертификатов может быть установлено как LocalMachine или CurrentUser. Этот параметр гарантирует, что секрет будет установлен в указанной локации на компьютере. Сведения о конкретном поведении при извлечении секретов см. в документации по расширению Azure VMSS Key Vault для Windows.
Для Linux расположение хранилища сертификатов может быть любым каталогом на компьютере, а сертификаты будут скачаны и синхронизированы с этим расположением. Для получения сведений о параметрах по умолчанию и поведении секретов см. документацию по расширению Azure VMSS Key Vault для Linux.