共用方式為


安全性

開發通道是一項以安全性為焦點的開發人員通道服務。 在本文中,了解開發通道如何受到保護。

概觀

根據預設,裝載並連線到通道需要使用建立通道的相同 Microsoft、Microsoft Entra ID 或 GitHub 帳戶進行驗證。 通道需要對 Azure 中裝載的服務進行輸出連線。 使用服務不需要輸入連線。

網域

您可以藉由允許或拒絕對下列網域的輸出存取,來控制對開發通道的存取:

  • 驗證

    • github.com
    • login.microsoftonline.com
  • 開發通道

    • global.rel.tunnels.api.visualstudio.com
    • [clusterId].rel.tunnels.api.visualstudio.com
    • [clusterId]-data.rel.tunnels.api.visualstudio.com
    • *.[clusterId].devtunnels.ms
    • *.devtunnels.ms

目前 [clusterId] 值的清單可在取得 https://global.rel.tunnels.api.visualstudio.com/api/v1/clusters

Web 轉送

使用 HTTP(S)/WS(S) 通訊協定的通道埠可以直接透過提供的 Web 轉送 URL 存取(例如:)。 https://tunnelid-3000.devtunnels.ms

  • 不安全的用戶端連線一律會自動升級至 HTTPS/WSS。
  • HTTP Strict Transport Security (HSTS) 已啟用一年上限。
  • 服務支援的最低 TLS 版本是 1.2,TLS 1.3 是慣用的版本。
  • TLS 終止是在服務輸入時使用 Microsoft CA 所簽發的服務憑證來完成。
    • TLS 終止之後,會進行標頭重寫。 這是許多 Web 應用程式開發案例的必要專案。

反網路釣魚防護

第一次連線到 Web 轉寄 URL 時,使用者會看到插播式反網路釣魚頁面。 在下列情況下會略過頁面:

  • 要求會使用 以外的方法 GET
  • 要求 Accept 標頭不包含 text/html
  • 要求包含 X-Tunnel-Skip-AntiPhishing-Page 標頭
  • 要求包含 X-Tunnel-Authorization 標頭
  • 使用者已瀏覽過頁面,然後按兩下 [繼續]

通道存取

根據預設,通道和通道埠是私人的,只能供建立通道的使用者存取。

如果需要在沒有驗證的情況下存取通道或通道埠,可以新增允許匿名訪問控制專案 (ACE)(使用 --allow-anonymous)。

通道存取也可以延伸至您目前的 Microsoft Entra 租使用者(使用 --tenant)或特定的 GitHub 組織(使用 --organization),如需後者,請參閱 下面的 GitHub 組織存取

CLI 也可以用來要求存取令牌,以授與任何持有令牌的有限存取權的存取令牌(使用 devtunnel token)。 這是進階功能,但在特定情況下很有用。

目前有四種類型的通道存取令牌可供使用:

  • 「用戶端存取令牌」可讓持有人連線到通道的任何埠。
  • 「主機存取令牌」可讓持有人裝載通道並接受連線,但不會進行任何其他變更。
  • 「管理埠存取令牌」可讓持有人在通道上新增和刪除埠。
  • 「管理存取令牌」可讓持有人在該通道上執行任何作業,包括設定訪問控制、裝載、連線和刪除通道。

所有令牌都受限於目前的通道;若有的話,他們不會將存取權授與目前使用者 的任何其他 通道。 令牌會在一段時間後到期(目前為24小時)。 令牌只能使用具有通道管理範圍存取權的實際使用者身分識別來重新整理(不只是管理存取令牌)。

大部分的 CLI 命令都可以接受 --access-token 具有適當令牌的自變數,作為登入的替代方案。

Web 用戶端可以在標頭中傳遞令牌,以授權對通道 URI 的要求:

X-Tunnel-Authorization: tunnel <TOKEN>

提示

這適用於非互動式用戶端,因為它允許它們存取通道,而不需要啟用匿名存取。 我們會使用 X-Tunnel-Authorization 標頭,而不是標準 Authorization 標頭,以防止可能會干擾應用程式特定的授權。

請參閱管理開發通道存取一節,以深入瞭解如何透過CLI管理通道存取。

GitHub 組織存取

若要支援授與 GitHub 組織所有成員存取權的通道,請在組織中安裝 Dev Tunnels GitHub 應用程式 。 這可提供 Dev Tunnels 服務許可權,以檢查組織中的使用者成員資格狀態。 (Dev Tunnels 不需要組織存放庫許可權。)您可能需要是 GitHub 組織中的系統管理員,才能執行這項作業。

進一步的問題

如果在檢閱此頁面之後,您有進一步的問題,請參閱 意見反應和支援