启用托管身份后,Azure App Service停止工作

时间:2019-12-11 11:09:55

标签: azure azure-web-sites azure-managed-identity

我已经在Azure App Services中部署了一个Docker容器。我有一个可以调用的公共API,该API返回“ Hello world”。

我想在我的应用程序中使用Azure托管身份,因此我在Azure门户中启用了它。我按照此文档启用了“系统分配”功能:https://docs.microsoft.com/en-us/azure/app-service/overview-managed-identity?tabs=dotnet

启用托管身份后,我的Web应用程序停止工作。重新启动它没有帮助。禁用托管身份即可解决此问题。

如果我尝试调用我的API,则会收到错误消息: “ :(应用错误 如果您是应用程序管理员,则可以访问诊断资源。“

不仅仅是我的API,而是整个应用程序停止运行。如果我尝试导航到https://[myApp].azurewebsites.net,则会收到相同的错误。如果没有Managed Identity,则导航到该地址时会出现“找不到404页”的信息。

有人遇到过这个吗?如何解决?

更新:我无法使用示例“静态站点”容器来复制它,因此它必须与我们部署的容器相关。但是我不知道是什么原因造成的-启用托管身份会以某种方式更改(减少)应用程序可以执行的操作吗?

更新2::该容器包含一个Go应用程序,该应用程序使用Azure SDK进行AAD身份验证。在我们看来,如果启用了托管身份,此身份验证尝试会使整个应用程序在启动过程中崩溃。我们的目的是使用托管身份从Azure Key Vault中获取秘密。然后使用此机密向AAD进行身份验证。现在,我们的应用程序甚至都没有尝试与Managed Identity服务进行通话。

1 个答案:

答案 0 :(得分:0)

将评论汇总为答复,以便其他人更清楚地找到解决方案。

当我们将MSI_SECRET定义为空白(存在但空白;不存在就可以了)时,SDK崩溃。

因此,请定义KUDU环境中显示的MSI_SECRET值。