Unity 目錄中的許可權和可設置權限的物件
適用於: Databricks SQL Databricks Runtime Unity 目錄
許可權是授與主體對中繼存放區中安全性實體物件運作的許可權。 權限模型和可安全控制的對象會根據您使用的是 Unity Catalog 中繼存放區或舊版 Hive 中繼存放區而有所不同。 本文說明 Unity 目錄的許可權模型。 如果您使用Hive中繼存放區,請參閱 Hive中繼存放區中的 Privileges 和 securable 物件。
如需如何在 Unity 目錄中管理許可權的詳細資訊,請參閱 在 Unity 目錄中管理許可權。
注意
本文參考 Privilege Model 1.0 版中的 Unity 目錄許可權和繼承模型。 如果您在公開預覽期間(在 2022 年 8 月 25 日之前)建立 Unity Catalog 中繼存放區,可能使用的是較早的許可權模型,而該模型不支持目前的繼承模型。 您可以升級至 Privilege Model 1.0 版以取得許可權繼承。 請參閱升級至權限繼承。
安全性實體物件
可安全設定的物件是在 Unity Catalog 中繼資料存放區中定義的物件,可以將其許可權授予 主體。 如需 Unity 目錄安全性實體物件的完整清單,以及可授與其許可權的完整清單,請參閱 Unity 目錄許可權和安全性實體物件。
若要管理任何物件的許可權,您必須是其擁有者,或具有該物件的 MANAGE
許可權,以及該物件的父目錄上的 USE CATALOG
許可權,並在其父架構上的 USE SCHEMA
許可權。
語法
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 | SERVICE ] CREDENTIAL credential_name |
[ TABLE ] table_name |
MATERIALIZED VIEW view_name |
VIEW view_name |
VOLUME volume_name
}
您也可以指定 SERVER
而不是 CONNECTION
和 ,DATABASE
SCHEMA
而不是 。
參數
CATALOG
catalog_name控制整個資料目錄的存取。
CLEAN ROOM
clean_room_name控制對乾淨房間的存取。
CONNECTION
connection_name控制連線的存取。
EXTERNAL LOCATION
location_name控制外部位置的存取。
FUNCTION
function_name控制使用者定義函式或 MLflow 註冊模型的存取。
MATERIALIZED VIEW
view_name控制具體化檢視的存取。
METASTORE
控制連結至工作區的 Unity 目錄中繼存放區的存取。 當您管理中繼存放區的權限時,不會在 SQL 命令中包含中繼存放區名稱。 Unity Catalog 將會對附加至工作區的 metastore 授與或撤銷許可權。
SCHEMA
schema_name控制資料庫結構的存取。
[ STORAGE | SERVICE ] CREDENTIAL
credential_name控制對 認證的存取。
關鍵詞
STORAGE
和SERVICE
( Databricks Runtime 15.4 和更新版本)是選擇性的。SHARE
share_nameTABLE
table_name控制管理或外部數據表的存取。 如果無法找到資料表,Azure Databricks 會觸發 TABLE_OR_VIEW_NOT_FOUND 錯誤。
VIEW
view_name控制檢視的存取。 如果找不到檢視,Azure Databricks 就會 引發TABLE_OR_VIEW_NOT_FOUND 錯誤。
VOLUME
volume_name控制磁碟區的存取。 如果找不到磁碟區,Azure Databricks 就會引發錯誤。
許可權類型
如需許可權類型清單,請參閱 Unity 目錄許可權和可保護的實體物件。
範例
-- 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`;