在 Unity Catalog 中管理权限

本文介绍如何控制对 Unity Catalog 中的数据和其他对象的访问。

可以使用目录资源管理器、笔记本中的 SQL 语句或 Databricks SQL 查询、使用 Unity Catalog REST API,或使用 Terraform 来设置访问控制。

最初,用户无权访问元存储中的数据。 访问权限可由元存储管理员、对象所有者或包含对象的目录或架构的所有者授予。

管理员权限

Azure Databricks 帐户管理员、工作区管理员和元存储管理员拥有的默认权限可以管理 Unity Catalog。 请参阅 Unity Catalog 中的管理员权限

对象所有权

Unity Catalog 中的所有安全对象都具有所有者。 对象所有者拥有该对象的全部特权,包括向其他主体授予特权的能力。 请参阅管理 Unity Catalog 对象所有权

Unity Catalog 特权

访问特权可由元存储管理员、对象所有者或包含该对象的目录或架构的所有者授予。 请参阅 Unity Catalog 特权和安全对象

特权继承

Unity Catalog 中的安全对象是分层的,特权是向下继承的。 这意味着在授予对目录的某个特权时,会自动向目录中的所有当前架构和未来架构授予该特权。 同样,对架构授予的特权由该架构中所有当前和未来对象继承。 请参阅继承模型

注意

如果在公共预览期间(2022 年 8 月 25 日之前)创建了 Unity Catalog 元存储,可以升级到具有特权继承功能的特权模型版本 1.0。 请参阅升级到特权继承

基本对象特权

Unity Catalog 支持将 SQL 关键字 SHOWGRANTREVOKE 用于管理对目录、架构、表、视图和函数的特权。

对象的所有者或元存储管理员可以列出该对象的所有授权。 如果对象包含在目录或架构(例如,表或视图)中,目录或架构的所有者还可以列出对象的所有授权。

有关此语法的示例,请参阅 SQL 参考文档:

目录资源管理器提供了用于完成这些操作的 UI;请参阅在目录资源管理器中管理 Unity Catalog 权限

转让所有权

要在元存储中转移对象的所有权,可以使用 SQL 或目录资源管理器。 请参阅管理 Unity Catalog 对象所有权在目录资源管理器中管理 Unity Catalog 对象所有权

管理外部位置和存储凭据

可以使用目录资源管理器为 Unity Catalog 配置外部位置和存储凭据。 有关详细信息,请参阅管理存储凭据管理外部位置

动态视图

动态视图允许通过筛选或屏蔽其值来管理哪些用户有权访问视图的行、列甚至特定记录。 请参阅创建动态视图