查询访问控制

重要

此功能目前以公共预览版提供。

使用查询访问控制时,用户的操作能力取决于单个权限。 本文介绍各个权限以及配置查询访问控制的方式。

查询权限

查询有四个权限级别:“无权限”、“可运行”、“可编辑”和“可管理” 。 该表列出了每个权限赋予用户的能力。

能力 无权限 可运行 可编辑 可管理
查看自己的查询 x x x
在查询列表中查看 x x x
查看查询文本 x x x
查看查询结果 x x x
刷新查询结果(或选择其他参数) x x x
在仪表板中包含查询 x x x
编辑查询文本 x (1) x
更改 SQL 终结点或数据源 x
修改权限 x
删除查询 x

(1) 需要" 运行为查看器共享"设置

注意

用于执行查询的主体是创建查询的用户,而不是单击“刷新”按钮的用户。

共享设置

仪表板支持两种类型的共享设置:“以查看者身份运行”和“以所有者身份运行” 。

若要配置共享设置,请执行以下操作:

  1. 单击 侧栏中的"查询 "图标查询。
  2. 单击查询。
  3. 单击 右上方的 "共享按钮"按钮。 这会显示“管理权限”对话框。
  4. 在底部的 "共享 设置凭据" 字段中,选择:
    • 以查看者身份运行:使用查看者的凭据执行查询。
    • 以所有者身份运行:使用所有者的凭据执行查询。

接受“以查看者身份运行”后,不能再将凭据更改回“以所有者身份运行” 。 如果撤销所有共享,你将能够设置“凭据”。

使用 UI 管理查询权限

  1. 单击 侧栏中的"查询 "图标查询。

  2. 单击查询。

  3. 单击 右上方的 "共享按钮"按钮。 这会显示“管理权限”对话框。

    管理查询权限

  4. 根据要授予的权限类型,执行以下步骤:

    • “可编辑”权限
      1. 选择" 运行为查看器共享"设置
      2. 单击顶部字段以添加用户或组。
      3. 选择“可编辑”权限。
      4. 单击“添加”。
    • “可运行”权限
      1. 单击顶部字段以添加用户或组。
      2. 选择“可运行”权限。
      3. 单击 “添加”
  5. 关闭对话框。

使用 API 管理查询权限

若要使用 API 管理查询权限,请在 /2.0/preview/sql/permissions/queries/<query-id> REST 终结点上调用方法。 例如,若要为 用户设置"可以 管理"权限, 请使用 curl 运行以下命令:

curl -u 'token:<personal-access-token>' https://<databricks-instance>/api/2.0/preview/sql/permissions/queries/<query-id> -X POST -d '{ "access_control_list": [ { "user_name": user@example.com", "permission_level": "CAN_MANAGE" } ] }'

将:

  • <databricks-instance> 使用 <databricks-instance> Azure Databricks URL。
  • <personal-access-token> 使用 <personal-access-token>
  • <query-id> 具有查询 ID 的 。

重要

由于这是一 POST 种方法,因此将覆盖所有现有权限。 若要保留任何现有权限,必须将其添加到 access_control_list 数组中。 在上例中,将包含要保留的现有权限以及用户 的新 "可管理 "权限