什麼是 Azure Databricks Clean Rooms?
本文介紹 Clean Rooms,這是 Azure Databricks 的一項功能,使用 Delta 資料共享和無伺服器運算,提供一個安全且隱私保護的環境,讓多方能在不直接存取彼此資料的情況下,共同處理機密企業資料。
需求
若要有資格使用乾淨的房間,您必須具備:
- 已啟用無伺服器計算的帳戶。 請參閱啟用無伺服器計算。
- 已啟用 Unity 目錄的工作區。 請參閱 為 Unity 目錄啟用工作區。
- 已啟用 Unity Catalog 中樞存放區的 Delta 共享功能。 請參閱 如何在資料存放區啟用 Delta 分享功能。
清理室如何運作?
當您建立乾淨的房間時,您會建立下列專案:
- Unity Catalog 中繼資料庫中的可保護清潔房間物件。
- 「中央」清潔室,這是由 Databricks 管理的隔離暫時環境。
- 合作夥伴的 Unity Catalog 資料存放區中可保護的潔淨室物件。
在清理室中,共同作業者任一方共用的數據表、卷(非表格式數據)、檢視和筆記本,將只使用 Delta Sharing 與中央清理室共用。
共同作業者無法查看其他共同作業者數據表、檢視或磁碟區中的數據,但可以看到數據行名稱和數據行類型,而且可以執行可操作數據資產的已核准筆記本程序代碼。 筆記本程序代碼會在中央乾淨的會議室中執行。 筆記本也可以產生 輸出數據表,讓您的共同作業者暫時將只讀輸出儲存至其 Unity 目錄中繼存放區,讓他們可以在工作區中使用它。
清理室如何確保不信任的環境?
Databricks Clean Rooms 模型是「不信任」。 不信任清潔室中的所有共同作業者都有同等的許可權,包括清潔室的建立者。 Clean Rooms 的設計目的是防止執行未經授權的程式代碼,以及未經授權的數據共用。 例如,所有共同作業者都必須核准筆記本,才能執行。 藉由防止共同作業者執行自己建立的任何筆記本,以隱含方式強制執行此信任:您只能執行其他共同作業者所建立的筆記本。
其他保護措施或限制
除了上述隱含筆記本核准程式之外,還有下列保護措施:
建立乾淨的房間之後,就會鎖定它,以防止新的共同作業者加入乾淨的房間。
如果任何共同作業者刪除清理室,中央清潔室會是 void,而且任何使用者都無法執行任何清理室工作。
在公開預覽期間,每個乾淨的房間限製為兩個共同作業者。
您無法重新命名乾淨的房間。
每個共同作業者的中繼存放區中都必須是唯一的,因此所有共同作業者都可以明確地參考相同的清理室。
不會將每個共同作業者工作區中乾淨空間安全性實體的批注傳播至其他共同作業者。
與其他共同作業者共享什麼?
- 乾淨的房間名稱。
- 中央清潔室的雲端和區域。
- 您的組織名稱(可以是您選擇的任何名稱)。
- 您的清理室共用識別碼(全域中繼存放區標識元 + 工作區標識碼 + 使用者電子郵件位址)。
- 共用數據表、視圖或磁碟區的別名。
- 欄位元數據(欄位名稱或別名和類型)。
- 筆記本(只讀)。
- 輸出數據表(只讀、暫存)。
- 潔淨室事件系統表。
- 執行歷程記錄,包括:
- 正在執行的筆記本名稱
- 執行筆記本的合作者(不是使用者)。
- 筆記本執行的狀態。
- 筆記本執行的開始時間。
與中央乾淨的房間共享什麼?
上一節所列的所有專案。
只讀數據表、磁碟區、檢視表和筆記本。
數據表、視圖和磁碟區會使用任何提供的別名,在中央潔淨室的中繼存放區中註冊。 數據資產會在清理室的整個生命週期中共用。
清理室常見問題
以下是有關乾淨房間的常見問題。
我的數據在數據潔淨室中如何被管理?
中央清理室由 Azure Databricks 管理。 在中央無塵室
- 這兩方都沒有系統管理員許可權。
- 只有元數據可供所有合作對象看見。
- 每方都可以將資料新增至中央數據室。
- 乾淨室使用 Delta Sharing 安全地將資料共享到乾淨室,但不會在參與者之間共享資料。 參見 Delta Sharing 是什麼?。
我的數據如何保持私人?
中央潔淨室運行在獨立且由 Databricks 管理的無伺服器計算環境中,該環境裝載於潔淨室建立者選擇的雲端提供者區域。
乾淨的房間提供:
- 程式代碼核准: 清潔室建立者和共同作業者可以與中央清潔室共用數據表和磁碟區,但只能執行對方上傳的筆記本。 您可以在核准之前,先檢閱對方新增的程序代碼。 如果您執行由另一方新增的筆記本,則表示您隱含同意程式碼的執行。
- 版本控制: Clean rooms 筆記本具有版本控制,以確保所有相關方只能執行完整核准的筆記本。 只能執行這個筆記本的最新版本。 您可以使用清理室系統數據表來查看執行筆記本的版本,並監視所做的任何變更。
- 限制存取: 當您建立乾淨的房間時,您可以使用無伺服器輸出控制來管理輸出網路連線。 如果您限制來自清理室的存取,則會封鎖存取未經授權的儲存空間。 請參閱 什麼是無伺服器輸出控制項?。
若要深入瞭解安全性和無伺服器計算平面,請參閱 無伺服器計算平面網路。
如何記錄動作?
您或您的共同作業者所採取的清理室動作會記錄在清理室事件系統數據表中。 這些記錄包含有關所採取之特定動作的詳細元數據。 請參閱 清理室事件系統資料表參考。
清理室動作也會記錄在您帳戶的稽核記錄中,服務 clean-room
。 請參閱 稽核記錄系統資料表參考。
限制
在公開預覽期間,適用下列限制:
- 必要 Databricks 執行時間版本未包含任何服務認證 Scala 連結庫。
資源配額
Azure Databricks 會在所有 Clean Room 安全性實體對象上強制執行資源配額。 這些配額列在資源限制中。 如果你預期超過這些資源限制,請連絡你的 Azure Databricks 帳戶團隊。
您可以使用 Unity 目錄資源配額 API 來監視配額使用量。 請參閱 監視 Unity Catalog 資源配額的使用。