共用方式為


使用條件式原則保護 Dev Tunnel 存取

開發隧道提供了一種直接從 Visual Studio Code 連接到開發箱的簡化方式,無需使用 Windows 應用程式或瀏覽器等單獨的應用程式。 這種方法提供了更即時和整合的開發體驗。 與傳統的連接方法不同,開發隧道簡化了訪問並提高了生產力。

許多使用 Dev Box 的大型企業都有嚴格的安全性和合規性原則,而且其程式碼對其業務很有價值。 本文說明如何設定條件式存取原則,以保護環境中的開發通道使用方式。

先決條件

在繼續之前,請確保您擁有:

  • 存取開發箱環境。
  • 已安裝 Visual Studio Code。
  • PowerShell 7.x 或更新版本 (7.x 系列中的任何版本都可以接受)。
  • 在 Microsoft Entra ID 中設定條件式存取原則的適當許可權。

對開發通道設定條件式存取的優點

開發通道服務的條件式存取原則:

  • 讓開發通道從受控裝置連線,但拒絕來自非受控裝置的連線。
  • 讓開發通道從特定 IP 範圍連線,但拒絕來自其他 IP 範圍的連線。
  • 支援其他一般條件式存取組態。
  • 適用於 Visual Studio Code 應用程式和 VS Code Web。

備註

本文著重於設定專門針對開發通道的條件式存取原則。 如果您要更廣泛地設定 Dev Box 的原則,請參閱 設定 Dev Box 的條件式存取

設定條件式存取原則

若要使用條件式存取來保護開發通道,您必須使用自訂安全性屬性來鎖定開發通道服務。 本節將引導您完成設定這些屬性並建立適當條件式存取原則的程式。

啟用條件式存取選擇器的 Dev Tunnels 服務

Microsoft Entra ID 團隊正在努力消除將應用程序上線以顯示在應用程序選擇器中的需要,預計將於 5 月交付。 因此,我們不會將開發通道服務上線到條件式存取選擇器。 而是會使用自訂安全性屬性,在條件式存取原則中針對開發通道服務設定存取規則。

  1. 請遵循 在 Microsoft Entra ID 中新增或停用自定義安全性屬性定義 ,以新增下列屬性集和新屬性。

    Microsoft Entra ID 中自定義安全性屬性定義程式的螢幕快照。

    Microsoft Entra ID 中新屬性建立的螢幕快照。

  2. 遵循 建立條件式存取原則 來建立條件式存取原則。

    開發通道服務條件式存取原則設定程序的螢幕快照。

  3. 請遵循 設定自定義屬性 來設定開發通道服務的自定義屬性。

    在 Microsoft Entra ID 中設定開發人員通道服務的自定義屬性螢幕快照。

測試

  1. 關閉 BlockDevTunnelCA 原則。

  2. 在測試租用戶中建立開發箱,並在其中執行下列命令。 您可以在外部建立並連線到開發通道。

    code tunnel user login --provider microsoft
    code tunnel
    
  3. 開啟 BlockDevTunnelCA 原則。

    1. 您無法建立與現有開發通道的新連線。 如果已建立連線,請使用替代瀏覽器進行測試。

    2. 執行步驟 2 中命令的任何新嘗試都會失敗。 這兩個錯誤都是:

      開發通道連線被條件式存取原則封鎖時出現的錯誤訊息的螢幕擷取畫面。

  4. Microsoft Entra ID 登入記錄會顯示這些項目。

    Microsoft Entra ID 登入記錄的螢幕快照,其中顯示與 Dev Tunnels 條件式存取原則相關的項目。

局限性

使用 Dev Tunnels 時,適用以下限制:

  • 原則指派限制:您無法設定 Dev Box 服務的條件式存取原則,以管理 Dev Box 使用者的開發通道。 相反地,請依照本文所述,在 Dev Tunnels 服務層級配置策略。
  • 自行建立的開發通道:您無法限制未由 Dev Box 服務管理的開發通道。 在開發箱的情境中,如果將開發通道的群組原則物件 (GPO) 設定為僅允許選定的 Microsoft Entra 租用戶 ID,則條件式存取原則也可以限制自行建立的開發通道。
  • IP 範圍強制執行:開發隧道可能不支援詳細的 IP 限制。 考慮使用網路層級控制或諮詢您的安全團隊以取得替代強制策略。