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

Terraform管理下,SCIM同步AAD组分配Databricks管理员角色失败

解决Azure Databricks通过Terraform分配SCIM同步组为工作区管理员的报错问题

错误原因

databricks_permission_assignment资源仅适用于对象级权限分配(如集群、作业、笔记本、仓库等),无法用于分配全局工作区管理员角色。该资源的ADMIN权限是针对特定资源的,而非工作区全局权限,因此触发"Permission assignment APIs are not available for this workspace"错误。

Azure Databricks的工作区管理员角色分配分为两种模式:Azure RBAC集成模式(默认)和Databricks本地权限模式,不同模式对应不同的Terraform配置方式。


方案一:使用Azure RBAC分配工作区管理员(推荐,适用于Azure托管Databricks)

Azure Databricks默认与Azure RBAC集成,通过给AAD组分配Azure Databricks Workspace Admin角色,即可让组内成员自动获得Databricks工作区管理员权限,无需操作Databricks端的SCIM组权限。

配置代码:

# 获取目标AAD管理员组的ID(直接使用AAD组,而非SCIM同步后的Databricks组)
data "azuread_group" "aad_admin_group" {
  display_name = "你的AAD管理员组名称"
}

# 分配Azure Databricks Workspace Admin角色
resource "azurerm_role_assignment" "databricks_workspace_admin" {
  scope                = data.azurerm_databricks_workspace.adb_ws.id
  role_definition_name = "Azure Databricks Workspace Admin"
  principal_id         = data.azuread_group.aad_admin_group.id
}

方案二:使用Databricks本地权限配置(适用于禁用Azure RBAC的工作区)

如果你的Databricks工作区禁用了Azure RBAC集成,可通过databricks_workspace_conf资源直接配置工作区管理员组:

配置代码:

resource "databricks_workspace_conf" "admin_groups" {
  custom_config = {
    # 多个管理员组用英文逗号分隔
    "workspace.admin.groups" = data.databricks_group.dbricks_admin_group.id
  }
}

注意事项

  • 使用方案一时,无需再操作Databricks端的组权限,Azure RBAC会自动同步权限到Databricks平台。
  • SCIM同步的组由AAD管控,请勿直接修改Databricks端的组角色,避免与SCIM同步逻辑冲突。
  • 当前配置的Terraform Provider版本(azurerm >=3.8.0、databricks >=1.6.3)均支持上述两种方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 02:20:47