共用方式為


Azure Databricks 中的資料庫物件

Azure Databricks 使用兩個主要安全性實體對象來儲存和存取數據。

  • 數據表 會控管表格式數據的存取權。
  • 磁碟區 會控管對非表格式數據的存取。

本文說明這些資料庫物件如何與 Azure Databricks 中的目錄、架構、檢視和其他資料庫物件產生關聯。 本文也提供資料庫物件如何在整體平台架構內容中運作的高階簡介。

什麼是 Azure Databricks 中的資料庫物件?

資料庫物件是可協助您組織、存取及控管數據的實體。 Azure Databricks 使用三層階層來組織資料庫物件:

  1. 目錄:最上層容器包含架構。 請參閱什麼是 Azure Databricks 中的目錄?
  2. 架構 或資料庫:包含數據物件。 請參閱 什麼是 Azure Databricks 中的架構?
  3. 可包含在架構中的數據物件:

Unity Catalog 物件模型圖表

目錄會在帳戶層級管理的中繼存放區中註冊。 只有系統管理員直接與中繼存放區互動。 請參閱 中繼存放區

Azure Databricks 提供其他資產來處理數據,其中所有資產都可以使用工作區層級訪問控制或 Unity 目錄,Databricks 數據控管解決方案:

  • 工作區層級的數據資產,例如筆記本、作業和查詢。
  • Unity 目錄安全性實體物件,例如記憶體認證和差異共用,主要控制記憶體或安全共用的存取。

如需詳細資訊,請參閱 資料庫物件與工作區安全性實體數據資產Unity 目錄安全性實體認證和基礎結構

使用 Unity 目錄管理資料庫物件的存取權

您可以在階層中的任何層級授與和撤銷資料庫物件的存取權,包括中繼存放區本身。 除非撤銷存取權,否則物件的存取權會隱含地授與該物件的所有子系相同的存取權。

您可以使用一般 ANSI SQL 命令來授與和撤銷 Unity 目錄中物件的存取權。 您也可以使用目錄總管來管理資料物件許可權的 UI 驅動。

如需在 Unity 目錄中保護物件的詳細資訊,請參閱 Unity 目錄中的安全性實體物件。

Unity 目錄中的預設物件許可權

根據您的工作區建立和啟用 Unity 目錄的方式,您的使用者可能會有自動布建目錄的默認許可權,包括 main 目錄或 工作區目錄<workspace-name>)。 如需詳細資訊,請參閱 預設用戶許可權

如果您的工作區已手動啟用 Unity 目錄,它就會在目錄中包含名為 default main 的預設架構,可供工作區中的所有使用者存取。 如果您的工作區自動啟用 Unity 目錄並包含目錄,該目錄會包含 <workspace-name> 名為 default 的架構,可供工作區中的所有使用者存取。

資料庫物件與工作區安全性實體數據資產

Azure Databricks 可讓您與資料庫物件一起管理多個數據工程、分析、ML 和 AI 資產。 您不會在 Unity 目錄中註冊這些數據資產。 相反地,這些資產是在工作區層級管理,使用控制清單來管理許可權。 這些數據資產包括下列各項:

  • Notebooks
  • 儀表板​​
  • 工作
  • 管線
  • 工作區檔案
  • SQL 查詢
  • 實驗

大部分的數據資產都包含與資料庫物件互動的邏輯,以查詢數據、使用函式、註冊模型或其他常見工作。 若要深入了解保護工作區數據資產,請參閱 訪問控制清單

注意

存取計算是由訪問控制清單所控管。 您可以使用存取模式設定計算,並新增額外的雲端許可權,以控制使用者存取數據的方式。 Databricks 建議使用計算原則,並將叢集建立許可權限限為數據控管最佳做法。 請參閱存取模式

Unity 目錄安全性實體認證和基礎結構

Unity 目錄會使用在中繼存放區層級註冊的安全性實體物件來管理雲端物件記憶體、數據共享和查詢同盟的存取權。 以下是這些非數據安全性實體對象的簡短描述。

將 Unity 目錄連線到雲端物件記憶體

您必須定義記憶體認證和外部位置,才能建立新的受控儲存位置,或註冊外部數據表或外部磁碟區。 這些安全性實體物件會在 Unity 目錄中註冊:

  • 記憶體認證:提供雲端記憶體存取權的長期雲端認證。
  • 外部位置:使用配對記憶體認證存取的雲端物件記憶體路徑參考。

請參閱 使用 Unity 目錄連線到雲端物件記憶體和服務。

Delta Sharing

Azure Databricks 會在 Unity 目錄中註冊下列 Delta Sharing 安全性實體物件:

  • 共享:數據表、磁碟區和其他數據資產的唯讀集合。
  • 提供者:共用數據的組織或實體。 在 Databricks 對 Databricks 共用模型中,提供者會在收件者的 Unity 目錄中繼存放區中註冊為其中繼存放區標識碼所識別的唯一實體。
  • 收件者:從提供者接收共享的實體。 在 Databricks 對 Databricks 共用模型中,收件者會以其唯一的中繼存放區標識符來識別給提供者。

請參閱什麼是 Delta Sharing?

Lakehouse 同盟

Lakehouse 同盟可讓您建立外部目錄,以提供位於 PostgreSQL、MySQL 和 Snowflake 等其他系統中數據的只讀存取權。 您必須定義與外部系統的連線,才能建立外部目錄。

線上:Unity 目錄安全性實體物件會指定路徑和認證,以存取 Lakehouse 同盟案例中的外部資料庫系統。

請參閱 什麼是 Lakehouse 同盟?

受控磁碟區和數據表的受控儲存位置

當您建立數據表和磁碟區 Azure Databricks 時,您可以選擇將其 設定為受控外部。 Unity 目錄會管理從 Azure Databricks 存取外部數據表和磁碟區,但不會控制基礎檔案或完全管理這些檔案的儲存位置。 另一方面,受控數據表和磁碟區完全由 Unity 目錄管理,並儲存在 與包含架構相關聯的受控儲存位置 。 請參閱 在 Unity 目錄中指定受控儲存位置。

Databricks 建議針對大部分工作負載使用受控磁碟區和受控數據表,因為它們可簡化設定、優化和治理。

Unity 目錄與舊版 Hive 中繼存放區

Databricks 建議使用 Unity 目錄來註冊和管理所有資料庫物件,但也為 Hive 中繼存放區提供舊版支援來管理架構、數據表、檢視和函式。

如果您要與使用Hive中繼存放區註冊的資料庫物件互動,請參閱 舊版Hive中繼存放區中的資料庫物件。