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

如何通过Terraform在AzureAD中为特定应用禁用MFA?

针对特定AzureAD应用禁用所有用户MFA的实现方案

可行,但无法直接通过azuread_application资源配置——这个资源仅负责应用注册本身的基础属性,MFA管控属于身份验证策略范畴,需要通过条件访问策略实现,对应Terraform的azuread_conditional_access_policy资源。

具体实现步骤

  1. 引用已注册的目标应用
    通过data块获取你已创建的AzureAD应用的ID,用于后续条件访问策略的目标指定。
  2. 创建条件访问策略
    定义策略的适用范围(所有用户+目标应用),并设置授予控制为不要求MFA。

Terraform代码示例

# 获取目标应用的信息
data "azuread_application" "target_app" {
  display_name = "你的应用显示名称"
}

# 创建跳过MFA的条件访问策略
resource "azuread_conditional_access_policy" "skip_mfa_for_target_app" {
  display_name = "Skip MFA for Target Application"
  state        = "enabled_for_reporting_but_not_enforced" # 先测试再改为enabled

  assignments {
    users {
      include = ["all"] # 应用于所有用户
      exclude = []      # 可添加例外用户/组ID,比如管理员
    }

    applications {
      include = [data.azuread_application.target_app.id] # 仅针对目标应用
      exclude = []
    }
  }

  grant_controls {
    operator = "OR"
    built_in_controls = [] # 不要求任何内置验证控制(即跳过MFA)
  }
}

注意事项

  • 确保使用的AzureAD Terraform Provider版本在v2.0及以上,否则不支持azuread_conditional_access_policy资源。
  • 测试阶段建议将state设为enabled_for_reporting_but_not_enforced,查看策略报告确认效果后,再改为enabled正式启用。
  • 为了安全性,建议添加例外用户(如全局管理员)到assignments.users.exclude,避免管理员账号跳过MFA。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 04:48:29