Azure Databricks账户级SCIM配置下的权限分配及Terraform实现问询
问题解答
核心结论
完全可以通过账户级SCIM实现你的需求,无需切换到工作区级SCIM,这也符合微软推荐的最佳实践。
具体实现方式
1. 账户级SCIM组同步与工作区权限分配逻辑
账户级SCIM会将Azure AD中的Finance-Admin、Finance-Users组同步到Databricks账户层面(组在账户全局可见),之后你可以针对特定工作区(比如Finance工作区)为这些组分配差异化权限:
- 给
Finance-Admin组分配Cluster Creator(创建集群)和Instance Pool Admin(添加节点池)权限 - 给
Finance-Users组分配Cluster Restart(重启集群)权限
这种模式下,组的生命周期由Azure AD统一管理,权限则在工作区维度做精细化控制,既避免了工作区级SCIM的重复组管理,又能满足多工作区的权限隔离需求。
2. Terraform IaC自动化配置示例
使用Databricks Terraform Provider可以直接对同步后的组进行工作区权限配置,示例代码如下:
# 引用已通过账户级SCIM同步的AD组 data "databricks_group" "finance_admin" { display_name = "Finance-Admin" } data "databricks_group" "finance_users" { display_name = "Finance-Users" } # 为Finance-Admin组配置Finance工作区的集群创建与节点池管理权限 resource "databricks_permissions" "finance_admin_perms" { workspace_id = "<你的Finance工作区ID>" group { group_id = data.databricks_group.finance_admin.id permission_levels = [ "CLUSTER_CREATOR", "INSTANCE_POOL_ADMIN" ] } } # 为Finance-Users组配置Finance工作区的集群重启权限 resource "databricks_permissions" "finance_users_perms" { workspace_id = "<你的Finance工作区ID>" group { group_id = data.databricks_group.finance_users.id permission_levels = [ "CLUSTER_RESTART" ] } }
注意:确保Terraform Provider的认证配置能访问目标工作区,可通过账户级令牌或工作区级令牌实现。
为什么不需要工作区级SCIM
工作区级SCIM需要在每个工作区单独配置组同步,会导致组的重复创建与管理,增加运维复杂度。而账户级SCIM实现了组的全局统一管理,同时支持在工作区维度灵活分配权限,完全覆盖你的需求场景。
内容的提问来源于stack exchange,提问作者Pallab
相关产品推荐
相关产品推荐

