Share via


Unity 目錄許可權和安全性實體物件

本文說明 Unity 目錄安全性實體物件,以及套用至這些對象的許可權。 若要瞭解如何在 Unity 目錄中授與許可權,請參閱 顯示、授與和撤銷許可權

注意

本文參考 Privilege Model 1.0 版中的 Unity 目錄許可權和繼承模型。 如果您在公開預覽期間建立 Unity 目錄中繼存放區(在 2022 年 8 月 25 日之前),可能是先前不支援目前繼承模型的許可權模型。 您可以升級至 Privilege Model 1.0 版以取得許可權繼承。 請參閱 升級至許可權繼承

Unity 目錄中的安全性實體物件

安全性實體物件是在 Unity 目錄中繼存放區中定義的物件,其許可權可以授與主體(使用者、服務主體或群組)。 Unity 目錄中的安全性實體對象是階層式的。

Unity Catalog 物件階層

安全性實體物件包括:

  • METASTORE:元數據的最上層容器。 每個 Unity 目錄中繼存放區都會公開三層命名空間 (catalog..schematable) 來組織您的數據。

    當您管理中繼存放區的許可權時,您不會在 SQL 命令中包含中繼存放區名稱。 Unity 目錄會授與或撤銷附加至工作區之中繼存放區的許可權。 例如,下列命令會將名為 engineering 的群組授與在附加至工作區之中繼存放區中建立目錄的能力:

    GRANT CREATE CATALOG ON METASTORE TO engineering
    
  • CATALOG:對象階層的第一層,用來組織數據資產。 外部目錄是特殊的目錄類型,可鏡像 Lakehouse 同盟案例中外部數據系統中的資料庫。

  • SCHEMA:也稱為資料庫,架構是對象階層的第二層,並包含數據表和檢視。

  • TABLE:物件階層中的最低層級、數據表可以是 外部 的(儲存在所選雲端記憶體的外部位置)或 受控 數據表(儲存在您為 Azure Databricks 快速建立的雲端記憶體中的記憶體容器中)。

  • VIEW:在架構中包含的一或多個數據表上,從查詢建立的唯讀物件。

  • MATERIALIZED VIEW:在架構中包含的一或多個數據表上,從查詢建立的物件。 其結果會反映上次重新整理時的數據狀態。

  • VOLUME:物件階層中的最低層級、磁碟區可以是 外部 磁碟區(儲存在您選擇的雲端記憶體的外部位置)或 受控 (儲存在您為 Azure Databricks 快速建立的雲端記憶體中的記憶體容器中)。

  • 已註冊的模型包含在架構內的 MLflow 註冊模型

  • FUNCTION:包含在架構內的使用者定義函式。 請參閱 Unity 目錄中的使用者定義函式 (UDF)。

  • EXTERNAL LOCATION:物件,其中包含記憶體認證的參考,以及 Unity 目錄中繼存放區中包含的雲端記憶體路徑。

  • STORAGE CREDENTIAL:封裝長期雲端認證的物件,可提供 Unity 目錄中繼存放區內雲端記憶體的存取權。

  • CONNECTION:物件,指定在 Lakehouse 同盟案例中存取外部資料庫系統的路徑和認證。

  • SHARE:您想要使用 Delta Sharing 共用之數據表的邏輯群組。 共用包含在 Unity 目錄中繼存放區內。

  • RECIPIENT:對象,識別可使用 Delta Sharing 與其共用數據的組織或使用者群組。 這些物件包含在 Unity 目錄中繼存放區內。

  • PROVIDER:物件,代表已使用 Delta Sharing 提供數據以供共用的組織。 這些物件包含在 Unity 目錄中繼存放區內。

Unity 目錄中安全性實體對象的許可權類型

下表列出套用至 Unity 目錄中每個安全性實體對象的許可權類型。 若要瞭解如何在 Unity 目錄中授與許可權,請參閱 顯示、授與和撤銷許可權

安全性實體 權限
Metastore CREATE CATALOGCREATE CONNECTIONCREATE EXTERNAL LOCATIONCREATE PROVIDERCREATE RECIPIENTCREATE SHARECREATE STORAGE CREDENTIALSET SHARE PERMISSIONUSE MARKETPLACE ASSETSUSE PROVIDER、、、 USE RECIPIENTUSE SHARE
目錄 ALL PRIVILEGES、、 APPLY TAGBROWSECREATE SCHEMAUSE CATALOG

所有用戶預設都會在 USE CATALOG 目錄上 main

下列許可權類型適用於目錄中的安全性實體物件。 您可以在目錄層級授與這些許可權,將它們套用至目錄中相關的目前和未來物件。

CREATE FUNCTIONCREATE TABLECREATE MODELCREATE VOLUMECREATE FOREIGN CATALOGREAD VOLUMEREFRESHWRITE VOLUMEEXECUTEMODIFY、、、 SELECTUSE SCHEMA
結構描述 ALL PRIVILEGESAPPLY TAGCREATE FUNCTIONCREATE TABLECREATE MODELCREATE VOLUME、、、 CREATE MATERIALIZED VIEWUSE SCHEMA

下列許可權類型適用於架構內的安全性實體物件。 您可以在架構層級授與這些許可權,將它們套用至架構中相關的目前和未來物件。

EXECUTE、、MODIFYSELECTREAD VOLUME、、REFRESHWRITE VOLUME
Table ALL PRIVILEGES、 、 APPLY TAGMODIFYSELECT
具體化檢視 ALL PRIVILEGES、 、 APPLY TAGREFRESHSELECT
檢視 ALL PRIVILEGES、 、 APPLY TAGSELECT
體積 ALL PRIVILEGES、 、 READ VOLUMEWRITE VOLUME
外部位置 ALL PRIVILEGESBROWSE、、CREATE EXTERNAL VOLUMECREATE EXTERNAL TABLEREAD FILES、、、 WRITE FILESCREATE MANAGED STORAGE
儲存體認證 ALL PRIVILEGES、、 CREATE EXTERNAL LOCATIONCREATE EXTERNAL TABLEREAD FILESWRITE FILES
連線 ALL PRIVILEGES、 、 CREATE FOREIGN CATALOGUSE CONNECTION
函式 ALL PRIVILEGES, EXECUTE
註冊的模型 ALL PRIVILEGES、 、 APPLY TAGEXECUTE
共用 SELECT (可以授與給 RECIPIENT)
收件者
提供者

一般 Unity 目錄許可權類型

本節提供一般適用於 Unity 目錄之許可權類型的詳細數據。 若要瞭解如何在 Unity 目錄中授與許可權,請參閱 顯示、授與和撤銷許可權

所有許可權

適用的物件類型:CATALOG、、EXTERNAL LOCATION、、SCHEMASTORAGE CREDENTIALREGISTERED MODELTABLEMATERIALIZED VIEWFUNCTIONVIEW,VOLUME

用來授與或撤銷安全性實體物件及其子物件適用的所有權限,而不需明確指定這些權限。

在物件上授與時 ALL PRIVILEGES ,它不會在授與時個別授與使用者每個適用的許可權。 相反地,它會在進行許可權檢查時擴充為所有可用的許可權。

撤銷時 ALL PRIVILEGES ,會撤銷許可權, ALL PRIVILEGES 也會撤銷物件上授與使用者的任何明確許可權。

注意

在階層中較高層級套用時,此許可權十分強大。 例如,GRANT ALL PRIVILEGES ON CATALOG 主要 TO analysts 會為分析師小組提供目錄中每個物件 (架構、數據表、檢視表、函式)的所有許可權。

APPLY TAG

適用的物件類型:CATALOG、、SCHEMA、、TABLEREGISTERED MODELMATERIALIZED VIEWVIEW

允許使用者在物件上新增和編輯標記。 授 APPLY TAG 與數據表或檢視表也會啟用數據行標記。

用戶也必須具有 USE CATALOG 父目錄和 USE SCHEMA 父架構的許可權。

BROWSE

適用的物件類型: CATALOGEXTERNAL LOCATION

重要

這項功能處於公開預覽狀態

允許使用者使用目錄總管、架構瀏覽器、搜尋結果、譜系圖形 information_schema和 REST API 來檢視物件的元數據。

使用者不需要 USE CATALOG 父目錄或 USE SCHEMA 父架構的許可權。

CREATE CATALOG

適用的物件類型:Unity 目錄中繼存放區

允許使用者在 Unity 目錄中繼存放區中建立目錄。 若要建立外部目錄,您也必須具有 包含外部目錄或中繼存放區之連線的 CREATE FOREIGN CATALOG 許可權。

CREATE CONNECTION

適用的物件類型:Unity 目錄中繼存放區

允許使用者在 Lakehouse 同盟案例中建立與外部資料庫的連線。

CREATE EXTERNAL LOCATION

適用的物件類型:Unity 目錄中繼存放區、 STORAGE CREDENTIAL

若要建立外部位置,用戶必須在中繼存放區和外部位置參考的記憶體認證上擁有此許可權。

CREATE EXTERNAL TABLE

適用的物件類型: EXTERNAL LOCATIONSTORAGE CREDENTIAL

允許使用者使用外部位置或記憶體認證,直接在雲端租使用者中建立外部數據表。 Databricks 建議在外部位置而非記憶體認證上授與此許可權(因為它的範圍設定為路徑,因此可更充分掌控用戶可以在雲端租使用者中建立外部數據表的位置)。

CREATE EXTERNAL VOLUME

適用的物件類型: EXTERNAL LOCATION

允許使用者使用外部位置建立外部磁碟區。

CREATE FOREIGN CATALOG

適用的物件類型: CONNECTION

允許使用者使用 Lakehouse 同盟案例中外部資料庫的連線來建立外部目錄。

CREATE FUNCTION

適用的物件類型: SCHEMA

允許使用者在架構中建立函式。 由於繼承許可權, CREATE FUNCTION 也可以在目錄上授與許可權,讓用戶能夠在目錄中的任何現有或未來架構中建立函式。

用戶也必須具有 USE CATALOG 父目錄和 USE SCHEMA 父架構的許可權。

CREATE MODEL

適用的物件類型: SCHEMA

允許使用者在結構描述中建立 MLflow 註冊的模型。 由於繼承許可權, CREATE MODEL 也可以在目錄上授與許可權,讓用戶能夠在目錄中的任何現有或未來架構中建立已註冊的模型。

用戶也必須具有 USE CATALOG 父目錄和 USE SCHEMA 父架構的許可權。

建立受控記憶體

適用的物件類型: EXTERNAL LOCATION

允許使用者指定位置,以將受控數據表儲存在目錄或架構層級,覆寫中繼存放區的預設根記憶體。

CREATE SCHEMA

適用的物件類型: CATALOG

允許使用者建立結構描述。 使用者也必須具有目錄 USE CATALOG 的權限。

CREATE STORAGE CREDENTIAL

適用的物件類型:Unity 目錄中繼存放區

允許使用者在 Unity 目錄中繼存放區中建立記憶體認證。

無法授與服務主體,無論是 Microsoft Entra ID(先前稱為 Azure Active Directory)還是原生 Azure Databricks 服務主體。

建立資料表

適用的物件類型: SCHEMA

允許使用者在結構描述中建立資料表或檢視。 由於會繼承權限,也可以在目錄上授與 CREATE TABLE,讓使用者能夠在目錄中的任何現有或未來結構描述中建立資料表或檢視。

用戶也必須具有 USE CATALOG 其父目錄的許可權,以及 USE SCHEMA 其父架構的許可權。

建立具體化檢視 VIEW

重要

這項功能處於公開預覽狀態。

適用的物件類型: SCHEMA

允許使用者在架構中建立具體化檢視。 由於會繼承權限,也可以在目錄上授與 CREATE MATERIALIZED VIEW,讓使用者能夠在目錄中的任何現有或未來結構描述中建立資料表或檢視。

用戶也必須具有 USE CATALOG 其父目錄的許可權,以及 USE SCHEMA 其父架構的許可權。

CREATE VOLUME

適用的物件類型: SCHEMA

允許使用者建立結構描述中的磁碟區。 由於繼承許可權, CREATE VOLUME 也可以在目錄上授與許可權,讓用戶能夠在目錄中的任何現有或未來架構中建立磁碟區。

用戶也必須具有 USE CATALOG 磁碟區父目錄的許可權,以及 USE SCHEMA 其父架構的許可權。

執行 CREATE 陳述式之前,請先執行

適用的物件類型: FUNCTIONREGISTERED MODEL

如果使用者在其父目錄及其USE SCHEMA父架構上也有 USE CATALOG ,則允許使用者叫用使用者定義函式或載入模型進行推斷。 針對函式, EXECUTE 授與檢視函式定義和元數據的能力。 針對已註冊的模型, EXECUTE 授與檢視所有已註冊模型版本的元數據,以及下載模型檔案的能力。

由於繼承許可權,您可以授與使用者 EXECUTE 目錄或架構的許可權,這會自動將目錄或架構中所有目前和未來函式的許可權授與使用者 EXECUTE

管理 ALLOWLIST

適用的物件類型:Unity 目錄中繼存放區

允許使用者在允許清單中新增或修改 init 腳本、JAR 和 Maven 座標的路徑,該清單會控管具有共用存取模式的 Unity 目錄啟用叢集。 請參閱 共享計算上的 Allowlist 連結庫和 init 腳本。

MODIFY

適用的物件類型: TABLE

如果使用者在數據表上以及其父目錄及其USE CATALOG父架構上也具有 SELECT ,則允許使用者在數據表中加入、更新和USE SCHEMA刪除數據。

由於繼承許可權,您可以授與使用者 MODIFY 目錄或架構的許可權,這會自動將目錄或架構中所有目前和未來數據表的許可權授與使用者 MODIFY

讀取檔案

適用的物件類型: VOLUMEEXTERNAL LOCATION

允許使用者直接從雲端物件記憶體讀取檔案。 Databricks 建議在磁碟區上授與此許可權,並在外部位置上授與有限的使用案例。 如需詳細資訊,請參閱 管理外部位置、外部數據表和外部磁碟區

讀取磁碟區

適用的物件類型: VOLUME

如果使用者在其父目錄及其父架構上也有 USE CATALOG ,則允許使用者讀取儲存在磁碟區內的檔案和 USE SCHEMA 目錄。

繼承許可權。 當您可以將目錄或架構的許可權授與使用者 READ VOLUME 時,會自動將目錄或架構中所有目前和未來磁碟區的許可權授與使用者 READ VOLUME

SELECT

適用的物件類型:TABLE、、MATERIALIZED VIEWVIEWSHARE

如果套用至資料表或檢視表,則允許使用者從資料表或檢視中選取,如果使用者在其父目錄及其USE SCHEMA父架構上也具有 USE CATALOG 。 如果套用至共用,則允許收件者從共用中選取。

由於繼承許可權,您可以授與使用者 SELECT 目錄或架構的許可權,這會自動授 SELECT 與所有目前和未來數據表的用戶許可權,以及目錄或架構中的檢視。

USE CATALOG

適用的物件類型: CATALOG

此權限不會授與目錄本身的存取權,但使用者必須與目錄中的任何物件互動。 例如,若要從數據表中選取數據,用戶必須擁有 SELECT 該數據表的許可權,以及 USE CATALOG 其父目錄的許可權,以及 USE SCHEMA 其父架構的許可權。

這很適合讓目錄擁有者能夠限制個別架構和數據表擁有者可以共用其產生的數據。 例如,授與其他用戶的數據表擁有者 SELECT 不允許該使用者讀取數據表的存取權,除非它們也已獲授 USE CATALOG 與其父目錄的許可權,以及 USE SCHEMA 其父架構的許可權。

USE CATALOG如果使用者擁有BROWSE該目錄的許可權,則不需要父目錄的許可權才能讀取物件的元數據。

USE CONNECTION

適用的物件類型: CONNECTION

允許使用者列出及檢視 Lakehouse 同盟案例中外部資料庫連線的詳細數據。 若要為連接建立外部目錄,您必須擁有 CREATE FOREIGN CATALOG 連線的連線或擁有權。

USE SCHEMA

適用的物件類型: SCHEMA

此權限不會授與結構描述本身的存取權,但使用者必須與結構描述中的任何物件互動。 例如,若要從數據表選取數據,用戶必須擁有 SELECT 該數據表及其父架構及其 USE SCHEMA 父目錄 USE CATALOG 的許可權。

由於繼承許可權,因此您可以將目錄的許可權授與使用者 USE SCHEMA ,這會自動將目錄中所有目前和未來架構的許可權授與使用者 USE SCHEMA

USE SCHEMA如果使用者具有BROWSE該架構或其父目錄的許可權,則不需要父架構的許可權來讀取物件的元數據。

寫入檔案

適用的物件類型: VOLUMEEXTERNAL LOCATION

允許使用者將檔案直接寫入雲端物件記憶體。 Databricks 建議授與此磁碟區的許可權。 在外部位置上謹慎授與此許可權。 如需詳細資訊,請參閱 管理外部位置、外部數據表和外部磁碟區

寫入磁碟區

適用的物件類型: VOLUME

如果使用者在其父目錄及其父架構上也有 USE CATALOG ,則允許使用者新增、移除或修改儲存在磁碟區內的檔案和 USE SCHEMA 目錄。

繼承許可權。 當您可以將目錄或架構的許可權授與使用者 WRITE VOLUME 時,會自動將目錄或架構中所有目前和未來磁碟區的許可權授與使用者 WRITE VOLUME

REFRESH

適用的物件類型: MATERIALIZED VIEW

如果使用者在其父目錄和USE SCHEMA父架構上也有USE CATALOG具體化檢視,則允許使用者重新整理具體化檢視。

繼承許可權。 當您將 REFRESH 目錄或架構的許可權授與使用者時,會自動將目錄或架構中所有目前和未來具體化檢視的許可權授與使用者 REFRESH

僅適用於 Delta 共用或 Databricks Marketplace 的許可權類型

本節提供僅適用於差異共用之許可權類型的詳細數據。

CREATE PROVIDER

適用的物件類型:Unity 目錄中繼存放區

允許使用者在中繼存放區中建立 Delta Sharing 提供者物件。 提供者會識別使用 Delta Sharing 共用數據的組織或使用者群組。 提供者建立是由收件者 Databricks 帳戶中的使用者所執行。 請參閱 使用 Delta Sharing 安全地共享數據和 AI 資產。

建立收件者

適用的物件類型:Unity 目錄中繼存放區

允許使用者在中繼存放區中建立 Delta Sharing 收件者物件。 收件者會識別可以使用 Delta Sharing 與其共用數據的組織或使用者群組。 收件者建立是由提供者 Databricks 帳戶中的用戶執行。 請參閱 使用 Delta Sharing 安全地共享數據和 AI 資產。

CREATE SHARE

適用的物件類型:Unity 目錄中繼存放區

允許使用者在中繼存放區中建立共用。 共用是您想要使用 Delta Sharing 共用之數據表的邏輯群組

設定共享許可權

適用的物件類型:Unity 目錄中繼存放區

在 Delta 共用中,這個許可權與 USE SHAREUSE RECIPIENT (或收件者擁有權)結合,可讓提供者使用者授與共用的收件者存取權。 結合 USE SHARE,它可讓您將共用的擁有權轉移給另一個使用者、群組或服務主體。

使用 MARKETPLACE 資產

適用的物件類型:Unity 目錄中繼存放區

默認會針對所有 Unity 目錄中繼存放區啟用。 在 Databricks Marketplace 中,此許可權可讓使用者取得 Marketplace 列表中共用之數據產品的立即存取或要求存取權。 它也允許使用者存取提供者共用數據產品時所建立的唯讀目錄。 如果沒有此許可權,使用者將需要 CREATE CATALOGUSE PROVIDER 許可權或中繼存放區管理員角色。 這可讓您限制具有這些強大許可權的用戶數目。

USE PROVIDER

適用的物件類型:Unity 目錄中繼存放區

在 Delta Sharing 中,為收件者使用者提供收件者中繼存放區及其共用中所有提供者的唯讀存取權。 結合許可權,此許可權可讓不是中繼存放區系統管理員的 CREATE CATALOG 收件者使用者掛接共用做為目錄。 這可讓您限制具有強大中繼存放區管理員角色的用戶數目。

使用收件者

適用的物件類型:Unity 目錄中繼存放區

在 Delta Sharing 中,為提供者使用者提供提供者中繼存放區及其共用中所有收件者的唯讀存取權。 這可讓不是中繼存放區管理員的提供者用戶檢視收件者詳細數據、收件者驗證狀態,以及提供者與收件者共用的共享清單。

Databricks Marketplace 中,這可讓使用者在提供者控制台中檢視清單和取用者要求。

USE SHARE

適用的物件類型:Unity 目錄中繼存放區

在 Delta Sharing 中,為提供者使用者提供提供者中繼存放區中定義之所有共用的唯讀存取權。 這可讓不是中繼存放區管理員的提供者使用者,在共用中列出共用和列出資產(數據表和筆記本),以及共用的收件者。

Databricks Marketplace 中,這可讓提供者用戶檢視清單中共用數據的詳細數據。