Unity 目錄中的許可權和安全性實體物件
適用於:Databricks SQL Databricks Runtime Unity 目錄
許可權是授與主體對中繼存放區中安全性實體物件運作的許可權。 許可權模型和安全性實體物件會根據您是否使用 Unity 目錄中繼存放區或舊版 Hive 中繼存放區而有所不同。 本文說明 Unity 目錄的許可權模型。 如果您使用Hive中繼存放區,請參閱 Hive中繼存放區中的許可權和安全性實體物件
注意
本文參考 Privilege Model 1.0 版中的 Unity 目錄許可權和繼承模型。 如果您在公開預覽期間建立 Unity 目錄中繼存放區(在 2022 年 8 月 25 日之前),請遵循 升級至許可權繼承,升級至 Privilege Model 1.0 版。
安全性實體物件
「安全性實體物件」是在 Unity 目錄中繼存放區中定義的物件,其權限可以授與主體。 若要管理任何物件的權限,您必須是其擁有者。
語法
securable_object
{ CATALOG [ catalog_name ] |
CONNECTION connection_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
而不是 。
參數
CATALOG
catalog_name控制整個資料目錄的存取。
CONNECTION
connection_name控制連線的存取。
EXTERNAL LOCATION
location_name控制外部位置的存取。
FUNCTION
function_name控制使用者定義函式的存取。
MATERIALIZED VIEW
view_name重要
這項功能處於公開預覽狀態。
控制具體化檢視的存取。
METASTORE
控制連結至工作區的 Unity 目錄中繼存放區的存取。 當您管理中繼存放區的許可權時,您不會在 SQL 命令中包含中繼存放區名稱。 Unity 目錄將會授與或撤銷附加至工作區之中繼存放區的許可權。
REGISTERED MODEL
控制 MLflow 已註冊模型的存取。
SCHEMA
schema_name控制架構的存取。
STORAGE CREDENTIAL
credential_name控制記憶體認證的存取。
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 目錄中的安全性實體對像是階層式物件,且許可權會向下繼承。 這表示授與目錄的許可權會自動將許可權授與目錄中所有目前和未來的架構。 同樣地,在架構上授與的許可權是由該架構中所有目前和未來的數據表和檢視所繼承。
例如,如果您將 SELECT
架構的許可權授與使用者,則用戶會自動獲授 SELECT
與架構中所有目前和未來數據表、檢視表和具體化檢視的許可權。
許可權類型
下表顯示哪些 Unity 目錄許可權與 Unity Catalog 安全性實體對象相關聯。
安全性實體 | 權限 |
---|---|
Metastore | CREATE CATALOG 、CREATE CONNECTION 、CREATE EXTERNAL LOCATION 、CREATE PROVIDER 、CREATE RECIPIENT 、CREATE SHARE 、CREATE STORAGE CREDENTIAL SET SHARE PERMISSION USE MARKETPLACE ASSETS 、USE PROVIDER 、、、 USE RECIPIENT USE SHARE |
目錄 | ALL PRIVILEGES 、、 APPLY TAG 、 BROWSE 、 CREATE SCHEMA 、 USE CATALOG 所有用戶預設都會在 USE CATALOG 目錄上 main 。下列許可權類型適用於目錄中的安全性實體物件。 您可以在目錄層級授與這些許可權,將它們套用至目錄中相關的目前和未來物件。 CREATE FUNCTION 、CREATE TABLE 、CREATE MODEL 、CREATE VOLUME 、CREATE FOREIGN CATALOG 、READ VOLUME 、REFRESH WRITE VOLUME EXECUTE 、MODIFY 、、、 SELECT USE SCHEMA |
結構描述 | ALL PRIVILEGES 、APPLY TAG 、CREATE FUNCTION 、CREATE TABLE 、CREATE MODEL 、CREATE VOLUME 、、、 CREATE MATERIALIZED VIEW USE SCHEMA 下列許可權類型適用於架構內的安全性實體物件。 您可以在架構層級授與這些許可權,將它們套用至架構中相關的目前和未來物件。 EXECUTE 、、MODIFY SELECT 、READ VOLUME 、、REFRESH 、WRITE VOLUME |
Table | ALL PRIVILEGES 、 、 APPLY TAG 、 MODIFY SELECT |
具體化檢視 | ALL PRIVILEGES 、 、 APPLY TAG 、 REFRESH SELECT |
檢視 | ALL PRIVILEGES 、 、 APPLY TAG SELECT |
體積 | ALL PRIVILEGES 、 、 READ VOLUME WRITE VOLUME |
外部位置 | ALL PRIVILEGES 、BROWSE 、、CREATE EXTERNAL VOLUME CREATE EXTERNAL TABLE 、READ FILES 、、、 WRITE FILES CREATE MANAGED STORAGE |
儲存體認證 | ALL PRIVILEGES 、、 CREATE EXTERNAL LOCATION 、 CREATE EXTERNAL TABLE 、 READ FILES 、 WRITE FILES |
連線 | ALL PRIVILEGES 、 、 CREATE FOREIGN CATALOG USE CONNECTION |
函式 | ALL PRIVILEGES , EXECUTE |
註冊的模型 | ALL PRIVILEGES 、 、 APPLY TAG EXECUTE |
共用 | SELECT (可以授與給 RECIPIENT ) |
收件者 | 無 |
提供者 | 無 |
APPLY TAG
在物件上套用和編輯標記。
ALL PRIVILEGES
用來授與或撤銷安全性實體物件及其子物件適用的所有權限,而不需明確指定這些權限。 這會擴充至進行權限檢查時的所有可用權限。 它不會在授與時個別授與使用者每個適用的權限。
當
ALL PRIVILEGES
被撤銷時,ALL PRIVILEGES
只會撤銷許可權本身。 使用者會保留另外授與他們的任何其他許可權。BROWSE
重要
這項功能處於公開預覽狀態。
使用目錄總管、架構瀏覽器、搜尋結果、譜系圖形和
information_schema
REST API 來檢視物件的元數據。 使用者不需要USE CATALOG
父目錄或USE SCHEMA
父架構的許可權。CREATE CATALOG
在 Unity 目錄中繼存放區中建立目錄。
CREATE CONNECTION
在 Unity 目錄中繼存放區中建立外部連線。
CREATE EXTERNAL LOCATION
使用 記憶體認證建立外部位置。 套用至儲存體認證時,允許使用者使用儲存體認證建立外部位置。 此許可權也必須授與中繼存放區上的使用者,以允許他們在該中繼存放區中建立外部位置。
CREATE EXTERNAL TABLE
CREATE EXTERNAL VOLUME
使用外部位置建立外部磁碟區。
CREATE FOREIGN CATALOG
在外部連線上建立目錄。 然後,每個外部目錄都會公開同盟目標系統中可用的架構。
CREATE FUNCTION
在架構中建立函式。 使用者也需要
USE CATALOG
目錄的許可權和USE SCHEMA
架構的許可權。CREATE MANAGED STORAGE
允許使用者指定位置,以將Managed資料表儲存在目錄或架構層級,覆寫 Unity 目錄中繼存放區的預設根記憶體。
CREATE MATERIALIZED VIEW
允許使用者在架構中建立 具體化檢視 。 由於會繼承權限,也可以在目錄上授與
CREATE MATERIALIZED VIEW
,讓使用者能夠在目錄中的任何現有或未來結構描述中建立資料表或檢視。用戶也必須具有
USE CATALOG
父目錄和USE SCHEMA
父架構的許可權。CREATE MODEL
允許使用者在結構描述中建立 MLflow 註冊的模型。 由於繼承許可權,
CREATE MODEL
也可以在目錄上授與許可權,讓用戶能夠在目錄中的任何現有或未來架構中建立已註冊的模型。用戶也必須具有
USE CATALOG
父目錄和USE SCHEMA
父架構的許可權。CREATE PROVIDER
(針對差異共用資料收件者)在 Unity 目錄中繼存放區中建立提供者。
CREATE RECIPIENT
(針對差異共用資料提供者)在 Unity 目錄中繼存放區中建立收件者。
CREATE SCHEMA
在目錄中建立架構。 使用者也需要
USE CATALOG
目錄的許可權。CREATE SHARE
(針對差異共用資料提供者)在 Unity 目錄中繼存放區中建立共用。
CREATE STORAGE CREDENTIAL
在 Unity 目錄中繼存放區中建立記憶體認證。
CREATE TABLE
在架構中建立數據表或檢視表。 使用者也需要
USE CATALOG
目錄的許可權和USE SCHEMA
架構的許可權。 若要建立外部數據表,使用者也需要CREATE EXTERNAL TABLE
外部位置或記憶體認證的許可權。CREATE VOLUME
在架構中建立磁碟區。 使用者也需要
USE CATALOG
目錄的許可權和USE SCHEMA
架構的許可權。 若要建立 外部磁碟區,使用者也需要CREATE EXTERNAL VOLUME
外部位置的許可權。EXECUTE
叫用使用者定義函式。 使用者也需要
USE CATALOG
目錄的許可權和USE SCHEMA
架構的許可權。MODIFY
COPY INTO、UPDATEDELETE、INSERT 或 MERGE INTO 數據表。
READ FILES
READ VOLUME
REFRESH
如果使用者在其父目錄和
USE SCHEMA
父架構上也有USE CATALOG
具體化檢視,則允許使用者重新整理具體化檢視。 使用者也需要USE CATALOG
目錄的許可權和USE SCHEMA
架構的許可權。SELECT
查詢資料表或檢視表、叫用使用者定義的或匿名函式,或選取
ANY FILE
。 使用者需要SELECT
數據表、檢視或函式,以及USE CATALOG
對象的目錄和USE SCHEMA
對象的架構。SET SHARE PERMISSION
在 Delta Sharing 中,此許可權與
USE SHARE
和USE RECIPIENT
(或收件者擁有權)結合,可讓提供者使用者授與共用的收件者存取權。 結合USE SHARE
,它可讓您將共用的擁有權轉移給另一個使用者、群組或服務主體。USE CATALOG
必要,但不足以參考目錄中的任何物件。 主體也必須擁有個別安全性實體對象的許可權。 使用者不需要使用
BROWSE
許可權來讀取物件的元數據。USE CONNECTION
在中繼存放區上使用時,必須讀取外部連線上的元數據或所有外部連線。
USE MARKETPLACE ASSETS
默認會針對所有 Unity 目錄中繼存放區啟用。 在 Databricks Marketplace 中,此許可權可讓使用者取得 Marketplace 列表中共用之數據產品的立即存取或要求存取權。 它也允許使用者存取提供者共用數據產品時所建立的唯讀目錄。 如果沒有此許可權,使用者將需要
CREATE CATALOG
和USE PROVIDER
許可權或中繼存放區管理員角色。 這可讓您限制具有這些強大許可權的用戶數目。USE PROVIDER
在 Delta Sharing 中,為收件者使用者提供收件者中繼存放區及其共用中所有提供者的唯讀存取權。 結合許可權,此許可權可讓不是中繼存放區系統管理員的
CREATE CATALOG
收件者使用者掛接共用做為目錄。 這可讓您限制具有強大中繼存放區管理員角色的用戶數目。USE RECIPIENT
在 Delta Sharing 中,為提供者使用者提供提供者中繼存放區及其共用中所有收件者的唯讀存取權。 這可讓不是中繼存放區管理員的提供者用戶檢視收件者詳細數據、收件者驗證狀態,以及提供者與收件者共用的共享清單。
在 Databricks Marketplace 中,這可讓使用者在提供者控制台中檢視清單和取用者要求。
USE SCHEMA
必要,但不足以參考架構中的任何物件。 主體也必須擁有個別安全性實體對象的許可權。 使用者不需要使用
BROWSE
許可權來讀取物件的元數據。USE SHARE
在 Delta Sharing 中,為提供者使用者提供提供者中繼存放區中定義之所有共用的唯讀存取權。 這可讓不是中繼存放區管理員的提供者使用者,在共用中列出共用和列出資產(數據表和筆記本),以及共用的收件者。
在 Databricks Marketplace 中,這可讓提供者用戶檢視清單中共用數據的詳細數據。
WRITE FILES
WRITE VOLUME
範例
-- 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`;
相關
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應