內容型輸入控制

備註

基於上下文的輸入需要 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 存取清單 。