You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨Azure账户使用用户分配托管身份:DefaultAzureCredential认证咨询

问题解答

DefaultAzureCredential的认证逻辑(本地Visual Studio场景)

在你配置了ManagedIdentityClientId的情况下,DefaultAzureCredential会按优先级尝试认证方式,但在本地Visual Studio环境中:

  • 首先尝试用户分配托管身份认证:但托管身份是Azure云资源的专属身份机制,本地开发环境没有对应的运行载体,这一步会直接失败。
  • 自动降级到下一个优先级的认证方式:使用你当前Visual Studio登录的B@hotmail.com账户的凭据,以该账户的权限尝试访问存储账户。

简单来说,本地运行时你指定的托管身份根本不会生效,实际起作用的是你Visual Studio中登录的B账户。

关于B账户能否通过A创建的托管身份ClientID操作

答案是不行,核心原因有两点:

  • 托管身份的权限是和Azure资源绑定的(比如你的Azure函数),只有当代码运行在绑定了该托管身份的Azure环境中时,才能通过ClientID调用它的权限。本地环境没有这个绑定关系,无法触发托管身份认证。
  • 如果想让B账户访问目标存储账户,要么直接给B账户分配存储账户的对应角色权限;要么将代码部署到绑定了该托管身份的Azure函数中运行——此时函数会使用托管身份的权限访问存储,和你本地登录的B账户完全无关。

内容的提问来源于stack exchange,提问作者Pulkit Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 02:37:09