托管服务身份(MSI)的配置

时间:2019-10-08 05:05:34

标签: azure azure-devops azure-web-sites azure-functions devops

  

2019-10-02T04:00:46.7615707Z ## [错误]错误:无法获取资源ID   用于资源类型“ Microsoft.Web /站点”和资源名称   'morningtonFrontEnd'。错误:无法获取托管令牌的访问令牌   服务负责人。请为以下内容配置托管服务身份(MSI)   虚拟机“ https://aka.ms/azure-msi-docs”。状态码:400,   状态消息:错误的请求。

有人可以向我解释什么问题吗?

我具有Azure的“参与者”访问权限。

日志:

2019-10-02T04:00:45.2038473Z ##[section]Starting: Deploy Azure App Service
2019-10-02T04:00:45.2159933Z ==============================================================================
2019-10-02T04:00:45.2160013Z Task         : Azure App Service deploy

2019-10-02T04:00:45.2160056Z Description  : Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby

2019-10-02T04:00:45.2160116Z Version      : 4.157.1

2019-10-02T04:00:45.2160154Z Author       : Microsoft Corporation

2019-10-02T04:00:45.2160215Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-rm-web-app-deployment

2019-10-02T04:00:45.2160272Z ==============================================================================
2019-10-02T04:00:46.7125417Z Got service connection details for Azure App Service:'morningtonFrontEnd'

2019-10-02T04:00:46.7615707Z ##[error]Error: Failed to get resource ID for resource type 'Microsoft.Web/Sites' and resource name 'morningtonFrontEnd'. Error: Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: 400, status message: Bad Request

2019-10-02T04:00:46.7625812Z (node:2404) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot read property 'getApplicationURL' of undefined

2019-10-02T04:00:46.7741572Z Failed to add release annotation. TypeError: Cannot read property 'getApplicationSettings' of undefined

2019-10-02T04:00:46.7782967Z ##[section]Finishing: Deploy Azure App Service

1 个答案:

答案 0 :(得分:1)

  

[错误]错误:无法获取资源类型的资源ID   “ Microsoft.Web /站点”和资源名称“ morningtonFrontEnd”。错误:   无法获取托管服务主体的访问令牌。请   为虚拟机配置托管服务标识(MSI)   'https://aka.ms/azure-msi-docs'。状态码:400,状态消息:错误   请求

关注此错误消息,由第一个服务连接引起的下一个错误行UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot read property 'getApplicationURL' of undefined无法成功连接。

对于此错误,它与您的贡献者角色无关。通常这是因为身份验证令牌已过期或无效。您可以先单击验证连接,以检查此连接是否正常。如果验证成功,它将显示 verified (已验证),表示当前连接没有问题。

enter image description here

如果此验证失败,则最好重新创建一个新的服务连接。请遵循此doc和此blog来开始创建步骤。

成功建立服务连接后,请首先单击“验证连接”。只需确保没有问题,然后在管道中使用它即可。

此外,别忘了在任务配置中单击“授权”:

enter image description here

完成上述所有预验证步骤,该错误不应再次出现。