Terraform部署Databricks workspace后AD组用户无自动访问权限排查
为什么Azure AD组成员无法自动访问Databricks Workspace?
核心原因:Azure RBAC和Databricks权限是两套独立体系
- Azure资源组的
Owner角色只管控Azure层面的资源生命周期操作(比如修改Workspace的Azure配置、删除Workspace等),和Databricks内部的用户访问权限完全是两个独立的权限系统,不存在自动继承关系。 - 部署时你的个人用户和SPN被自动添加是Databricks的默认逻辑:这两个是执行部署操作的身份,会被自动授予Databricks管理员权限,但其他Azure AD用户/组不会被自动同步到Databricks内部。
自动同步必须配置SCIM Provisioning
要让AD组成员自动获得Databricks访问权限,必须手动开启SCIM自动身份同步——这是Azure AD与Databricks官方对接的用户/组同步机制:
- 未启用SCIM时,Databricks不会主动拉取Azure AD的用户/组信息,哪怕AD组拥有RG的Owner权限,成员在Databricks内部没有对应的身份记录,自然无法登录访问。
- 配置SCIM后,可设置同步规则,将指定Azure AD组同步到Databricks,还能自动给成员分配对应的Workspace权限(如普通用户、管理员等)。
Terraform部署的遗漏配置
用Terraform部署时,默认不会自动配置SCIM或AD组同步,需要补充以下内容:
- 给
azurerm_databricks_workspace添加azure_ad_admin块,指定默认的AD管理员组(可选,仅支持单个主体):resource "azurerm_databricks_workspace" "example" { name = "example-workspace" resource_group_name = azurerm_resource_group.example.name location = azurerm_resource_group.example.location azure_ad_admin { tenant_id = data.azurerm_client_config.current.tenant_id object_id = "<目标AD组的对象ID>" } } - 配合AzureAD Provider配置企业应用的SCIM连接,实现用户/组的自动同步。
快速解决步骤
- 在Azure AD中创建Databricks企业应用,开启SCIM provisioning功能
- 从Databricks Workspace的「用户设置」-「SCIM」页面,获取SCIM端点和认证令牌,填入Azure AD的SCIM配置中
- 设置同步规则,把需要访问的AD组映射到Databricks,并分配对应的权限角色
- 触发初始同步,验证AD组成员是否自动出现在Databricks用户列表里
内容的提问来源于stack exchange,提问作者Greencolor
相关产品推荐
相关产品推荐

