通过 ADF 中的 Web 活动对 Azure Web 作业进行 MSI 身份验证给出错误 403 - 此 Web 应用程序已停止。问题,而通过基本身份验证调用相同的 Web 作业。
Web 作业作为手动触发托管在 Windows 应用服务上。
在 ADF V2 中,我创建了一个网络活动并提供了以下设置:URL:https://<web app name>.scm.azurewebsites.net/api/triggeredwebjobs/<webjobname>/run
Method: POST
Headers: NA
Body: {}
Authentication: MSI with resource as https://management.azure.com/
- 我已在部署 Web 作业的应用服务中启用了 MSI,并在 AAD 中确认了这一点。
- MSI 也在 ADF 上启用,在 AAD 中确认。
- 在应用程序服务中,我在ACCESS CONTROL中添加了我的 ADF ,角色为Contributor并尝试了其他几个角色,例如Managed Application Operator Role。
注意:在分配角色和启用 MSI 后,我也重新启动了我的应用服务。
这是 adf 中网络活动的代码:
{
"name": "pipeline1",
"properties": {
"activities": [
{
"name": "Web1",
"type": "WebActivity",
"dependsOn": [],
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"typeProperties": {
"url": "https://<webappname>.scm.azurewebsites.net/api/triggeredwebjobs/<webjobname>/run",
"method": "POST",
"authentication": {
"type": "MSI",
"resource": "https://management.azure.com/"
}
}
}
],
"annotations": []
},
"type": "Microsoft.DataFactory/factories/pipelines"
}
我希望身份验证成功并且应该触发 Web 作业,但实际上 Web 应用程序没有通过 MSI 身份验证被调用,并且活动失败并输出错误 403 - 此 Web 应用程序已停止。