Мы установили соединение между Azure DevOps и Azure Key Vault через Service Connections (аутентификация субъекта-службы). Однако, чтобы это работало, нам нужно пометить Azure Key Vault
-> Networking
как Разрешить доступ с: All networks
. Учитывая, что мы храним здесь секреты, мы хотели бы использовать опцию Private endpoint and selected networks
вместо этого с Allow trusted Microsoft services to bypass this firewall?
, установленным на Yes
.
Примерно так:
Однако это приводит к ошибке на Azure DevOps -> Конвейеры -> Библиотека:
Указанное Azure служебное соединение должно иметь секрет «Get, List» Разрешения на управление выбранным хранилищем ключей. Нажмите «Авторизовать», чтобы включить Azure Конвейеры, чтобы установить эти разрешения или управлять секретными разрешениями на портале Azure.
Если мы устанавливаем Разрешить доступ с: All networks
для Azure хранилища ключей, оно работает, как указано ранее, но мы хотели бы избежать этого, если это возможно.
Настройка Azure Задача хранилища ключей в конвейере
или настройка группы переменных с последующим переключением на Private endpoint and selected networks
приводит к похожая ошибка при развертывании.
MyKey: "Адрес клиента не авторизован, а вызывающая сторона не является доверенной службой. \ r \ nКлиент адрес: 111.222.333.44. Звонящий: appid = ; oid = 00000000-0000-0000-0000-000000000000; iss = https://sts.windows.net/ / \ r \ nVault: My-Vault; location = northeurope. Указанное Azure служебное подключение должно иметь разрешения Get, List секретного управления для выбранного хранилища ключей. Чтобы установить эти разрешения s, загрузите сценарий ProvisionKeyVaultPermissions.ps1 из журналов сборки и выпуска и выполните его или установите их с портала Azure. "
Адрес клиента, к сожалению, каждый раз новый, как и ожидалось, но значения oid
и iss
совпадают. Согласно документации, в брандмауэр можно добавить только IPv4 address or CIDR
. Можно ли пометить Azure агентов как надежные службы Microsoft или это плохая практика? Хотя это выглядит намного безопаснее, чем All networks
.