使用Terraform创建Azure Databricks Unity Catalog元存储遇权限错误
解决Azure Databricks Unity Catalog元存储创建权限问题
问题重现
执行Terraform创建元存储时触发权限错误:
Error: cannot create metastore: Only account admin can create metastores. \ Using databricks-cli auth: host=https://{wsname}.azuredatabricks.net, \ token=***REDACTED***, profile=DEFAULT
对应的Terraform配置:
resource "databricks_metastore" "this" { name = "primary" storage_root = format("abfss://%s@%s.dfs.core.windows.net/", azurerm_storage_account.storage.name, azurerm_storage_container.container.name) force_destroy = true } resource "databricks_metastore_assignment" "this" { metastore_id = databricks_metastore.this.id workspace_id = data.azurerm_databricks_workspace.oat.workspace_id }
核心原因
创建Unity Catalog元存储要求操作账号必须拥有Azure Databricks账户管理员权限,当前Terraform使用的认证令牌对应的账号不具备该权限。
查看账户管理员的方法
- 登录Azure Databricks账户控制台(地址格式为
https://accounts.azuredatabricks.net,注意不是单个工作区的控制台) - 点击左侧导航栏的「用户」选项
- 在用户列表里找到「账户管理员」列,标记为“是”的用户就是拥有账户管理员权限的账号
- 额外说明:Azure订阅中拥有
Microsoft.Databricks/accounts/write权限的用户,默认会成为Databricks账户管理员
解决步骤
- 用账户管理员身份登录目标Databricks工作区
- 进入「用户设置」-「访问令牌」,点击「生成新令牌」,设置合适的有效期和权限范围后生成
- 更新Terraform的认证配置,替换为新生成的令牌
- 重新执行
terraform apply命令
内容的提问来源于stack exchange,提问作者ErikR
相关产品推荐
相关产品推荐

