隔離環境架構繼承了 強化連接 基準,並新增兩個需求:私有工作空間存取及必須的外部防火牆。 工作空間的存取是透過 VPN 或 Inbound Private Link 來限制,從來不會透過公共網路。 所有經典的運算出口都經過防火牆進行檢查與政策強制執行。
此架構具備:
- 完全網路隔離:所有流量都透過私人連線流動。
- 私人工作區存取:僅限 VPN 或傳入 Private Link。 該工作空間無法從公共網路連線。
- 必要的輸出檢查:對所有傳統運算輸出流量進行防火牆檢查。
- 資料外洩防止:網路層控制阻止未經授權的資料傳輸。
在下列情況下使用此架構:
- 工作區存取必須是私密的,例如透過 VPN 或 Inbound Private Link。
- 在高度管制的產業中處理資料,例如金融服務、醫療保健、政府部門。
- 合規框架要求出口控制(例如 SOC 2、HIPAA、PCI DSS 及 FedRAMP)。
- 實施企業級零信任安全架構。
- 資料外洩防範是必須的。
先決條件
- Azure Azure Databricks Premium 層級,採用 VNet 插入的工作區。
- 現有的 VPN 基礎設施或入站的 Private Link 連線。
- 防火牆或網路虛擬設備(NVA)。
架構概觀
隔離環境架構會將所有流量都透過經防火牆檢查的私有連線導向:
| 交通類型 | 路徑 |
|---|---|
| 使用者存取權 | 使用者→ VPN 或 Inbound Private Link → Workspace |
| 經典計算→控制 | 運算 → 經典 Private Link → Azure Databricks 控制平面 |
| 經典運算→雲端 | 運算→服務端點(UDRs)→ Azure服務 |
| 無伺服器 → 您的資源 | 無伺服器運算→NCC私有端點→您的Azure資源 |
| 經典計算→出口 | 計算→外部防火牆(必需)→檢查網際網路 |
所需組件
Inbound
Workspace 僅能透過私有連線存取:VPN、輸入 Private Link,或兩者皆可,取決於您現有的基礎架構。 顧客通常會選擇其中一種,而不是堆疊。
私人存取設定(關閉公開存取)
這就是實際阻止公共進入的閘控系統。 沒有它,工作區即使設定了 Private Link,仍然能接受網際網路流量。 Private Link 成為額外的路徑,而非唯一的路徑。
在Azure入口網站中將工作區的公共網路存取設為Disabled。 這會封鎖來自公用網際網路對工作區 UI 和 API 的連入存取。
工作區入口控制
透過基於 上下文的入口(CBI)配置工作區入口,這是推薦的入口政策框架。 CBI 規則將網路來源(IP 範圍)、身份、認證機制及存取範圍合併成單一允許/拒絕模型,因此 network-source 屬性與獨立的 IP 存取清單功能相同,甚至更多功能。
IP 存取清單 仍被支援,且可與 CBI 一同配置。 當兩者都已設定時,某項請求必須同時獲得兩者允許。
配置層級:
- 帳戶層級 CBI 政策:套用於所有與此政策關聯的工作區。 請參閱 管理帳戶上下文基礎入口政策。
- 工作區層級的 IP 存取清單:套用到單一工作區。 請參閱設定工作區的 IP 存取清單。
- 帳號層級的 IP 存取清單:套用到帳號主控台。 請參閱 設定帳戶主控台的IP存取清單。
最佳做法:
- 從廣泛開始,根據實際使用情況調整。
- 記錄IP範圍並標明用途與有效期限。
- 透過已知良好的 IP 範圍維持管理員存取權限。
- 每季檢視一次,並移除過時的範圍。
Warning
如果設定錯誤,入口政策和 IP 存取清單可能會鎖住你在工作空間之外。 務必透過已知良好的 IP 範圍維持管理員存取權限。
OpenSharing 接收者存取控制
OpenSharing 使用其在接收物件上設定的 IP 存取清單。 這與工作空間 IP 存取清單彼此獨立,且不受基於內容的輸入控管涵蓋。 僅適用於 Databricks-to-Open 共享(僅限非 Azure Databricks 接收方)。
請參閱 使用 IP 存取清單限制 OpenSharing 接收者的存取權限(Databricks 到 Open 共享)。
入站連接
建立使用者存取工作區介面與 API 的私密連線。 使用者透過 VPN 或 Inbound Private Link 進入工作區,絕不會透過公共網際網路。
自訂DNS
設定私人 DNS,將 Azure Databricks 端點解析為私人 IP 位址。
Azure 在建立私有端點時會自動建立私人 DNS 區域。
外發
無伺服器輸出控制(網路原則和 NCC 私有端點)繼承自 強化連線能力 基線。 此架構使得外部防火牆(在 Hardened 中可選)成為完整經典計算出口檢查 的必要 條件。
外部防火牆(必需)
將所有出口流量路由至防火牆進行檢查、記錄及政策執行。 這些選項包括:
- Azure 防火牆 或第三方網路虛擬設備(NVA)。
Tip
使用適用於 Azure Databricks 成品儲存體的服務端點原則來略過防火牆,降低資料傳輸成本。 僅 artifact 儲存就可能佔用每個叢集節點最多 11 GB 的下載空間。
請參閱Azure Databricks 服務和資產的 IP 位址與網域,以了解防火牆規則必須允許的 Azure Databricks 端點。
Tip
為了達到最大程度的封鎖,可以考慮架設一個私人套件倉庫(例如 JFrog Artifactory 或 Sonatype Nexus),專門存放 Python、R 和 Maven 套件。 這消除了防火牆規則來允許存取像 PyPI 這類公開套件索引的需求。
Warning
Azure Databricks 控制平面與 SCC 中繼連線使用採用憑證釘選的 TLS。 請勿對您的叢集與 Azure Databricks 控制平面之間的流量啟用 TLS 檢查(解密後重新加密)。 這會導致叢集故障。 設定防火牆規則,允許透過目的地 FQDN 或 IP 進行這些連線,避免 TLS 攔截。 請參閱 Azure Databricks 服務與資產的 IP 位址和網域,了解所需的端點。
Important
錯誤設定防火牆規則可能會破壞 Azure Databricks 的功能。 在非生產環境下徹底測試。
資料外洩保護
設定網路政策與防火牆控制以防止未經授權的資料外洩:
- 透過 網路政策實現無伺服器的出口控制。
- 經典的計算出口是透過防火牆/NVA。
- 針對核准資料目的地的私有端點規則。
請參閱 資料外洩保護 相關實作指引。
經典計算基線
經典的計算基線繼承自 託管安全,而雲端服務端點則繼承自 加固連接。 此架構不需要額外的經典運算元件。
基礎技術包含 VNet 注入、安全叢集連接(SCC)及經典 Private Link。 雲端服務端點包括使用者定義路由(UDR)、服務端點,以及用於客戶管理儲存帳號的私有端點。
資料存取的出口方法
處理來自計算資源的外出資料存取有兩種方法:
NAT 閘道與防火牆:部署 NAT 閘道器進行外接連線,並將流量路由防火牆進行檢查。 此方法允許對外部套件庫與 API 進行受控存取,並維持對流量模式的可視性。 當你必須存取外部資源但需要檢查和記錄時,才會採用此方法。
無 NAT 閘道(完全私有):完全移除 NAT 閘道,以消除所有來自計算資源的公開通訊。 所有資料存取僅透過私有端點和 VPC 端點進行。 此方法具備最高等級的安全,消除了透過公共出口路徑資料外洩的可能性。 當組織禁止任何公共網路通訊進入計算資源時,請使用此方法。
Implementation
從已部署的強化連線基準開始。 接下來的階段會加入私有工作區存取權及定義此架構所需的外部防火牆。
第一階段:入站控制
設定 Inbound Private Link
設定入站Private Link讓使用者對 Azure Azure Databricks UI 和 API 的存取是私有路由,而不是透過公共 IP。 請參見「配置工作區的 inbound Private Link」。
關閉公共網路存取
在Azure入口網站中將工作區的公共網路存取設為Disabled。 這才是真正阻擋公共進入的關鍵。 沒有它,工作區即使設定了入站 Private Link,仍然能接受網際網路流量。
測試私人使用者存取
測試使用者透過 VPN 或 Private Link 存取,以確認已認證的使用者只能透過私人網路路徑存取工作區,且公共存取被封鎖。
第二階段:外部防火牆(必需)
部署外部防火牆
在中樞 VNet 中部署 Azure 防火牆 或第三方網路虛擬設備(NVA),並透過 VNet 對等或虛擬中樞連接工作空間 VNet。
使用 UDR 讓輸出流量經由防火牆路由傳送
在工作區子網設定使用者定義路由(UDR),並設定預設的防火牆路由,讓來自 Azure Databricks 的出站流量能流經樞紐防火牆。 請參見 Azure Databricks 的使用者定義路由設定。
設定不經 TLS 攔截的防火牆規則
設定Azure 防火牆應用程式與網路規則,允許僅允許必要的Azure Databricks端點(參見Azure Databricks服務與資產的IP位址與網域),且控制平面與SCC中繼流量不會被TLS攔截。
第三階段:驗證
確認逃生控制
透過檢視 Azure 防火牆 日誌與診斷資料來驗證出口控制,以確認 Azure Databricks 流量是否依政策被檢查並限制。
確認沒有公共 IP 位址
確認工作空間 VNet 中沒有分配公共 IP 位址給叢集節點或其他 Azure Databricks 管理的運算資源。
驗證流量經由私有路徑傳輸
確認所有控制、資料及進出流量均依設計經由已設定的 Private Link 端點與中樞防火牆流動。
Azure Databricks Terraform SRA提供基礎設施即程式碼範本,作為此部署模式的起點。
Validation
部署架構後,請執行以下檢查,確認完整的網路隔離、私人連線及出口控制是否依設定運作。
| 檢查 | 預期的結果 |
|---|---|
| 透過 VPN 存取的工作空間 |
|
| 無需 VPN 即可存取的工作空間 |
|
| 集群與 SCC 一同啟動 |
|
| 透過私人連線存取資料 |
|
| 沒有防火牆核准就封鎖了出口 |
|
| DNS 解析至私有 IP 位址 |
|
故障排除
如果驗證檢查失敗或工作負載無法連接到所需的端點,請使用以下雲端專用表格來診斷常見問題。
| Issue | 原因 | Resolution |
|---|---|---|
| 叢集無法啟動 | 防火牆阻擋 SCC、Azure Databricks 控制平面或儲存帳號(NSG 規則、路由)中必須的端點或設定錯誤的私有端點 | 檢閱防火牆記錄並新增 Azure Databricks 基礎結構規則;確認私人端點的 NSG 規則允許來自叢集子網路的流量;檢查 UDRs |
| DNS 解析失敗 | 私用 DNS 設定錯誤 | 驗證私有 DNS 區域和 VNet 連結 |
| 儲存存取失敗 | 私有端點或路由問題 | 檢查私有端點設定與路由表 |
| 套件安裝失敗 | PyPI 被防火牆阻擋 | 將 PyPI 加入防火牆允許清單 |
持續維護
- 防火牆規則:定期檢視並更新出口允許清單。
- DNS 管理:新增工作區時更新紀錄。
- 端點監控:追蹤私有端點健康狀況及資料傳輸成本。
- 網路政策:新增核准資料來源時新增私有端點。
- 移除防火牆:如果防火牆營運負擔過高或合規要求放寬,你可以移除防火牆元件,保留私人連線與 VPN 存取。
- 降級為強化連線:如果私人工作空間的存取成為生產力障礙。
下一步
| 資源 | Description |
|---|---|
| 資料外洩保護 | 詳細參考架構,結合網路與 Unity 目錄控制,防止資料外洩。 |
| 網路 | Azure Databricks 的網路選項與概念。 |