管理对 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
或接收者所有者)拥有委托权限或所有权。
目录资源管理器
若要将接收者添加到共享(从共享开始),请执行以下操作:
在 Azure Databricks 工作区中,单击 “目录”。
在“目录”窗格顶部,单击 齿轮图标,然后选择“Delta Sharing”。
或者,在“快速访问”页中,单击“Delta Sharing”> 按钮。
在“与我共享的内容”选项卡上,查找并选择共享。
单击“添加接收者”。
在“添加接收者”对话框中,开始键入接收者姓名,或单击下拉菜单以选择要添加到共享的接收者。
单击“添加” 。
若要向收件人授予共享访问权限(从收件人开始),请执行以下操作:
在 Azure Databricks 工作区中,单击 “目录”。
在“目录”窗格顶部,单击 齿轮图标,然后选择“Delta Sharing”。
或者,在“快速访问”页中,单击“Delta Sharing”> 按钮。
在“与我共享的内容”选项卡上,单击“收件人”并选择收件人。
单击“授予共享”。
在“授予共享”对话框中,开始键入共享名称,或单击下拉菜单以选择要授予的共享。
单击“授予”。
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
权限的用户,或共享对象所有者。
目录资源管理器
若要撤销接收者对共享的访问权限(从共享开始),请执行以下操作:
在 Azure Databricks 工作区中,单击 “目录”。
在“目录”窗格顶部,单击 齿轮图标,然后选择“Delta Sharing”。
或者,在“快速访问”页中,单击“Delta Sharing”> 按钮。
在“与我共享的内容”选项卡上,查找并选择共享。
在“接收者”选项卡上查找接收者。
单击 烤肉串菜单,然后选择“撤销”。
在确认对话框中,单击“撤销”。
若要撤销接收者对共享的访问权限(从接收者开始),请执行以下操作:
在 Azure Databricks 工作区中,单击“ 目录”。
在“目录”窗格顶部,单击 齿轮图标,然后选择“Delta Sharing”。
或者,在“快速访问”页中,单击“Delta Sharing”> 按钮。
在“与我共享的内容”选项卡上,单击“收件人”并选择收件人。
在“共享”选项卡上查找共享。
单击共享行上的 烤肉串菜单,然后选择“撤销”。
在确认对话框中,单击“撤销”。
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
权限的用户,或接收者对象所有者。
目录资源管理器
若要查看有权访问某个共享的接收者,请执行以下操作:
在 Azure Databricks 工作区中,单击 “目录”。
在“目录”窗格顶部,单击 齿轮图标,然后选择“Delta Sharing”。
或者,在“快速访问”页中,单击“Delta Sharing”> 按钮。
在“与我共享的内容”选项卡上,查找并选择共享。
转到“接收者”选项卡以查看有权访问该共享的所有接收者。
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 命令。
目录资源管理器
若要查看授予接收者的共享,请执行以下操作:
在 Azure Databricks 工作区中,单击 “目录”。
在“目录”窗格顶部,单击 齿轮图标,然后选择“Delta Sharing”。
或者,在“快速访问”页中,单击“Delta Sharing”> 按钮。
在“与我共享的内容”选项卡上,单击“收件人”并选择收件人。
转到“共享”选项卡以查看接收者有权访问的所有共享。
SQL
在笔记本或 Databricks SQL 查询编辑器中运行以下命令。
SHOW GRANTS TO RECIPIENT <recipient-name>;
CLI
使用 Databricks CLI 运行以下命令。
databricks recipients share-permissions <recipient-name>