Workspace IP 存取清單僅根據來源 IP 位址來限制存取。 基於情境的入口控制讓帳號管理員根據多種條件(包括使用者身份、請求類型及網路來源)建立允許與拒絕規則。 這讓你能更細緻地控制誰能存取你的工作空間,以及從哪裡進入。
Databricks 建議使用基於上下文的入口作為工作空間入口的主要控制。 關於基於上下文的入口如何評估請求的概述,請參見 基於上下文的入口控制。
你可以使用 Databricks Labs 的 migrate-ip-acls CLI 工具 ,將現有工作空間的 IP 存取清單遷移到基於上下文的入口政策。
Requirements
- 你必須是你遷移工作區的 管理員 。 閱讀工作區 IP 存取清單需要工作區管理員權限。
- 你必須是 帳號管理員。建立和附加網路政策需要帳號管理員權限。
- 基於上下文的輸入需要 Premium 等級。
開始前請先檢視 遷移工具的限制 ,因為該工具無法遷移所有工作區。
Note
政策變更通常需10至15分鐘才能生效。 在此期間,隨著變更的擴散,執法可能會不一致。 在依據已移轉的原則之前,請先將這段延遲納入考量。
遷移工具的運作方式
遷移工具執行以下步驟:
- 用你的工作區管理員權限驗證所選工作空間,並用帳號管理員權限驗證 Azure Databricks 帳號。
- 執行遷移前檢查,以判斷工作空間是否能安全遷移。
- 它要求你為產生的網路政策提供政策名稱。
- 讀取工作區啟用的 IP 存取清單。
- 每個啟用的 允許清單 會轉換成產生的網路政策中的情境基礎入口 允許規則 。
- 每個啟用的 封鎖清單 會轉換成產生的網路政策中基於上下文的 入侵拒絕規則 。
- 現有的 IP 存取清單標籤會被保留。
- 殘障的個別名單不會被遷移,並會被報告以供審查。
- 如果工作區只有封鎖清單,工具會新增一個包容所有的允許規則,讓產生的基於上下文的入口政策保留現有的 IP 存取清單行為。
- 將目前附加於工作區的網路政策中的出口設定,複製到產生的網路政策中。 如果工作區沒有明確指派的政策,工具會使用該帳戶的基準
default-policy值。 - 顯示產生的網路政策供您檢視。
- 若設定為
--export,工具會撰寫擬議政策的 JSON 與 Terraform 表示法。 - 如果
--create-policy啟用了,工具會建立新的網路政策。 - 如果
--auto-assign啟用,工具會將產生的政策附加到所選的工作區。 由於工作區只有一個網路政策指派,這會取代該工作區先前的政策指派。 - 若已指定
--disable-existing-ip-acls,工具會在新的強制執行原則成功建立並套用後,停用工作區 IP 存取清單的強制執行。 現有的 IP 存取清單會被保留,但不再強制執行。
--auto-assign 預設是啟用的。
--disable-existing-ip-acls 預設為停用。
當工作區 IP 存取清單仍處於啟用狀態時,系統會持續將其與以情境為基礎的傳入存取一同評估。 請求必須同時滿足這兩個控制條件。
使用遷移工具
請依照以下步驟從工作區的 IP 存取清單中產生基於情境的入口政策,並可選擇建立並附加該政策。
Important
產生的原則是一種強制執行安全性的控制項。 在強制模式下,任何規則不符的請求都會被封鎖。 遷移工具會保留你現有工作空間 IP 存取清單的政策。 不過,如果你願意,也可以先用試跑模式執行遷移工具(--policy-mode dry_run),再檢查 拒絕日誌 ,再把產生的政策切換到強制模式。
複製移轉工具
git clone https://github.com/databrickslabs/migrate-ip-acls.git
cd migrate-ip-acls
安裝工具的相依性:
uv sync
以工作區管理員身分驗證登入工作區
閱讀和修改工作區 IP 存取清單需要工作區管理員權限。
透過執行以下指令來驗證工作區:
databricks auth login \
--host https://adb-<WORKSPACE_URL>.azuredatabricks.net/
認證指令會為工作區建立一個 Azure Databricks CLI 設定檔。 你在執行遷移工具時會使用這個設定檔。
以帳號管理員身份驗證該帳號
建立和指派網路政策需要帳號管理員權限。
請執行以下指令驗證帳號:
databricks auth login \
--host https://accounts.azuredatabricks.net \
--account-id <ACCOUNT_ID>
使用包含您要移轉之工作區的帳戶。
啟動遷移工具
啟動遷移工具時,請執行以下指令:
uv run dbx-migrate-ip-acls --profile <my-workspace-profile-name> --account-id <acct-id> --export .
輸入參數
| 參數 | 說明 | 有效數值 | 預設值 | 推薦或選修 |
|---|---|---|---|---|
--profile <value> |
要移轉之工作區的 Azure Databricks CLI 工作區設定檔。 | 任何列於 databricks auth profiles 中的工作區設定檔名稱,皆由 databricks auth login --host <workspace-url> 產生 |
不適用 | 建議。 若未提供,將被提示。 |
--account-id <value> |
Azure Databricks 帳號 ID 包含所選工作區。 | 任何有效的 Azure Databricks 帳號 ID(必須與所選工作區相關聯) | 不適用 | 建議。 若未提供,將被提示。 |
--export <value> |
寫入所產生原則之 JSON 與 Terraform 檔案的檔案路徑。
--export . 寫入目前的目錄。 |
任何有效的檔案路徑 | 不適用 | 建議。 如果遺漏了檔案,我就不會匯出任何檔案。 |
--policy-name <value> |
產生的網路政策名稱。 | 該名稱必須不已被帳號內的其他網路政策使用。 | 不適用 | 選擇性。 若未提供,將被提示。 |
--policy-mode <value> |
無論產生的基於情境的入口政策是被強制執行,還是模擬演練模式。 強制模式 會強制執行該政策。 試跑模式 僅記錄日誌(記錄入侵拒絕,無強制執行)。 |
enforce、dry_run |
enforce |
選擇性。 如果省略,則使用預設值。 |
--auto-assign / --no-auto-assign |
控制建立後產生的政策是否會附加到所選工作區。 附加新政策會取代工作區先前的網路政策指派。 | 不適用 | --auto-assign |
選擇性。 如果省略,則使用預設值。 |
--create-policy / --no-create-policy |
建立新的網路政策。 使用 --no-create-policy --no-auto-assign 進行僅提議的執行。 |
不適用 | --create-policy |
選擇性。 如果省略,則使用預設值。 |
--disable-existing-ip-acls |
成功建立並附加強制政策後,會停用工作區 IP 存取清單的強制執行。 IP 存取清單的設定本身會被保留。 | 不適用 | 不會停用現有的 IP 存取清單 | 選擇性。 如果省略,則使用預設值。 |
該工具會拒絕可能在遷移後以不同入口政策離開工作區的參數組合。 例如,--disable-existing-ip-acls除非工具同時建立並附加強制網路政策,否則無法使用。 它也拒絕無意義的組合,如 --no-create-policy --auto-assign。
檢查並核准輸出
在建立、附加或執行產生的政策之前,工具會先列印產生的網路政策以供檢查與驗證。 一旦你核准,工具會根據你的輸入參數套用這些變更。
套用生成的 Terraform 腳本
如果您指定 --export,工具會建立產生的政策的 JSON 表示及對應的 Terraform 設定。
在將生成的 Terraform 加入你的基礎設施即程式碼配置或執行 terraform apply之前,請先檢視它。 Terraform 的輸出結果旨在作為以基礎結構即程式碼管理所產生原則的起點。
確認移轉
工具建立並附加原則後,請先確認其運作符合預期,再加以依賴:
- 在帳號主控台中,點選 工作區,選擇工作區,並確認產生的政策是否列在 網路政策中。
- 如果你是在試運行模式下建立原則,請產生一般的工作區流量,然後檢視拒絕記錄,以確認轉換後的規則是否符合你預期的存取設定。 當規則正確時,將政策切換為強制模式。 參見 設定執行模式。
拒絕記錄會儲存在 Unity 目錄 system.access.inbound_network 資料表中。 試行拒絕在 DROP 欄中會顯示為 DRY_RUN_DENIAL 值,而強制拒絕則會顯示為 access_type。 請參閱 檢查拒絕記錄。
遷移工具的限制
遷移工具不支援以下配置:
- 工作區已經指派了一項限制性的基於上下文的入口政策。 如果工具設定為建立並指派新政策,若工作區已有包含強制或預執行的入門規則的指派政策,工具會中止。 允許所有基準政策不會觸發此檢查。
下一步
| 資源 | 說明 |
|---|---|
| 管理工作空間基於情境的入口政策 | 調整產生的政策、新增或編輯規則,或更改執行模式。 |
| 基於上下文的入口控制 | 瞭解基於情境的 Ingress 如何評估請求。 |