我目前正在尝试将A公司拥有的Azure DevOps下的发布管道中的应用部署到B公司拥有的Azure上托管的Azure应用。
尝试发布停止Azure应用程序时不断收到此错误:
错误:未能获取资源类型"Microsoft. Web/Sites"的资源ID和资源名称"AppName"。错误:无法获取托管服务主体的访问令牌。请为虚拟机"https://aka.ms/azure-msi-docs"配置托管服务标识(MSI)。状态代码:400,状态消息:错误请求
我不知道如何解决这个问题.
迄今为止所做的工作:
- 在公司B的Azure中创建Web应用程序
- 来自DevOps公司A帐户的用户作为访客用户添加到公司Azure AD中
- 用户具有Web App的参与者权限
- 托管服务标识在Web应用程序上设置为"开
- 在Azure DevOps中设置版本时,可以看到并选择公司B和Web应用的订阅。
我非常肯定,为了使发布部署工作,还需要更多的东西,但是经过密集的搜索,我什么也找不到。
希望这里有人能给点建议。
3条答案
按热度按时间tkclm6bt1#
设法找到了我所遇到问题的解决办法。 它与Azure订阅上访客帐户的访问权限相关。
首先,“托管服务标识”与此问题无关。
以下是将A公司的Azure DevOps连接到B公司的Azure所遵循的步骤:
tsm1rwdh2#
我遇到了这个问题,这是一个MSI问题,但没有按照互联网上其他地方的建议通过创建VM来解决。在我的情况下,我重置了应用服务的MSI ID,这中断了DevOps中的服务连接(尽管DevOps没有告诉我这一点-_-)。
通过在DevOps中删除并重新添加服务连接,并在发布管道设置中重新选择它,解决了该问题。
oiopk7p53#
我已经解决了同样的问题,如共济失调-即我删除并重新添加DevOps中的服务连接,它的工作。