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

如何在部署脚本中使用启用MFA的用户登录Azure?

解决MFA启用后Jenkins中AZ CLI无交互登录问题

针对启用MFA后无法用用户名密码登录的问题,推荐以下几种适合Jenkins自动化场景的AZ CLI登录方式:

  • 服务主体登录(最常用的自动化方案)

    1. 先创建一个服务主体并分配权限:
      az ad sp create-for-rbac --name <你的服务主体名称> --role <所需权限角色,比如Contributor> --scopes /subscriptions/<你的订阅ID>
      
      执行后会返回appId、password、tenantId三个关键信息,务必妥善保存。
    2. 在Jenkins脚本中用服务主体登录:
      az login --service-principal -u <刚才的appId> -p <刚才的password> --tenant <刚才的tenantId>
      az account set --subscription <你的订阅ID>
      
      注意:密码不要硬编码在脚本里,建议存在Jenkins的凭据管理系统中,通过变量引用。
  • Azure托管标识登录(最安全的无凭据方案)
    如果你的Jenkins部署在Azure的VM、VMSS或者App Service上,可以用托管标识实现免密登录:

    1. 给Jenkins所在的Azure资源启用系统分配或用户分配的托管标识
    2. 给这个托管标识分配对应Azure订阅或资源的权限
    3. 脚本里直接用标识登录,无需任何凭据:
      az login --identity
      az account set --subscription <你的订阅ID>
      
  • 设备代码登录(仅临时调试用)
    这种方式需要手动交互完成MFA验证,不适合长期自动化脚本,仅用于临时测试:

    az login --use-device-code
    

    执行后会给出一个链接和验证码,打开链接输入验证码完成验证后,当前会话即可正常执行后续命令,但重启Jenkins后需要重新操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 06:22:05