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

如何使用带account_admin权限的服务主体配置账户级Databricks Terraform提供商?

解决Databricks Terraform提供商服务主体认证问题

核心问题澄清

服务主体没有独立的account_id,你混淆了两个完全不同的概念:

  • Databricks的account_id是整个账户的全局唯一标识,不管是真实用户还是服务主体,都归属于同一个账户,所以配置提供商时的account_id必须是账户本身的ID,而非服务主体的应用ID。
  • 用真实用户的account_id能正常工作,是因为这个ID确实对应你的Databricks账户;而服务主体的应用ID和账户ID毫无关联,因此会触发租户ID获取失败的错误。

正确配置步骤

  1. 获取真实的Databricks账户ID

    • 登录Azure Databricks账户控制台(https://accounts.azuredatabricks.net)
    • 进入「设置」页面,账户ID会显示在页面顶部或账户信息区域
  2. 补充服务主体的认证凭据
    仅指定account_id无法完成服务主体认证,需要补充完整的认证参数,示例配置如下:

    provider "databricks" {
      alias         = "account-level"
      host          = "https://accounts.azuredatabricks.net"
      account_id    = "你的真实账户ID"
      auth_type     = "service_principal"
      client_id     = "服务主体的应用ID"
      client_secret = "服务主体的客户端密钥"
      tenant_id     = "Azure租户ID"
    }
    
  3. 确认服务主体权限
    确保该服务主体已被授予Databricks账户的account_admin权限:

    • 在账户控制台的「用户与组」→「服务主体」中找到目标主体
    • 为其分配account_admin角色

错误原因解析

Failed to retrieve tenant ID for given token错误的本质是:用服务主体应用ID作为account_id后,Terraform无法关联到正确的Azure租户和Databricks账户,导致整个认证流程中断。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 10:59:53