管理对 Delta Sharing 数据共享的访问权限(针对提供者)

本文介绍如何为数据接收者授予对 Delta Sharing 共享的访问权限。 其中还将介绍如何查看、更新和撤销访问权限。

要求

若要与接收者共享数据:

  • 必须使用附加了 Unity Catalog 元存储的 Azure Databricks 工作区。
  • 必须使用一个采用支持 Unity Catalog 的群集访问模式的 SQL 仓库或群集。
  • 共享和接收者必须已定义。
  • 你必须拥有下列身份之一:
    • 元存储管理员。
    • 对共享和接收者对象((USE SHARE + SET SHARE PERMISSION) 或共享所有者)和(USE RECIPIENT 或接收者所有者)拥有委托权限或所有权的用户。

为接收者授予对共享的访问权限

若要向接收者授予共享访问权限,可以使用目录资源管理器、Databricks Unity Catalog CLI,或者 Azure Databricks 笔记本或 Databricks SQL 查询编辑器中的 SQL 命令。

所需的权限:下列其中一项:

  • 元存储管理员。
  • 对共享和接收者对象((USE SHARE + SET SHARE PERMISSION) 或共享所有者)和(USE RECIPIENT 或接收者所有者)拥有委托权限或所有权。

目录资源管理器

若要将接收者添加到共享(从共享开始),请执行以下操作:

  1. 在 Azure Databricks 工作区中,单击 “目录”图标目录”。

  2. 在“目录”窗格顶部,单击 齿轮图标 齿轮图标,然后选择“Delta Sharing”

    或者,在“快速访问”页中,单击“Delta Sharing”> 按钮。

  3. 在“与我共享的内容”选项卡上,查找并选择共享。

  4. 单击“添加接收者”。

  5. 在“添加接收者”对话框中,开始键入接收者姓名,或单击下拉菜单以选择要添加到共享的接收者。

  6. 单击“添加” 。

若要向收件人授予共享访问权限(从收件人开始),请执行以下操作:

  1. 在 Azure Databricks 工作区中,单击 “目录”图标目录”。

  2. 在“目录”窗格顶部,单击 齿轮图标 齿轮图标,然后选择“Delta Sharing”

    或者,在“快速访问”页中,单击“Delta Sharing”> 按钮。

  3. 在“与我共享的内容”选项卡上,单击“收件人”并选择收件人。

  4. 单击“授予共享”。

  5. 在“授予共享”对话框中,开始键入共享名称,或单击下拉菜单以选择要授予的共享。

  6. 单击“授予”

SQL

在笔记本或 Databricks SQL 查询编辑器中运行以下命令。

GRANT SELECT ON SHARE <share-name> TO RECIPIENT <recipient-name>;

SELECT 是可为共享接收者授予的唯一一项特权。

CLI

使用 Databricks CLI 运行以下命令。 将 <share-name> 替换为要授予收件人的共享的姓名,并将 <recipient-name> 替换为收件人的姓名。 SELECT 是可以在共享上授予的唯一一项特权。

databricks shares update <share-name> \
--json='{
  "changes": [
    {
      "principal": "<recipient-name>",
      "add": [
        "SELECT"
      ]
    }
  ]
}'

撤销接收者对共享的访问权限

若要撤销接收者对共享的访问权限,可使用目录资源管理器、Databricks Unity Catalog CLI,或者 Azure Databricks 笔记本或 Databricks SQL 查询编辑器中的 REVOKE ON SHARE SQL 命令。

所需权限:元存储管理员、具有 USE SHARE 权限的用户,或共享对象所有者。

目录资源管理器

若要撤销接收者对共享的访问权限(从共享开始),请执行以下操作:

  1. 在 Azure Databricks 工作区中,单击 “目录”图标目录”。

  2. 在“目录”窗格顶部,单击 齿轮图标 齿轮图标,然后选择“Delta Sharing”

    或者,在“快速访问”页中,单击“Delta Sharing”> 按钮。

  3. 在“与我共享的内容”选项卡上,查找并选择共享。

  4. 在“接收者”选项卡上查找接收者。

  5. 单击 Kebab 菜单 烤肉串菜单,然后选择“撤销”。

  6. 在确认对话框中,单击“撤销”。

若要撤销接收者对共享的访问权限(从接收者开始),请执行以下操作:

  1. 在 Azure Databricks 工作区中,单击““目录”图标 目录”

  2. 在“目录”窗格顶部,单击 齿轮图标 齿轮图标,然后选择“Delta Sharing”

    或者,在“快速访问”页中,单击“Delta Sharing”> 按钮。

  3. 在“与我共享的内容”选项卡上,单击“收件人”并选择收件人。

  4. 在“共享”选项卡上查找共享。

  5. 单击共享行上的 Kebab 菜单 烤肉串菜单,然后选择“撤销”。

  6. 在确认对话框中,单击“撤销”。

SQL

在笔记本或 Databricks SQL 查询编辑器中运行以下命令。

REVOKE SELECT ON SHARE <share-name> FROM RECIPIENT <recipient-name>;

CLI

使用 Databricks CLI 运行以下命令。 将 <share-name> 替换为要删除收件人的共享的姓名,并将 <recipient-name> 替换为收件人的姓名。 SELECT 是可为接收者移除的唯一一项特权。

databricks shares update <share-name> \
--json='{
  "changes": [
    {
      "principal": "<recipient-name>",
      "remove": [
        "SELECT"
      ]
    }
  ]
}'

查看共享的权限授予或接收者拥有的权限

要查看共享的当前权限授予,可以使用目录资源管理器、Databricks Unity Catalog CLI,或者 Azure Databricks 笔记本或 Databricks SQL 查询编辑器中的 SHOW GRANTS ON SHARE SQL 命令。

所需权限:如果你要查看为接收者授予的对共享的访问权限,你必须是元存储管理员、具有 USE SHARE 权限的用户,或共享对象所有者。 如果你要查看授予接收者的共享,你必须是元存储管理员、具有 USE RECIPIENT 权限的用户,或接收者对象所有者。

目录资源管理器

若要查看有权访问某个共享的接收者,请执行以下操作:

  1. 在 Azure Databricks 工作区中,单击 “目录”图标目录”。

  2. 在“目录”窗格顶部,单击 齿轮图标 齿轮图标,然后选择“Delta Sharing”

    或者,在“快速访问”页中,单击“Delta Sharing”> 按钮。

  3. 在“与我共享的内容”选项卡上,查找并选择共享。

  4. 转到“接收者”选项卡以查看有权访问该共享的所有接收者。

SQL

在笔记本或 Databricks SQL 查询编辑器中运行以下命令。

SHOW GRANT ON SHARE <share-name>;

CLI

使用 Databricks CLI 运行以下命令。

databricks shares share-permissions <share-name>

若要查看接收者当前拥有的共享权限,可以使用目录资源管理器、Databricks CLI,或者 Azure Databricks 笔记本或 Databricks SQL 查询编辑器中的 SHOW GRANTS TO RECIPIENT SQL 命令。

目录资源管理器

若要查看授予接收者的共享,请执行以下操作:

  1. 在 Azure Databricks 工作区中,单击 “目录”图标目录”。

  2. 在“目录”窗格顶部,单击 齿轮图标 齿轮图标,然后选择“Delta Sharing”

    或者,在“快速访问”页中,单击“Delta Sharing”> 按钮。

  3. 在“与我共享的内容”选项卡上,单击“收件人”并选择收件人。

  4. 转到“共享”选项卡以查看接收者有权访问的所有共享。

SQL

在笔记本或 Databricks SQL 查询编辑器中运行以下命令。

SHOW GRANTS TO RECIPIENT <recipient-name>;

CLI

使用 Databricks CLI 运行以下命令。

databricks recipients share-permissions <recipient-name>