Azure DevOps无法部署到Azure Web应用

yruzcnhs  于 2022-12-24  发布在  其他
关注(0)|答案(3)|浏览(220)

我目前正在尝试将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应用的订阅。

我非常肯定,为了使发布部署工作,还需要更多的东西,但是经过密集的搜索,我什么也找不到。
希望这里有人能给点建议。

tkclm6bt

tkclm6bt1#

设法找到了我所遇到问题的解决办法。 它与Azure订阅上访客帐户的访问权限相关。
首先,“托管服务标识”与此问题无关。
以下是将A公司的Azure DevOps连接到B公司的Azure所遵循的步骤:

  • 已在公司B Azure中创建Web应用程序
  • 公司A的Azure DevOp帐户已添加为公司B Azure中的“访客用户
  • DevOp的帐户被授予Azure订阅和Web应用程序的贡献者权限。
  • 在A公司的DevOps中,添加一个“Azure资源管理器”,选择B公司Azure的设置为“服务主体身份验证”
  • 保存Azure资源管理器后,系统将提示你登录。你需要使用B公司Azure的管理员帐户登录。
tsm1rwdh

tsm1rwdh2#

我遇到了这个问题,这是一个MSI问题,但没有按照互联网上其他地方的建议通过创建VM来解决。在我的情况下,我重置了应用服务的MSI ID,这中断了DevOps中的服务连接(尽管DevOps没有告诉我这一点-_-)。
通过在DevOps中删除并重新添加服务连接,并在发布管道设置中重新选择它,解决了该问题。

oiopk7p5

oiopk7p53#

我已经解决了同样的问题,如共济失调-即我删除并重新添加DevOps中的服务连接,它的工作。

相关问题