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

Azure Pipeline执行Terraform部署Databricks时默认凭据配置失败

问题分析与解决方案

这个错误是Terraform的Databricks Provider在访问Databricks工作区API获取Spark版本时,认证配置失效导致的。虽然你已配置ARM相关环境变量,但Databricks Provider需要明确关联刚创建的工作区,且认证参数要正确传递。以下是具体解决步骤:

1. 显式配置Databricks Provider参数

在Terraform代码中添加Databricks Provider块,直接关联刚创建的工作区资源与服务主体认证信息,避免依赖默认profile的不确定性:

provider "databricks" {
  # 绑定刚创建的Databricks工作区URL
  host                        = "https://${azurerm_databricks_workspace.dbw-uks.workspace_url}"
  # 服务主体凭据,可从变量或环境变量读取
  azure_client_id             = var.azure_client_id
  azure_client_secret         = var.azure_client_secret
  azure_tenant_id             = var.azure_tenant_id
  # 关联Azure中Databricks工作区的资源ID,确保权限验证链路完整
  azure_workspace_resource_id = azurerm_databricks_workspace.dbw-uks.id
}

2. 验证Azure Pipeline环境变量传递

确保Terraform执行任务中已正确传递以下环境变量:

  • ARM_CLIENT_ID:服务主体的客户端ID
  • ARM_CLIENT_SECRET:服务主体的客户端密钥
  • ARM_TENANT_ID:服务主体所属的Azure AD租户ID

如果用Terraform变量存储这些值,需确认变量已通过Pipeline变量组或秘密变量正确注入。

3. 补全服务主体权限

除Databricks账户管理员角色外,需确保服务主体在Azure资源层面拥有:

  • 对Databricks工作区资源的Contributor或Owner角色(可在Azure Portal的工作区IAM设置中添加)
  • Microsoft.Databricks/workspaces/read权限,确保能读取工作区配置信息

4. 简化依赖配置(可选)

由于databricks_spark_version和databricks_node_type已通过Provider关联工作区资源,Terraform会自动处理依赖关系,可移除这两个数据资源中的depends_on块,简化代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:13:16