强制 Databricks SQL 样式权限,即使对于数据工程和机器学习角色也是如此

问题描述 投票:0回答:0

作为管理员,我希望用户被迫使用 Databricks SQL 风格的权限模型,即使在数据工程和机器学习配置文件中也是如此。

在 Databricks SQL 中,我有一个数据访问策略集,我的 sql 端点/仓库使用它并且模式具有分配给组的权限。用户通过端点查询数据并查看他们有权访问的内容。所以,这很好用。

我希望在数据工程和机器学习角色中发生同样的事情。

作为第一步,我设置了一个集群策略,它定义了 spark 配置(在连接到数据湖的秘密范围内)并且还强制表 ACL。 问题是非管理员,没有权限读取秘密范围。

有没有办法,我仍然可以通过定义的集群策略灵活地让他们创建自己的集群,并仍然强制表 ACL?

我读过的大多数文档似乎都指出我必须明确创建集群供他们使用(共享集群)。

有没有办法解决这个问题。

例如这就是我第一次尝试集群策略的样子(模仿 SQL 端点的数据访问策略)

{
  "cluster_type": {
    "type": "fixed",
    "value": "all-purpose"
  },
  "num_workers": {
    "type": "range",
    "maxValue": 4,
    "isOptional": true
  },
  "autotermination_minutes": {
    "type": "range",
    "minValue": 1,
    "maxValue": 60,
    "defaultValue": 60
  },
  "autoscale.max_workers": {
    "type": "range",
    "maxValue": 4,
    "isOptional": true
  },
  "spark_conf.spark.databricks.acl.dfAclsEnabled": {
    "type": "fixed",
    "value": "true"
  },
  "spark_conf.spark.databricks.repl.allowedLanguages": {
    "type": "fixed",
    "value": "python,sql"
  },
  "spark_conf.spark.databricks.cluster.profile": {
    "type": "fixed",
    "value": "serverless"
  },
  "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.ClientCredsTokenProvider"
  },
  "spark_conf.spark.hadoop.fs.azure.account.oauth2.client.id.datalake.dfs.core.windows.net": {
    "type": "fixed",
    "value": "{{secrets/SQLEndpoint/ClientID}}"
  },
  "spark_conf.spark.hadoop.fs.azure.account.oauth2.client.secret.datalake.dfs.core.windows.net": {
    "type": "fixed",
    "value": "{{secrets/SQLEndpoint/ClientSecret}}"
  },
  "spark_conf.spark.hadoop.fs.azure.account.oauth2.client.endpoint.datalake.dfs.core.windows.net": {
    "type": "fixed",
    "value": "https://login.microsoftonline.com/123456/oauth2/token"
  }
}

但问题当然是,他们(非管理员)无权读取用于连接到数据湖的秘密范围。 即没有阅读权限

{{secrets/SQLEndpoint/ClientSecret}}

没有办法让他们可以创建自己的集群(通过定义的策略)并拥有数据块 sql 样式的权限吗?

唯一的出路是我事先创建一个共享集群供他们使用吗?

databricks azure-databricks
© www.soinside.com 2019 - 2024. All rights reserved.