Unity 目錄中的許可權和安全性實體物件
適用於:Databricks SQL Databricks Runtime Unity 目錄
許可權是授與主體對中繼存放區中安全性實體物件運作的許可權。 許可權模型和安全性實體物件會根據您是否使用 Unity 目錄中繼存放區或舊版 Hive 中繼存放區而有所不同。 本文說明 Unity 目錄的許可權模型。 如果您使用Hive中繼存放區,請參閱 Hive中繼存放區中的 Privileges 和 securable 物件。
如需如何在 Unity 目錄中管理許可權的詳細資訊,請參閱 在 Unity 目錄中管理許可權。
注意
本文參考 Privilege Model 1.0 版中的 Unity Catalog 權限和繼承模型。 如果您在公開預覽期間建立 Unity Catalog 中繼存放區 (在 2022 年 8 月 25 日之前),可能是先前不支援目前繼承模型的權限模型。 您可以升級至 Privilege Model 1.0 版以取得權限繼承。 請參閱升級至權限繼承。
安全性實體物件
「安全性實體物件」是在 Unity 目錄中繼存放區中定義的物件,其權限可以授與主體。 如需 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 目錄將會授與或撤銷附加至工作區之中繼存放區的許可權。
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`;