当前位置: 首页 > 知识库问答 >
问题:

启用托管标识后,Azure应用服务停止工作

松阳泽
2023-03-14

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

我想在我的应用程序中使用Azure托管标识,所以我在Azure门户中启用了它。根据以下文档,我启用了“系统分配”功能:https://docs.microsoft.com/en-us/azure/app-service/overview-managed-identity?tabs=dotnet

启用托管标识后,我的Web应用程序停止工作。重新启动它没有帮助。禁用托管标识会修复它。

如果尝试调用API,则会出现错误:“(应用程序错误如果您是应用程序管理员,则可以访问诊断资源。”

不仅仅是我的API,整个应用程序都停止工作了。如果我尝试导航到https://[我的应用程序]。azurewebsites。net我得到了同样的错误。如果没有托管标识,我在导航到此地址时会看到“404页未找到”。

有人遇到过这种情况吗?如何修复它?

更新:我无法用示例“静态站点”容器复制它,因此它必须与我们部署的容器有某种关联。但我不明白是什么原因导致了它——启用托管身份是否会以某种方式改变(减少)应用程序所能做的事情?

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

共有1个答案

齐浩淼
2023-03-14

将评论总结成回复,让其他人更清楚地找到解决方案

当我们将MSI\u SECRET定义为空(存在,但为空;不存在很好)时,SDK崩溃。

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

 类似资料:
  • 现在我正在使用AAD应用程序使服务成为= AAD应用程序 流程如下所示: 服务A:从托管标识获取令牌 服务A:转到KeyVault,出示令牌并获取AAD应用程序的秘密 服务A:转到AAD,提供一个秘密并为特定资源请求一个令牌 服务A:拨打服务B 服务B:验证令牌和资源 我想知道是否可以向我的服务注册托管标识,因此如果提供托管标识令牌,则服务B可以信任服务A。类似于这样: 服务A:从托管身份获取令牌

  • 我在Azure中设置了两个应用程序服务。”父级和子级都公开APIendpoint。 子节点有endpointGet。 父节点有endpoint“获取”和“获取儿童”(使用HttpClient在儿童上调用“获取”)。 我希望所有子endpoint都需要通过托管身份和AAD进行身份验证,并且我希望所有父endpoint都允许匿名。但是在Azure中,我希望将父应用服务设置为具有调用子应用服务的权限。因

  • 当尝试在Azure Gov中获取服务总线的托管标识令牌时,我尝试使用资源:https://servicebus.usgovcloudapi.net/而不是像商业(https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-managed-service-identity)那样https://servicebus.

  • 我正在尝试设置Azure功能,以将我们的应用程序服务计划扩展到在工作时间更大,在工作时间以外更小。我从这个问题的答案中得出结论。 当我在本地运行它时,它可以工作,并且实际上在我们的Azure应用服务计划上执行了扩展(我相信是通过Azure CLI)。但是,当此Azure Function部署到Azure时,它找不到任何应用服务计划。它点击块并返回。我已为已部署的Azure Function打开托管

  • 我已经尝试按照本教程来验证我的服务总线对,但是,我得到了401。 我在设置中使用以下代码: 然后我这样称呼SB客户: 当我调用我得到一个401错误: 失败:Azure Messaging ServiceBus[82]为标识符myqueue-578624f3-f732-4a9b-2ab0-9adc01949a5a创建发送链接时发生异常。错误消息:“系统。UnauthorizedAccessExcep

  • 有没有办法将Azure托管标识与LinuxVM一起使用来访问AzureSQL数据库?我只能找到这个文档https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/tutorial-windows-vm-access-sql它专门针对Windows VM。Linux机器是否有文档