Azure LinkedAuthorizationFailed при аутентификации учетной записи Active Directory / хранилища ключей при запуске шаблона развертывания сервера DevOps

Я пытаюсь развернуть локальный экземпляр Azure DevOps Server на виртуальной машине в подписке Azure для государственных организаций (которая по своей природе не поддерживает стандартный DevOps).

На этот шаблон есть ссылки в материалах поддержки непосредственно от Microsoft:

https://github.com/usri/deploy_DevOps_Server_AzureSQL

Все упомянутые ресурсы были созданы с нуля с целью запуска этого сервера.

Для этого требуется учетная запись AAD со связанным паролем, хранящимся в Key Vault. Однако каждая попытка запустить шаблон возвращает следующую ошибку на этапе «Запись виртуальных машин» (когда все остальные компоненты проходят успешно):

У клиента есть разрешение на выполнение действия 'Microsoft.Compute/images/read' в области '(MY_SUBSCRIPTION)\(MY_RESOURCEGROUP)\(VM)', однако текущий клиент '(MY_KEYVAULT)' не авторизован для доступа к связанной подписке '(ID в шаблоне с файлами развертывания)'

Мне кажется, что пароль не может быть получен из Key Vault - это проблема форматирования секрета? Проблема с контролем доступа где-то? Я пробовал много различных комбинаций обоих. Надеюсь, это банальная проблема ..


person Tyler L.    schedule 12.11.2020    source источник
comment
Можете ли вы выполнить развертывание с той же Подпиской Azure локально?   -  person PatrickLu-MSFT    schedule 13.11.2020
comment
@ PatrickLu-MSFT К сожалению, нет, если посмотреть на сценарий развертывания, строка 294 , похоже, что для доступа к образу виртуальной машины необходима аутентификация хранилища ключей (подписка 093847b0 - это то, что упоминается в ошибке)   -  person Tyler L.    schedule 16.11.2020
comment
Привет, Тайлер, спасибо за любезную информацию. Согласно вашей информации. Я предлагаю вам подать заявку в службу поддержки Azure. Тем более, что Azure Government не является широко распространенным сценарием.   -  person PatrickLu-MSFT    schedule 18.11.2020
comment
@ PatrickLu-MSFT - вот что нам пришлось делать, технический специалист занимается этим. Как вы сказали, Azure Gov (и особенно действия этого шаблона) кажется несколько нишевой.   -  person Tyler L.    schedule 18.11.2020
comment
Если вы наконец получите решение для этого. Вы можете поделиться решением здесь и отметить его. Что также поможет другим в сообществе, если они застрянут в одних и тех же сценариях.   -  person PatrickLu-MSFT    schedule 19.11.2020


Ответы (1)


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

  • Обновлен файл ReadMe, чтобы включить информацию о создании образа.
  • Обновлен azuredeploy.json с параметрами для Key Vault и ссылок на изображения.
  • Обновлен файл ps1, чтобы удалить жесткие ссылки для KV (особенно плохая оплошность с моей стороны, приношу свои извинения).
  • Все обновлено и протестировано для последней версии Azure DevOps Server 2020.

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

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

В этом конкретном репо показано, как можно использовать шаблоны Azure для развертывания служб при отсутствии или разрешении подключения к Интернету. Я просто использовал Azure DevOps Server, потому что он был интересен, и его использовали регулируемые отраслевые клиенты.

Всего наилучшего

person jingram    schedule 29.11.2020