備註
基於上下文的輸入需要 Premium 等級。
基於上下文的輸入功能已普遍可用(GA),但部分相關功能仍處於 測試階段:
- 針對入站私有連接的情境基礎入口政策:對註冊的私有端點套用基於情境的存取政策。 啟用 Context-Based Ingress:Workspace Private Access Policies(工作區私有存取政策 )即可開始。
- 針對你帳戶的情境式入口政策:對帳號主控台、帳號層級的 Genie One 以及帳號 API 套用存取政策。 啟用 Context-Based Ingress: Account Policy 以開始使用。
- 合作夥伴平台作為網路來源:允許列出第三方應用程式(Power BI、Tableau Cloud 和 dbt 平台)用來連接 Azure Databricks 的 IP。 Azure Databricks 會自動管理並更新這些 IP 清單。 在帳戶主控台的預覽頁面中啟用 依情境的輸入測試版功能,即可開始使用。
- 跨工作空間存取:控制哪些來源工作空間能透過無伺服器流量存取此工作空間,使用與其他網路來源相同的身份及允許與拒絕規則。
本頁概述基於情境的入口控制,包括核心概念、執行模式、稽核,以及它如何與其他網路控制互動。 要設定政策,請參見 管理基於上下文的入口政策。 如需無伺服器輸出控制,請參閱 什麼是無伺服器輸出控制?。
上下文型入口控制概觀
基於情境的輸入控管會搭配 IP 存取清單和前端私人連線運作,讓帳號管理員能設定允許與拒絕規則,結合誰在呼叫、從哪裡呼叫,以及他們在 Azure Databricks 中可以存取的內容。 這可確保只有身分、要求類型和網路來源的受信任組合才能到達您的工作區。 內容型輸入控制是在帳戶層級設定。 單一政策可以管理多個工作區。
使用內容型輸入,您可以:
- 除了憑證外,還需要求第二個因素——可信的網路來源,來阻止不受信任網路的存取。
- 允許沒有固定對外 IP 的 SaaS 用戶端存取,方法是根據身分識別而非 IP 範圍進行控管。
- 限制存取權限,允許較不信任的來源只使用特定範圍,例如 Azure Databricks API 或工作區介面。
- 保護特權自動化:限制高價值服務主體僅使用高信任網路。
- 有效稽核:在 Unity Catalog 系統資料表中擷取詳細的拒絕日誌,以監控被封鎖的請求。
工作區層級與帳戶層級政策
基於上下文的入口控制使用兩種策略。 工作區層級的政策規範對工作區的存取。 帳戶層級政策規範對帳戶層級資源的存取,例如帳戶主控台和帳戶層級的 Genie One。
| Attribute | 工作區層級政策 | 帳戶層級政策 |
|---|---|---|
| 控制存取權 | Workspaces | 帳號層級資源(帳號主控台、帳號層級 Genie One、帳號 API) |
| 存取類型 | Workspace UI、API、Apps runtime、Lakebase runtime | 帳戶 UI、帳戶 API |
| 身分識別 | 所有使用者與服務主體、所有使用者、所有服務主體或選擇的身份 | 僅限於所有使用者和服務主體 |
| 網路來源 | 公共、私人與跨工作空間 | 公私部門 |
| 預設原則 | 預設的工作區層級政策適用於沒有明確指派的工作區 | 單一固定保單(account-policy),自動附著且不可拆卸 |
| 拒絕記錄 | 已登入 system.access.inbound_network |
未記錄(測試版) |
| Manage | 管理工作空間基於情境的入口政策 | 管理基於情境的帳號入口政策 |
帳戶層級政策仍處於測試階段。 要開始,請啟用 Context-Based Ingress:帳戶政策。
基於上下文的入口控制核心概念
網路來源
網路來源會定義要求的來源。 支援的類型包括:
公共存取政策:
- 所有公用 IP:任何公用網際網路來源。
- 選取的 IP:特定 IPv4 位址或 CIDR 範圍。
- 合作夥伴平台(Beta):第三方應用程式(Power BI、Tableau Cloud 和 dbt 平台)用來連接 Azure Databricks 的 IP。 Azure Databricks 會自動管理並更新這些 IP 清單。
私人存取政策 (測試版):
- 所有註冊的私有端點:帳號中任何註冊的私有端點。
- 選擇的私人端點:帳號中特定註冊的私有端點。
-
Azure 工作區 Private Link:僅適用於工作區原則拒絕規則。 拒絕所有
databricks_ui_api端點的存取權限。 -
所有私人存取權:僅適用於工作區政策的拒絕規則。 拒絕對所有
databricks_ui_api和已註冊端點的存取。
跨工作空間存取 (Beta):控制哪些來源工作空間能透過無伺服器流量存取此工作區,使用與其他網路來源相同的身份及允許與拒絕規則。
- 所選工作區:僅限於你列出其 ID 的工作區。
你也可以將此政策設為相容模式,此時它不會控制跨工作空間的存取,且工作區既有的網路控制會生效。 若要在入口與出口端配置跨工作區存取,並檢視其限制,請參見 跨工作區存取。
存取類型
規則適用於不同的傳入請求範圍。 每個範疇都代表一類您可以允許或拒絕的傳入要求:
工作區層級的政策存取類型:
- 工作區 UI:瀏覽器存取工作區。
-
API:透過Azure Databricks API進行程式化存取,包括SQL端點(JDBC / ODBC)。 你可以鎖定以下任何一個:
- 所有 API。
- 一個特定的 API 範圍,使用 IN。 例如,你可以指定應用程式、儀表板或模型服務。
- 除了選擇的 API 範圍外,所有 API 範圍都使用 NOT IN。
- 應用程式執行環境:允許或拒絕存取 Databricks 應用程式的部署。 請參閱 Databricks Apps。 此存取類型僅支援 [ 所有使用者和服務主體身分 識別] 選項。
- Lakebase 執行階段:與 Lakebase 資料庫執行個體的連線。 詳見Lakebase。 此存取類型僅支援 [ 所有使用者和服務主體身分 識別] 選項。
帳號層級政策存取類型 (測試版):
- 帳號介面:透過瀏覽器存取帳號層級的資源(例如帳號主控台和帳號層級的 Genie One)。
- Account API:透過 Azure Databricks account API 進行程式化存取。
身分識別
規則可以針對不同的身分類型。 對於 Apps 執行時 和 Lakebase 執行時存取類型,唯一支援的選項是 所有使用者與服務主體。
在帳號層級政策中,唯一支援的選項是 所有使用者與服務主體。
- 所有使用者和服務主體:人類使用者和自動化。
- 所有使用者:僅限人類使用者。
- 所有服務主體:僅限自動化身分識別。
- 選擇身份:特定使用者或服務主體。
規則評估
- 預設拒絕:在受限模式下,除非明確允許,否則會拒絕存取。
- 先拒絕後允許:拒絕規則允許你定義允許規則的例外。
- 預設工作區層級政策:每個帳號對所有符合資格的工作區套用預設工作區層級入口政策,且未明確指派政策。
強制執行模式
基於上下文的入口政策可支援兩種模式:
- 所有產品皆強制執行:Azure Databricks 會主動套用規則,並封鎖違規要求。
- 所有產品的試跑模式:Azure Databricks 會記錄違規紀錄,但不會封鎖請求。 使用此模式評估政策影響後再執行。
備註
網路政策同時只支援一種強制模式。
Databricks 建議先從試跑模式開始觀察政策的影響,再切換為強制模式。
Auditing
拒絕或試執行的要求會被記錄在 system.access.inbound_network 系統資料表中。 如果你無法存取系統資料表,metastore 管理員可以授權你。 請參閱 授與系統表格的存取權。
每個日誌項目包括:
- 活動時間
- 工作區識別碼
- 規則標籤(拒絕請求的規則)
- 要求類型
- 身份
- 網路來源
- 存取類型(DENIED 或 DRY_RUN_DENIAL)
查詢這些日誌以驗證規則是否如預期運作,並捕捉意外存取嘗試。
與其他控制組的關係
- Workspace IP 存取清單:與基於情境的入口政策一起使用邏輯 AND 來評估,兩者之間沒有嚴格的順序。 只有當 IP 存取清單和入口政策都允許時,請求才被允許。 工作區 IP 存取清單可以進一步縮小存取範圍,但無法擴大存取範圍。
- 無伺服器輸出控制:透過控制來自無伺服器計算的輸出網路流量來補充輸入原則。 請參閱 管理網路原則。
- 跨工作區存取:控制哪些來源工作區能透過無伺服器流量連接到工作區,此外還有本頁的網路來源與身份控制。 請參見 跨工作空間存取。
- OpenSharing 接收者 IP 存取清單:基於上下文的入口不適用於 OpenSharing 接收者的 IP 存取清單。 這些是針對開放接收者的獨立控制,服務提供者會依接收者設定。 請參閱 使用 IP 存取清單限制 OpenSharing 接收者的存取權限(Databricks 到 Open 共享)。
小提示
為了降低複雜度,Databricks 建議使用基於上下文的入口政策作為唯一的政策引擎,而非同時維護 IP 存取清單。 如果你的工作空間已經有 IP 存取清單,請參考 將工作區 IP 存取清單遷移到基於上下文的入口。
-
前端私人連線:對於工作區政策和指定的已註冊端點,在依內容情境的輸入或
databricks_ui_api私人端點任一情況下允許的端點,皆視為允許。 然而,如果工作區的情境基礎輸入政策有拒絕所有databricks_ui_api端點的拒絕規則,那麼沒有任何databricks_ui_api端點能存取 Azure Databricks。 請參見「配置工作區的 inbound Private Link」。 - 允許公共網路存取切換:當啟用允許公共網路存取時,會評估工作區的 IP 存取清單。 否則,所有公開入口都會被封鎖,且工作區公共入口政策不會被評估。
管理基於情境的入口政策
在與您要保護的資源相對應的層級設定並附加政策:
| 任務 | 說明 |
|---|---|
| 管理工作空間基於情境的入口政策 | 建立工作區層級政策,設定公開、私人及跨工作區規則,並將其附加到工作區。 |
| 跨工作區存取 | 透過跨工作空間的進出規則,控制工作區間的無伺服器網路流量。 |
若要在保護帳號層級資源的帳號層級政策上配置公有與私有規則,請參見 「管理帳號情境基礎入口政策」。
API 與 Terraform
除了帳號主控台外,你還可以程式化管理基於情境的入口政策:
- REST API:使用 Azure Databricks REST API 來管理網路政策。
- Terraform:使用 Azure Databricks Terraform 提供者,以基礎架構即程式碼的方式管理 Ingress 原則。
最佳做法
- 先以試運行模式開始,在不中斷存取的情況下觀察影響。
- 對於輪換 IP 的 SaaS 客戶端,盡可能使用基於身份的規則。
- 首先對特權服務負責人套用拒絕規則,以限制受影響範圍。
- 保持保單名稱清晰且一致。
Availability
備註
基於上下文的入口控制在 Azure 西印度區域、Azure Government 或 Azure 中國區域無法使用。 建議改用 IP 存取清單 。