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

如何让DE/ML角色强制使用Databricks SQL权限模型并自主创建集群?

解决方案

方法1:使用Unity Catalog统一权限模型(推荐)

放弃在集群策略中直接配置存储的Spark认证参数,改用Unity Catalog实现跨SQL/DE/ML的统一权限:

  • 在Unity Catalog中创建外部位置,配置好访问数据湖的Service Principal或托管身份权限,无需在集群中暴露密钥。
  • 修改集群策略,强制启用Unity Catalog并保留Table ACLs配置:
    "spark_conf.spark.databricks.unityCatalog.enabled": {
      "type": "fixed",
      "value": "true"
    },
    "spark_conf.spark.databricks.acl.dfAclsEnabled": {
      "type": "fixed",
      "value": "true"
    }
    
  • 用户创建集群后,直接通过Unity Catalog中分配的Schema/Table权限访问数据,完全复用Databricks SQL的权限体系,无需处理存储认证的secret。

方法2:授予用户群组有限的Secret访问权限

如果必须保留现有存储认证方式,可给DE/ML用户所在群组授予目标Secret的只读权限(而非整个Secret Scope):

  • 在Databricks Secrets界面,找到SQLEndpoint Scope,给用户群组添加对ClientID和ClientSecret这两个Secret的READ权限。
  • 这样用户创建集群时,集群策略中的Secret引用能正常解析,同时用户无法访问该Scope下的其他Secret,保证安全性。

方法3:使用Azure托管身份替代Client Credentials

针对Azure环境,改用托管身份访问ADLS Gen2,无需嵌入Client Secret:

  • 给Databricks工作区的系统分配/用户分配托管身份授予数据湖的Blob存储Reader/Contributor权限。
  • 修改集群策略中的Spark配置为托管身份认证方式:
    "spark_conf.spark.hadoop.fs.azure.account.auth.type.datalake.dfs.core.windows.net": {
      "type": "fixed",
      "value": "OAuth"
    },
    "spark_conf.spark.hadoop.fs.azure.account.oauth.provider.type.datalake.dfs.core.windows.net": {
      "type": "fixed",
      "value": "org.apache.hadoop.fs.azurebfs.oauth2.MsiTokenProvider"
    },
    "spark_conf.spark.hadoop.fs.azure.account.oauth2.client.id.datalake.dfs.core.windows.net": {
      "type": "fixed",
      "value": "<你的托管身份Client ID>"
    },
    "spark_conf.spark.hadoop.fs.azure.account.oauth2.msi.endpoint.datalake.dfs.core.windows.net": {
      "type": "fixed",
      "value": "https://management.azure.com/subscriptions/<订阅ID>/resourceGroups/<资源组>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<托管身份名称>/?api-version=2018-11-30"
    }
    
  • 这种方式下,用户创建集群时无需访问任何Secret,认证由Azure自动处理,集群策略可正常生效。

方法4:预配置共享集群并开放附加权限

如果以上方法都不适用,可预创建符合要求的共享集群,同时开放用户附加权限:

  • 管理员创建启用Table ACLs和存储认证的共享集群。
  • 给用户群组授予该集群的Attach权限,用户可直接使用该集群,无需自行创建,仍能复用Databricks SQL的权限模型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:07:00