Unity Catalog 中的特权和安全对象

适用于:勾选“是” Databricks SQL 勾选“是” Databricks Runtime 勾选“是” 仅 Unity Catalog

特权是指授予主体的对元存储中的安全对象进行操作的权利。 特权模型和安全对象因你使用的是 Unity Catalog 元存储还是旧版 Hive 元存储而有所不同。 本文介绍 Unity Catalog 的特权模型。 如果使用 Hive 元存储,请参阅 Hive 元存储中的特权和安全对象

注意

本文参考特权模型 1.0 版中的 Unity Catalog 特权和继承模型。 如果在公共预览期间(2022 年 8 月 25 日之前)创建了 Unity Catalog 元存储,则可能使用的是不支持当前继承模型的更早版本特权模型。 可以升级到权限模型版本 1.0 来获得权限继承。 请参阅升级到特权继承

安全对象

安全对象是在 Unity Catalog 元存储中定义的对象,可以在其上向主体授予特权。 有关 Unity 目录安全对象的完整列表以及可对其授予的权限,请参阅 Unity Catalog 特权和安全对象

若要管理对任何对象的特权,你必须是其所有者。

语法

securable_object
  { CATALOG [ catalog_name ] |
    CONNECTION connection_name |
    CLEAN ROOM clean_room_name |
    EXTERNAL LOCATION location_name |
    FUNCTION function_name |
    METASTORE |
    SCHEMA schema_name |
    SHARE share_name |
    STORAGE CREDENTIAL credential_name |
    [ TABLE ] table_name |
    MATERIALIZED VIEW view_name |
    VIEW view_name |
    VOLUME volume_name
  }

还可以指定 SERVER 而不是 CONNECTION,指定 DATABASE 而不是 SCHEMA

parameters

权限类型

有关特权类型的列表,请参阅 Unity Catalog 特权和安全对象

示例

-- Grant a privilege to the user alf@melmak.et
> GRANT SELECT ON TABLE t TO `alf@melmak.et`;

-- Revoke a privilege from the general public group.
> REVOKE USE SCHEMA ON SCHEMA some_schema FROM `alf@melmak.et`;