本頁描述 Unity 目錄中所有可保護的物件。 可保護物件是在 Unity 目錄中定義的物件,可授予主體(使用者、服務主體或群組)權限。
Unity 目錄物件階層
Unity Catalog 中的可保護對象是階層式的。 這種階層結構為 Unity 目錄中的存取控制奠定基礎。
Metastore 是頂層可保障的物件。 在這個元儲存庫中,你的資料資產存在於一個三層命名空間中,該命名空間定義了其目錄、結構結構及資產類型,例如資料表()。catalog.schema.table 下圖強調這些可擔保的物件。
前圖顯示如下:
- 目錄 是你資料資產的頂層。 目錄直接存在於 metastore 之下。 它們用來組織你的資料和 AI 資產,通常是依組織單位或軟體開發生命週期範圍來分類。
Unity 目錄中還有許多其他可保護的物件。 這些物件都直接存在於元儲存庫之下。 下圖強調這些可擔保的物件。
這些可保障的物件大致可分為兩大類。 第一類包含管理雲端儲存及其他外部資料來源與服務存取的物件:
- 儲存憑證 是代表存取雲端儲存特定路徑所需的認證資訊的物件。
- 外部位置 是代表雲端儲存中特定路徑的物件。 它也包含存取該路徑所需的儲存憑證參考。
- 外部 元資料 物件用於定義 Unity 目錄外系統的自訂資料血緣關係。
- 服務憑證 是代表存取外部雲端服務所需的認證資訊的物件。
- 連線 是代表與外部資料庫系統連接的物件。
第二類則包含管理跨元商店或組織邊界的資料存取及 AI 資產共享的物件:
- 分享 是代表你打算與外部 接收者共享的邏輯數據資產群組的物件。
- 提供者 是代表與你組織共享資料的外部組織或使用者群組的物件。
- 接收者 是代表 外部 組織或使用者群組的物件,提供者與其共享資料。
- 潔淨室 是代表一個安全環境的物件,讓他能與其他組織協作,且不會暴露底層資料。
以下章節將更詳細說明每一項可擔保的物品。
中繼存放區
Metastore 是 Unity Catalog 中最頂層的可保護物件。 一個元儲存庫包含 Unity 目錄中所有可保護的物件,且皆可在單一雲端區域內註冊。 這些物件不僅包含組織資料的目錄,還包括控制資料存取與分享方式的物件,例如服務憑證、儲存憑證、外部位置、連線、分享、接收者、提供者及潔淨室。
下表總結了關於元儲存庫的重要細節:
| 詳細資料 | 說明 |
|---|---|
| Scope | 中繼儲存庫是針對單一雲端區域的範圍。 您的組織需要每個營運區域設置一個元商店。 單一元儲存庫可以連接到同一區域內的多個工作區。 元商店中的權限授權會適用於所有與該元商店連結的工作區。 換句話說,在一個工作區被授予的特權,在所有共享該元商店的其他工作空間中都有效。 |
| Metastore 權限 | 對元儲存庫的權限允許在元儲存層級操作。 例如, CREATE CATALOG 允許使用者在元商店內建立目錄。 然而,這並不代表使用者能存取目錄中的資料。 完整適用權限清單,請參閱 權限類型表。重要的是,元儲存層級授予的權限不會繼承給階層中的子物件。 Metastore層級補助僅限於Metastore層級的營運。 這與目錄與結構授權的特權繼承行為不同,後者的繼承特權會自動套用於所有現有及未來的子物件。 詳見 特權繼承。 |
| 中繼存放區系統管理員 | Metastore 管理員是 Azure Databricks 中的一個可選角色。 它是由帳號管理員指派的。 某些功能僅限元商店管理員使用,包括刪除元商店、管理工作區指派,以及取得元商店中任何物件的所有權,後者間接存取元商店中的所有資料。 這些能力無法透過標準的特權授予授予。 請參閱Metastore 管理員。 當工作區自動啟用 Unity 目錄時,工作區管理員會獲得預設的元商店層級權限,包括 CREATE CATALOG、 CREATE STORAGE CREDENTIAL、 CREATE EXTERNAL LOCATION和 。 這些不會轉移到同一元儲存庫上的其他工作區。 請參閱自動為 Unity 目錄啟用工作區時的工作區管理員權限。 |
Catalog
在 元儲存庫中, 目錄 是你資料資產的第一層也是最高層級的層級。 目錄是 容器物件。 目錄包含結構,結構結構又包含表格、檢視、卷和函式。
我們經常參考 Unity 目錄中資料的「三層命名空間」(catalog.schema.table)。 此時,目錄是三層命名空間的第一層。
下表總結了關於目錄的重要細節:
| 詳細資料 | 說明 |
|---|---|
| 遺產 | 目錄上授予的權限會自動適用於該目錄內所有目前及未來的結構、資料表、檢視、卷與函式。 例如,在目錄上授權SELECT允許使用者閱讀該目錄中的任何表格(並擁有適當的USE CATALOGUSE SCHEMA使用權限)。 詳見 特權繼承。由於繼承的關係,目錄層級的特權範圍廣泛。 授予使用者時要小心。 |
使用權限(USE CATALOG) |
使用者在與目錄中的任何物件互動前,必須具備 USE CATALOG使用權限 。 這不論他們對兒童物品擁有什麼特權。 |
特 BROWSE 權 |
授予 BROWSE 目錄使用者權限,允許他們發現並檢視目錄中所有物件的元資料,包括子結構、資料表、視圖、卷及函式,而無需授權資料存取權。
BROWSE 僅能在目錄層級授予。Databricks 建議授權 BROWSE 給 All account users 該群組,讓使用者能發現資料並根據需要申請存取權限。 |
| 工作區綁定 | 預設情況下,目錄可從所有連接於同一元儲存區的工作區存取。 你可以透過將目錄綁定到特定工作區來限制,並選擇只讀。 工作區綁定取代個人特權授權。 即使是明確授權 SELECT 的使用者,也無法存取目錄中未綁定到其工作區的物件。 請參閱限制特定工作區的目錄存取。 |
欲了解更多關於目錄的資訊,請參閱「 Azure Databricks 中的目錄是什麼?」。
Schema
在 目錄中, 結構( 也稱為資料庫)是資料資產物件階層的第二層。 架構是 容器物件。 結構包含資料表、檢視、卷和函式。
我們經常參考 Unity 目錄中資料的 三層命名空間 (即 catalog.schema.table)。 這裡,結構是三層命名空間的第二層。
下表總結了關於結構的重要細節:
| 詳細資料 | 說明 |
|---|---|
| 遺產 | 對結構(schema)所授予的權限會自動套用到該架構內所有目前及未來的資料表、檢視、卷與函式。 例如,在某個結構上授權SELECT,使用者可以讀取該架構中的任何資料表(並擁有適當的USE CATALOGUSE SCHEMA使用權限)。 詳見 特權繼承。由於繼承,結構層級的權限可以很廣泛。 在授權使用者權限前,請先檢視結構中包含的物件。 |
使用權限(USE SCHEMA) |
使用者在與結構中的任何物件互動之前,必須具備 USE SCHEMA使用權限 。 這是在結構的父目錄中之外的額外 USE CATALOG 資訊。
USE SCHEMA授權本身並不代表能存取結構中的資料。 |
欲了解更多關於結構的資訊,請參見結構。
表
在 結構架構中, 資料表 是 Unity Catalog 中結構化資料的主要可保護物件。 以下是 Azure Databricks 中表格的類型:
- 受管理資料表 是由 Unity 目錄決定儲存位置路徑的表。 重要的是,資料本身仍存在你的雲端帳戶中。 Databricks 建議使用受管理資料表來利用最新的資料表功能。 請參閱 Azure Databricks 中,Unity Catalog 管理的 Delta Lake 和 Apache Iceberg 表格。
- 外部資料表 是指你指定儲存位置路徑的表格。 Unity Catalog 持續管理資料表的元資料,但不管理資料的生命週期、最佳化、儲存位置或版面配置。 請參閱 使用外部數據表。
- 外文書表 是指來自外地目錄並在 Unity 目錄中註冊的資料表。 參見 操作外國表格。
下表總結了關於表格的重要細節:
| 詳細資料 | 說明 |
|---|---|
| 使用權限 | 要存取資料表,使用者必須在父目錄和USE SCHEMA父架構上擁有USE CATALOG使用權限(使用權限),此外還有相關的資料表層級權限,例如 SELECT 或 MODIFY。 |
| 遺產 | 資料表權限可以繼承自父結構或目錄。 例如,在某個結構上授予 SELECT 會自動授予 SELECT 該結構中所有現有及未來的資料表。 詳見 特權繼承。 |
| 讀取和寫入存取權 | 用來 SELECT 授權讀取權限及 MODIFY 寫入權限(插入、更新、刪除)。 透過 Lakehouse Federation 存取的外文書表為唯讀,不支援此 MODIFY 權限。 |
欲了解更多資料表資訊,請參閱 Azure Databricks 資料表。
View
在 結構中, 視圖 是由儲存的 SQL 查詢定義的唯讀物件,該查詢涵蓋一個或多個資料表或其他視圖。 檢視會重新計算每次查詢的結果。
下表總結了關於視圖的重要細節:
| 詳細資料 | 說明 |
|---|---|
| 使用權限 | 要存取檢視圖,使用者除了在檢視之外,還必須在父目錄USE SCHEMA和父結構上擁有USE CATALOG使用權限SELECT。使用者不需要對檢視時查詢的底層資料表擁有權限。 檢視擁有者的權限用於查詢時解析底層資料表。 對於資料表擁有者來說,檢視功能適合限制對特定列或欄位的存取,而不會直接暴露底層資料表。 |
| 遺產 |
SELECT 在結構或目錄層級,授權適用於該架構或目錄中所有目前及未來的視圖。 詳見 特權繼承。 |
欲了解更多關於景觀的資訊,請參閱「 什麼是景觀?」。
具現化視圖
具體化檢視是一種預先計算並儲存查詢結果的檢視。 結果反映出最後一次刷新實體化視圖時的資料狀態。
具體化視圖的權限模型與標準視圖相同。 此外SELECTMANAGE,實體化檢視也支援此REFRESH權限,允許使用者觸發實體化檢視結果的刷新。 只有 SELECT 具備適當 使用權限的 使用者可以查詢儲存的結果,但無法觸發刷新。
欲了解更多關於物質化視圖的資訊,請參見「物質化視圖」。
公制視角
度量檢視是一種唯讀物件,根據一個或多個資料表、檢視表或 SQL 查詢,定義一組可重複使用的度量定義。 使用者查詢度量視圖就像查詢標準視圖一樣。
具體化視圖的權限模型與標準視圖相同。 使用者需要 SELECT 並擁有適當的 使用權限 來查詢度量檢視。 度量檢視擁有者的權限用於在查詢時解析底層資料來源。
欲了解更多關於度量檢視的資訊,請參閱 Unity 目錄的度量檢視。
音量
在 結構中, 卷 是雲端儲存中非結構化資料的可保護物件。 卷可以管理(由 Unity 目錄決定的儲存位置)或外部(你指定儲存路徑)。 與資料表和檢視不同,磁碟區不支援 SQL 查詢操作——它們提供雲端儲存中資料的檔案層級讀寫存取。 以下是 Azure Databricks 中磁碟區的類型:
- 受管理卷 是指由 Unity Catalog 決定儲存位置路徑的卷。 重要的是,資料本身仍存在你的雲端帳戶中。 Databricks 建議使用受管理卷,讓 Unity 目錄自動管理所有資料存取。
- 外部卷 是你指定儲存位置路徑的卷。 如果你需要外部系統存取 Azure Databricks 以外的資料,可以使用外部磁碟區,但要小心外部系統可能會繞過 Unity 目錄的治理。
下表總結了關於體積的重要細節:
| 詳細資料 | 說明 |
|---|---|
| 使用權限 | 要存取磁碟區中的檔案,使用者必須在父目錄和USE SCHEMA父架構上擁有USE CATALOG使用權限,此外READ VOLUME還有WRITE VOLUME磁碟區的權限。 |
| 讀取和寫入存取權 | 用 READ VOLUME 來賦予讀取儲存在卷中檔案和目錄的能力,以及 WRITE VOLUME 新增、修改或刪除檔案的能力。 |
| 遺產 |
READ VOLUME
WRITE VOLUME且在結構或目錄層級授予該架構或目錄中所有現有及未來的卷冊。 詳見 特權繼承。 |
如需磁碟區的詳細資訊,請參閱 什麼是 Unity 目錄磁碟區?。
功能
在 結構中, 函式 是 Unity Catalog 中可保護的物件,代表可重用且可執行的邏輯。 函式包括使用者定義函數(UDF)、儲存程序,以及註冊模型(註冊於 Unity 目錄的 MLflow 模型)。
- 使用者定義函式(UDF) 是以 SQL 或 Python 撰寫的自訂函式,可在 SQL 查詢和筆記本中呼叫。 請參閱什麼是使用者定義函式 (UDF)?。
- 儲存程序 是由使用者定義的例程,執行一連串 SQL 語句,可能包含插入或更新資料等副作用。
- 註冊模型 是指註冊於 Unity 目錄中的 MLflow 機器學習模型。 在 Unity 目錄中,註冊模型是以一種函式實作。 請參閱在 Unity 目錄中管理模型生命週期。
下表總結了函數的重要細節:
| 詳細資料 | 說明 |
|---|---|
| 使用權限 | 要執行函式或載入註冊模型,使用者必須在父目錄和USE SCHEMA父架構上擁有使用權限,此外EXECUTE還必須在函式上擁有USE CATALOG。 |
特 EXECUTE 權 |
授權 EXECUTE 函式使用者可呼叫該函式並查看其定義與元資料。 對於已註冊模型,也 EXECUTE 允許使用者查看所有版本的已註冊模型的元資料並下載模型檔案。 |
| 遺產 |
EXECUTE 在結構或目錄層級授予適用於該架構或目錄中所有現有及未來的功能。 詳見 特權繼承。 |
型號
模型是一種版本化的 MLflow 機器學習模型,作為函數物件儲存在 Unity 目錄中。 模型本身就是容器。 每次訓練執行的產物與元資料會以 模型版本 儲存在其中。
註冊模型的權限模型與函數相同。 以下額外權限專門適用於模型:
APPLY TAG: 允許在模型及其版本上新增及編輯標籤。 使用者也必須在父目錄和USE SCHEMA父架構上都有USE CATALOG。CREATE MODEL VERSION:允許使用者註冊模型的新版本,且不授權執行、修改或新增標籤。 使用者也必須在父目錄和USE SCHEMA父架構上都有USE CATALOG。
建立模型需要對結構的 CREATE MODEL 權限,而非 CREATE FUNCTION。
CREATE MODEL 也可以在目錄中被授予,允許在該目錄中的任何結構中建立模型。
欲了解更多模型資訊,請參閱 Unity 目錄中的「管理模型生命週期」。
儲存體認證
在 元儲存庫中, 儲存憑證 是一個可保護的物件,儲存存取特定雲端儲存路徑所需的認證資訊。 儲存的認證方式取決於雲端供應商:AWS 上的 IAM 角色、Azure 上的服務主體,或 GCP 上的服務帳號。
儲存憑證最常作為 外部位置的建構模組,將儲存憑證與特定的雲端儲存路徑配對。 儲存憑證也可以直接用來建立外部資料表。
要建立儲存憑證,使用者需要擁有 CREATE STORAGE CREDENTIAL Unity 目錄中繼儲存庫的權限。
欲了解更多關於儲存憑證的資訊,請參閱 儲存憑證概覽。
外部地點
在 元儲存庫中, 外部位置 是一個可保護的物件,將 儲存憑證 與雲端儲存路徑配對。 它管理雲端儲存中特定路徑的存取。
要建立外部位置,使用者需要擁有 CREATE EXTERNAL LOCATION Unity 目錄中繼儲存庫的權限。
建立外部位置後,使用者需要有 READ FILES 權限直接從儲存路徑讀取檔案,以及 WRITE FILES 寫入檔案的權限。 不過,Databricks 建議透過 磁碟區 和 READ VOLUME 權限 WRITE VOLUME 管理雲端儲存存取,而非直接授權 READ FILES 並 WRITE FILES 直接在外部位置存取。
如需外部位置的詳細資訊,請參閱 外部位置概觀。
外部中繼資料
在 元儲存庫中, 外部元資料 物件是一種可保護的物件,用來定義系統中不依賴 Unity Catalog 原生系譜追蹤的系統自訂資料血統關係。
要建立外部元資料物件,使用者需要擁有 CREATE EXTERNAL METADATA Unity 目錄元儲存庫的權限。 要在物件上新增或修改血緣關係,使用者需要 MODIFY 在外部元資料物件上,以及對關聯中所參考的任何 Unity 目錄物件擁有適當的權限。
欲了解更多外部元資料資訊,請參閱 使用 Unity 目錄檢視資料血緣。
服務認證
在 元儲存庫中, 服務憑證 是一個可保護的物件,用來儲存用於存取外部雲端服務的認證資訊。 這與管理雲端儲存存取的 儲存憑證不同。
要建立服務憑證,使用者需要擁有 CREATE SERVICE CREDENTIAL Unity 目錄中繼儲存庫的權限。
此 ACCESS 權限允許使用者使用服務憑證存取外部服務。
CREATE CONNECTION 在服務憑證上(結合 CREATE CONNECTION 在 metastore 上)允許使用者利用該憑證建立與外部資料庫的連線。
欲了解更多服務憑證資訊,請參閱 建立服務憑證。
連線
在 元儲存庫中, 連線 是一個可保護的物件,定義了在 湖屋聯盟 情境中與外部資料庫系統的連線。
要建立連線,使用者需要擁有 CREATE CONNECTION Unity Catalog 元儲存庫的權限。 如果連線使用 服務憑證,使用者也需要 CREATE CONNECTION 使用該服務憑證。
此USE CONNECTION權限允許使用者列出並查看連線細節,並可直接在remote_query外部資料庫執行 SQL 查詢。
CREATE FOREIGN CATALOG On a connection 允許使用者建立由該連線支持的外部目錄。
欲了解更多連接資訊,請參閱 「管理湖屋聯盟連接」。
Share
在 元儲存庫中, 分享 是 Delta Sharing 中可保護的物件,代表資料資產(資料表、視圖與卷)的邏輯群組。 提供者接著可以將該分享提供給外部接收者。
SELECT分享的權限是授予接收者(而非個別用戶),讓該接收者能夠閱讀該共享中的資產。 要建立分享,使用者需要擁有 CREATE SHARE Unity 目錄元儲存庫的權限。
欲了解更多關於分享的資訊,請參閱 「建立與管理三角洲共享的分享」。
提供者
在 元儲存庫中, 提供者 是 Delta 共享中可保護的物件,代表一個與你組織共享資料的外部組織。 提供者物件會在接收者的 Unity 目錄中建立。 此 USE PROVIDER 權限允許使用者查看所有提供者及其分享,並結合 CREATE CATALOG,無需 metastore 管理員角色即可掛載共享目錄。
要建立提供者,使用者需要擁有 CREATE PROVIDER Unity 目錄中繼儲存庫的權限。
欲了解更多供應商資訊,請參閱「 什麼是三角洲共享?」。
Recipient
在 元儲存庫中, 接收者 是 Delta 共享中可保護的物件,代表提供者與其共享資料的外部組織或使用者群組。 接收物件會在提供者的 Unity Catalog 元儲存庫中建立。 接收者物件本身無法被授予任何權限。 共享資料的存取是透過授權SELECT接收者來控制。
要建立收件人,使用者需要擁有 CREATE RECIPIENT Unity 目錄中繼儲存庫的權限。
欲了解更多接收者資訊,請參閱 建立與管理資料接收者以供 Delta 共享(Databricks-to-Databricks 共享)。
無塵室
在 元儲存庫中, 潔淨室 是一個可保護的物件,提供一個安全的環境,讓其他組織能在共享資料上協作,且雙方不會暴露底層資料給對方。
要建立潔淨室,使用者需要擁有 CREATE CLEAN ROOM Unity 目錄元儲存庫的權限。
此 EXECUTE CLEAN ROOM TASK 權限允許使用者在無塵室內運行筆記本並查看無塵室細節。 此 MODIFY CLEAN ROOM 權限允許使用者更新無塵室,包括新增或移除資料資產、筆記本及註解。
欲了解更多無塵室資訊,請參閱 《什麼是 Azure Databricks 無塵室?》。