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

通过合作伙伴中心/委托账户连接租户Azure AD时遇AADSTS50076错误求助

解决Connect-AzureAD遇到AADSTS50076 MFA错误的方案

这个错误的核心原因很明确:你用来连接的委托账户(DA)被目标租户的条件访问策略要求必须使用多因素认证(MFA),但你当前用的Connect-AzureAD -Credential $cred是基于用户名密码的非交互式认证,完全不支持MFA验证,所以必然触发这个报错。

下面给你几个可行的解决方向,按推荐优先级排序:

1. 改用服务主体(Service Principal)进行认证(最推荐)

服务主体是Azure AD专为自动化任务设计的身份,不需要交互式MFA,完美适配无人值守的脚本场景。

操作步骤:

  • 先在目标租户中注册一个服务主体,并给它分配你的自动化任务所需的权限(比如Directory Readers、User Administrator等,根据实际需求调整)
  • 生成服务主体的客户端密钥(Client Secret)
  • 用以下命令连接Azure AD:
    $tenantId = "你的目标租户ID"
    $clientId = "服务主体的Client ID"
    $clientSecret = ConvertTo-SecureString "服务主体的客户端密钥" -AsPlainText -Force
    $spCredential = New-Object System.Management.Automation.PSCredential($clientId, $clientSecret)
    
    Connect-AzureAD -TenantId $tenantId -Credential $spCredential -ServicePrincipal
    

2. 给委托账户添加MFA豁免(不推荐,仅应急用)

如果因为某些限制必须使用这个委托账户,你可以修改租户的条件访问策略,给该账户开MFA豁免:

  • 登录Azure门户,进入Azure AD > 安全 > 条件访问
  • 找到要求MFA的那条策略,进入编辑页面
  • 在「排除」选项卡中,把你的委托账户添加到排除列表里
  • 保存策略后,再用原命令尝试连接

⚠️ 注意:这种方式会降低账户的安全性,只建议在无法使用服务主体的特殊场景下临时使用,用完最好及时恢复MFA要求。

3. 使用设备代码流认证(适合半自动化场景)

如果你的自动化任务不是完全无人值守,偶尔可以手动介入,那么可以用设备代码流完成MFA认证:

Connect-AzureAD -TenantId $id -DeviceCode

执行命令后,控制台会输出一个链接和设备代码,你需要在浏览器中打开链接,输入代码并完成MFA验证,验证成功后脚本会获得令牌并继续执行。这种方式的令牌会缓存一段时间,但到期后还是需要手动重新验证,所以不适合长期无人值守的自动化任务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 07:47:37