啟用工作區儲存體帳戶的防火牆支援
每個 Azure Databricks 工作區在稱為「工作區儲存體帳戶」的受控資源群組中都有相關聯的 Azure 儲存體帳戶。 工作區儲存體帳戶包含工作區系統資料 (作業輸出、系統設定和記錄)、DBFS 根目錄,在某些情況下還包含 Unity Catalog 工作區目錄。 這篇文章說明如何使用 ARM (Azure Resource Manager) 範本,限制僅從授權資源和網路存取工作區儲存體帳戶。
工作區儲存體帳戶的防火牆支援是什麼?
根據預設,工作區儲存體帳戶的 Azure 儲存體帳戶會接受來自所有網路的已驗證連線。 您可以啟用工作區儲存體帳戶的防火牆支援,以限制此存取。 這可確保不允許公用網路存取,而且無法從未經授權的網路存取工作區儲存體帳戶。 如果您的組織制定有 Azure 原則來確保儲存體帳戶是私人的,您可能會想要進行此設定。
啟用工作區儲存體帳戶的防火牆支援時,來自 Azure Databricks 外部服務的所有存取都必須使用已核准的私人端點和私人連結。 Azure Databricks 會建立存取連接器,以使用 Azure 受控識別連線到儲存體。 來自 Azure Databricks 無伺服器計算的存取必須使用服務端點或私人端點。
需求
您的工作區必須啟用 VNet 插入,才能從傳統計算平面進行連線。
您的工作區必須啟用安全叢集連線 (無公用 IP/NPIP),才能從傳統計算平面進行連線。
您的工作區必須列在進階版方案中。
您必須有個別子網路,以用於儲存體帳戶的私人端點。 這是除了用於執行基本 Azure Databricks 功能的兩個主要子網路之外的子網路。
子網路必須與工作區位於相同的 VNet 中,或位於工作區可以存取的個別 VNet 中。 使用 CIDR 標記法中的最小大小
/28
。如果您使用 Cloud Fetch 搭配 Microsoft Fabric Power BI 服務,您必須始終使用閘道來進行工作區儲存體帳戶的私人存取,或停用 Cloud Fetch。 請參閱步驟 2 (建議):設定 Cloud Fetch 用戶端 VNet 的私人端點。
您也可以使用步驟 5:部署所需的 ARM 範本中的 ARM 範本來建立新的工作區。 在這種情況下,請先關閉工作區中的所有計算,然後再執行步驟 1 到 4。
步驟 1:建立儲存體帳戶的私人端點
從用於目標子資源值 和 的 VNet 插入的 VNet,建立工作區儲存體帳戶的兩個私人端點:dfs
和 blob
。
在 Azure 入口網站中,瀏覽至您的工作區。
在 [基本資訊] 底下,按一下 [受控資源群組] 的名稱。
在 [資源] 底下,按一下名稱以
dbstorage
開頭的 [儲存體帳戶] 類型的資源。在側邊欄中,按一下 [網路]。
按一下 [私人端點連線]。
按一下 [+ 私人端點]。
在 [資源群組] 名稱欄位中,設定您的資源群組。
重要
資源群組不得與您的工作區儲存體帳戶所在的受控資源群組相同。
在 [名稱] 欄位中,輸入此私人端點的唯一名稱:
- 對於您為每個來源網路建立的第一個私人端點,請建立 DFS 端點。 Databricks 建議您新增尾碼
-dfs-pe
- 對於您為每個來源網路建立的第二個私人端點,請建立 Blob 端點。 Databricks 建議您新增尾碼
-blob-pe
系統會自動填入 [網路介面名稱] 欄位。
- 對於您為每個來源網路建立的第一個私人端點,請建立 DFS 端點。 Databricks 建議您新增尾碼
將 [區域] 欄位設定為工作區所在的區域。
按一下 [下一步] 。
在 [目標子資源] 中,按一下目標資源類型。
- 對於您為每個來源網路建立的第一個私人端點,請將此設定為 dfs。
- 對於您為每個來源網路建立的第二個私人端點,請將此設定為 blob。
在 [虛擬網路] 欄位中,選取 VNet。
在子網路欄位中,將子網路設定為儲存體帳戶的私人端點所擁有的個別子網路。
此欄位可能會自動填入私人端點的子網路,但您可能必須明確地進行設定。 您無法使用執行基本 Azure Databricks 工作區功能時所使用的兩個工作區子網路的其中一個,這兩個子網路通常稱為
private-subnet
和public-subnet
。按一下 [下一步] 。 [DNS] 索引標籤會自動填入您先前所選取的正確訂用帳戶和資源群組。 如有需要,請進行變更。
按一下 [下一步],視需要新增標籤。
按一下 [下一步],並檢閱欄位。
按一下 [建立]。
若要停用工作區儲存體帳戶的防火牆支援,請使用與上述流程相同的流程,但請將儲存體帳戶防火牆參數 (範本中的 storageAccountFirewall
)設定為 Disabled
,並根據您的工作區是否使用 Unity Catalog 工作區目錄將 Workspace Catalog Enabled
欄位設定為 true
或 false
。 請參閱什麼是 Azure Databricks 中的目錄?。
步驟 2 (建議):設定 Cloud Fetch 用戶端 VNet 的私人端點
Cloud Fetch 是 ODBC 和 JDBC 中的機制,可透過雲端儲存體並行擷取資料,以更快速地將資料整合到 BI 工具中。 如果您要從 BI 工具擷取大於 1 MB 的查詢結果,可能會使用 Cloud Fetch。
注意
如果您使用 Microsoft Fabric Power BI 服務搭配 Azure Databricks,則必須停用 Cloud Fetch,因為此功能會阻止從 Fabric Power BI 直接存取工作區儲存體帳戶。 或者,您可以設定虛擬網路資料閘道或內部部署的資料閘道,以允許對工作區儲存體帳戶進行私人存取。 這不適用於 Power BI Desktop。 若要停用 Cloud Fetch,請使用設定 EnableQueryResultDownload=0
。
如果您使用 Cloud Fetch,請從 Cloud Fetch 用戶端的任何 VNet 建立工作區儲存體帳戶的私人端點。
針對 Cloud Fetch 用戶端的每個來源網路,建立兩個私人端點,它們使用兩個不同的目標子資源值:dfs
和 blob
。 如需了解詳細步驟,請參閱步驟 1:建立儲存體帳戶的私人端點。 在這些步驟中,對於建立私人端點時的 [虛擬網路] 欄位,請確保為每個 Cloud Fetch 用戶端指定來源 VNet。
步驟 3:確認端點核准
建立儲存體帳戶的所有私人端點之後,請檢查它們是否已核准。 系統可能會自動核准,或者您可能需要在儲存體帳戶中予以核准。
- 在 Azure 入口網站中巡覽至您的工作區。
- 在 [基本資訊] 底下,按一下 [受控資源群組] 的名稱。
- 在 [資源] 底下,按一下名稱以
dbstorage
開頭的 [儲存體帳戶] 類型的資源。 - 在側邊欄中,按一下 [網路]。
- 按一下 [私人端點連線]。
- 檢查 [連線狀態] 以確認顯示 [已核准],或選取這些端點,然後按一下 [核准]。
步驟 4:授權無伺服器計算的連線
您必須將網路連線設定 (NCC) 連結至工作區,以授權無伺服器計算連線到您的工作區儲存體帳戶。 當 NCC 連結至工作區時,網路規則會自動新增至工作區儲存體帳戶的 Azure 儲存體帳戶。 如需指示,請參閱設定供無伺服器計算存取的防火牆。
如果想要使用私人端點啟用從 Azure Databricks 無伺服器計算的存取,請連絡您的 Azure Databricks 帳戶小組。
步驟 5:部署所需的 ARM 範本
此步驟會使用 ARM 範本來管理 Azure Databricks 工作區。 您也可以使用 Terraform 來更新或建立工作區。 請參閱 azurerm_databricks_workspace Terraform 提供者。
在 Azure 入口網站中,搜尋並選取
Deploy a custom template
。按一下 [Build your own template in the editor] \(在編輯器中建置您自己的範本\)。
從工作區儲存體帳戶的防火牆支援的 ARM 範本拷貝 ARM 範本,並將其貼到編輯器中。
按一下 [檔案] 。
檢閱和編輯欄位。 使用您用來建立工作區的相同參數,例如訂用帳戶、區域、工作區名稱、子網路名稱、現有 VNet 的資源識別碼。
有關欄位的描述,請參閱 ARM 範本欄位。
按一下 [檢閱 + 建立],然後按一下 [建立]。
注意
爲了支援無伺服器計算資源,請將工作區儲存體帳戶上的公用網路存取設定為 [已從選取的虛擬網路和 IP 位址啟用],而不是 [已停用],不需要私人端點。 工作區儲存體帳戶位於受控資源群組中,而儲存體防火牆只能在您新增無伺服器連線到工作區的網路連線設定 (NCC) 時更新。 如果想要使用私人端點啟用從 Azure Databricks 無伺服器計算的存取,請連絡您的 Azure Databricks 帳戶小組。