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

Azure Arc启用Windows Server中DefaultAzureCredential无法使用求助

解决Azure Arc Windows Server 2022用户分配托管身份认证失败问题

问题核心原因

你遇到的AuthenticationFailedException通常由以下几点导致:

  • 混淆了托管身份的对象ID与客户端ID,错误将对象ID设置为AZURE_CLIENT_ID环境变量值
  • 多余配置了AZURE_TENANT_ID,Azure Arc环境下无需手动指定该变量
  • DefaultAzureCredential的认证链未优先触发Arc托管身份提供者
  • Windows服务运行账户权限不足或Arc代理状态异常

正确实现步骤

  • 确认托管身份关联:在Azure门户找到你的Azure Arc服务器,进入「身份」→「用户分配」页面,确保目标托管身份已成功关联至该服务器。
  • 修正环境变量配置:
    • 删除AZURE_TENANT_ID环境变量,Azure Arc环境会自动识别租户信息
    • 将AZURE_CLIENT_ID的值替换为托管身份的应用程序(客户端)ID(在Entra ID托管身份详情页查看,不要使用对象ID)
  • 优化代码Credential配置:显式指定托管身份客户端ID,排除不必要的认证方式,避免链路干扰:
    var credentialOptions = new DefaultAzureCredentialOptions
    {
        ManagedIdentityClientId = "你的托管身份客户端ID",
        ExcludeVisualStudioCredential = true,
        ExcludeAzureCliCredential = true,
        ExcludeInteractiveBrowserCredential = true
    };
    var client = new SecretClient(new Uri(vaultUrl), new DefaultAzureCredential(credentialOptions));
    var secretList = client.GetPropertiesOfSecrets();
    
  • 检查服务运行账户:确保Windows服务使用本地系统账户运行,若使用自定义账户,需保证其具备访问本地Arc托管身份端点(http://localhost:40342/metadata/identity/oauth2/token)的权限。
  • 验证Arc代理状态:在服务器执行命令azcmagent status,检查Azure Connected Machine Agent服务是否正常运行,若异常则重启该服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 08:02:17