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

如何使用Terraform在Azure AD中配置紧急访问账户?

使用Terraform配置Azure AD紧急访问账户

步骤1:配置Azure AD Terraform提供商

首先要引入Azure AD的Terraform提供商,指定版本并配置认证方式(本地开发用az login即可,生产建议用服务主体):

terraform {
  required_providers {
    azuread = {
      source  = "hashicorp/azuread"
      version = "~> 2.41.0"
    }
  }
}

provider "azuread" {
  # 本地开发可直接用az login完成认证
  # 生产环境推荐配置服务主体参数:
  # client_id     = var.azuread_client_id
  # client_secret = var.azuread_client_secret
  # tenant_id     = var.azuread_tenant_id
}

步骤2:创建紧急访问用户账户

通过azuread_user资源创建专用的紧急访问账户,注意设置强密码且禁用首次登录改密码的强制要求:

resource "azuread_user" "emergency_access" {
  display_name        = "Emergency Global Admin"
  user_principal_name = "emergency@yourdomain.com"
  password            = var.emergency_account_password
  account_enabled     = true

  password_profile {
    force_change_password_next_login = false
  }
}

步骤3:分配全局管理员角色

先通过数据源获取全局管理员角色的ID,再将紧急账户绑定到该角色:

data "azuread_directory_role" "global_admin" {
  display_name = "Global Administrator"
}

resource "azuread_directory_role_assignment" "emergency_global_admin" {
  role_id               = data.azuread_directory_role.global_admin.id
  principal_object_id   = azuread_user.emergency_access.object_id
}

步骤4:变量配置(必做,避免硬编码敏感信息)

定义敏感变量存储密码,不要直接写在代码里:

variable "emergency_account_password" {
  type        = string
  sensitive   = true
  description = "强密码(至少12位,包含大小写、数字、特殊字符)"
}

关键注意事项

  • 密码必须符合Azure AD强密码标准,建议通过Terraform环境变量、密钥管理工具动态传入,绝对禁止硬编码
  • 紧急访问账户要使用独立的邮箱地址,不要关联到普通员工的个人邮箱
  • 执行Terraform的账户必须拥有特权角色管理员或全局管理员权限
  • 部署完成后务必测试:用该账户登录Azure门户,验证全局管理员权限是否生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 10:45:40