Microsoft 開發箱部署指南
在本文中,您將了解規劃和實作 Microsoft 開發箱部署的程序、組態選項和考量事項。
部署 Microsoft 開發箱需要組織內不同角色的參與。 每個角色都有特定的責任和需求。 開始實作 Microsoft 開發箱之前,請務必從不同的角色收集所有需求,因為它們會影響 Microsoft 開發箱中不同元件的組態設定。 概述需求之後,您就可以完成部署步驟以在您的組織中推出開發箱。
組織角色和責任
開發箱服務的設計以三個組織角色為考量:平台工程師、開發小組負責人以及開發人員。 視組織的大小和結構而定,其中一些角色可能會由人員或小組合併。
在組織中部署 Microsoft 開發箱時,每個角色都有特定責任:
平台工程師:與 IT 系統管理員合作,為開發人員小組設定開發人員基礎結構和工具。 這包含下列工作:
- 設定 Microsoft Entra ID,以啟用開發小組負責人和開發人員的身分識別和驗證
- 在組織的 Azure 訂用帳戶中建立和管理開發人員中心
- 在開發人員中心內建立和管理網路連線、開發箱定義和計算資源庫
- 在開發人員中心內建立和管理專案
- 在組織的 Azure 訂用帳戶中建立及設定其他 Azure 資源
- 為開發箱設定 Microsoft Intune 裝置組態,並將授權指派給開發箱使用者
- 設定網路設定,以啟用對組織資源的安全存取和連線
- 設定安全性設定,以授權存取開發箱
開發小組負責人:協助建立和管理開發人員體驗。 這包括下列工作:
- 在專案內建立和管理開發箱集區
- 為平台工程師提供輸入,以在開發人員中心內建立和管理開發箱定義
開發人員:在其指派的專案內自助管理一或多個開發箱。
- 從開發人員入口網站根據專案開發箱集區建立和管理開發箱
- 使用 Windows 應用程式等遠端桌面用戶端連線到開發方塊
定義 Microsoft 開發箱的需求
當您準備在組織中進行 Microsoft 開發箱部署時,請務必先定義使用者和 IT 治理需求。 例如,開發小組是否在地理上分散、是否已設定安全性原則、標準化特定計算資源等等。
Microsoft 開發箱提供每個不同元件的各種組態選項,以針對您的特定需求最佳化部署。 根據這些需求,您可以微調組織的具體開發箱部署計劃和實作步驟。
例如,如果您的開發小組需要存取公司資源,例如中央資料庫,則這會影響開發箱集區的網路設定,且可能需要額外的 Azure 網路元件。
下表列出在設定開發箱元件時可能會影響您 Microsoft 開發箱部署和考量事項的需求。
類別 | 需求 | 考量 |
---|---|---|
開發小組設定 | 地理位置分散的小組。 | 開發箱集區網路連線的 Azure 區域會決定裝載開發箱的位置。 若要將開發人員機器與其開發箱之間的延遲最佳化,請裝載最接近開發箱使用者位置的開發箱。 如果您有多個地理位置分散的小組,則可以建立多個網路連線和相關聯的開發箱集區,以容納每個區域。 |
具有不同小組負責人和權限的多個專案。 | 開發專案的權限會控制在開發人員中心內的專案層級。 當您需要跨不同開發小組進行控制時,請考慮建立新的專案。 | |
開發箱設定 | 不同的小組對於其開發箱有不同的軟體需求。 | 建立一或多個開發箱定義,以代表整個組織的不同作業系統/軟體/硬體需求。 開發箱定義會使用特定 VM 映像,其可針對特定用途建置。 例如,為具有數據科學工具和其他資源的數據科學家建立開發方塊定義。 開發箱定義會跨開發人員中心共用。 當您在專案內建立開發箱集區時,就可以從開發箱定義清單中選取。 |
多個計算/資源組態。 | 開發箱定義結合了 VM 映像和用於開發箱的計算資源。 根據您的專案計算資源需求,建立一或多個開發箱定義。 當您在專案內建立開發箱集區時,就可以從開發箱定義清單中選取。 | |
開發人員可以自訂其開發箱。 | 針對個別開發人員自訂,例如設定原始檔控制存放庫或開發人員工具設定,您可以啟用開發箱的自訂。 | |
在組織特定的 VM 映像上標準化。 | 當您設定開發人員中心時,可以指定一或多個 Azure 計算資源庫,其中包含您組織專屬的 VM 映像。 使用計算資源庫,您可以確保只使用核准的 VM 映像來建立開發箱。 | |
身分識別與存取權 | 具有 Microsoft Entra ID 的僅限雲端使用者管理。 | 您的使用者管理解決方案會影響建立開發箱集區的網路選項。 當您使用 Microsoft Entra ID 時,可以選擇裝載 Microsoft 和使用自己的網路功能。 |
使用 Azure Active Directory 帳戶登入。 | 如果您在 Active Directory Domain Services 中管理使用者,則必須使用 Microsoft Entra 混合式聯結來與 Microsoft 開發箱整合。 因此,您無法在建立開發箱集區時使用 Microsoft 裝載的網路選項,且必須使用 Azure 網路來啟用混合式網路連線。 | |
網路與連線 | 其他 Azure 資源的存取權。 | 當您需要存取其他 Azure 資源時,必須設定 Azure 網路連線。 因此,您無法在建立開發箱集區時使用 Microsoft 裝載的網路選項。 |
公司資源的存取權 (混合式連線)。 | 若要存取公司資源,您必須設定 Azure 網路連線,然後使用第三方 VPN、Azure VPN 或 Azure ExpressRoute 來設定混合式連線。 因此,您無法在建立開發箱集區時使用 Microsoft 裝載的網路選項。 | |
自訂路由。 | 當您需要自訂路由時,必須設定 Azure 網路連線。 因此,您無法在建立開發箱集區時使用 Microsoft 裝載的網路選項。 | |
網路安全性 | 使用網路安全性群組 (NSG) 設定流量限制。 | 當您要求網路安全性群組限制輸入和輸出流量時,必須設定 Azure 網路連線。 因此,您無法在建立開發箱集區時使用 Microsoft 裝載的網路選項。 |
使用防火牆。 | 若要使用防火牆或應用程式閘道,您必須設定 Azure 網路連線。 因此,您無法在建立開發箱集區時使用 Microsoft 裝載的網路選項。 | |
裝置管理 | 將開發箱的存取限制為僅限受管理的裝置,或根據地理位置。 | 您可以使用 Microsoft Intune 來建立動態裝置群組和條件式存取原則。 了解如何設定 Intune 條件式存取原則。 |
在不同的裝置上設定裝置設定和功能。 | 佈建開發箱之後,您可以像 Microsoft Intune 中的任何其他裝置一樣進行管理。 您可以建立裝置組態設定檔來開啟和關閉不同的設定。 |
部署 Microsoft 開發箱
定義需求之後,您可以開始部署 Microsoft 開發箱。 Microsoft 開發箱是由多個 Azure 資源所組成,例如開發人員中心、專案、開發箱定義等等。 開發箱也與其他 Azure 服務和 Microsoft Intune 具有相依性。 深入了解 Microsoft 開發箱結構。
部署 Microsoft 開發箱牽涉到跨 Azure、Intune 和基礎結構建立和設定多個服務。 下列各節提供在組織中部署 Microsoft 開發箱的不同步驟。 某些步驟是選擇性的,取決於您的特定組織設定。
步驟 1:設定 Azure 訂用帳戶
訂用帳戶是 Azure 中管理、計費、縮放的單位。 由於組織和治理設計、資源配額和容量、成本管理等等,您可以擁有一或多個 Azure 訂用帳戶。 深入了解建立 Azure 訂用帳戶的考量事項。
每個 Azure 訂用帳戶都會連結至單一 Entra 租用戶,作為您 Azure 訂用帳戶的識別提供者 (IdP)。 Entra 租用戶可用來驗證使用者、服務和裝置。
每個開發箱使用者都需要 Microsoft Intune 授權。 包含開發箱 Azure 資源的 Azure 訂用帳戶 (開發人員中心、專案等) 必須位於與 intune Microsoft 相同的租用戶中。
步驟 2:設定網路元件
開發箱需要網路連線才能存取資源。 您也可以選擇 Microsoft 裝載的網路連線,以及您在自己的訂用帳戶中建立的 Azure 網路連線。 當您使用 Azure 網路連線時,必須在 Azure 及可能在組織的網路基礎結構中設定對應的網路元件。
您可能需要設定的網路元件範例:
- Azure 虛擬網路 (VNet)
- 設定虛擬網路對等互連
- 設定網路安全性群組 (NSG)
- 設定防火牆,例如 Azure 防火牆或其他
- 設定 Azure ExpressRoute
- 設定 VPN 或閘道
當您有下列需求時,必須使用 Azure 網路連線並據以設定您的網路:
- 從開發箱存取內部部署資源,例如授權伺服器、印表機、版本控制系統或其他
- 存取其他 Azure 資源,例如 Cosmos DB 資料庫、AKS 叢集等等
- 限制透過防火牆或網路安全性群組 (NSG) 的存取
- 定義自訂網路路由規則
- 使用者管理不在 Microsoft Entra ID 中
透過 Microsoft Entra 混合式聯結連線到內部部署資源時,請與您的 Azure 網路拓撲專家合作。 最佳做法是實作中樞和輪輻網路拓撲。 中樞是連線到內部部署網路的中心點;您可以使用 Express Route、站對站 VPN 或點對站 VPN。 輪輻是包含開發箱的虛擬網路。 您可以將開發箱虛擬網路對等互連至內部部署連線的虛擬網路,以提供內部部署資源的存取權。 中樞和輪輻拓撲可協助您管理網路流量和安全性。
網路規劃應包含所需 IP 位址數目的估計,以及其跨 VNET 的散發。 Azure 網路連線健康情況檢查需要額外的免費 IP 位址。 每個開發箱需要 1 個額外的 IP 位址,健康情況檢查和開發箱基礎結構則需要兩個 IP 位址。
深入了解 Microsoft 開發箱網路需求。
步驟 3:設定角色型存取控制的安全性群組
Microsoft 開發箱使用 Azure 角色型存取控制 (Azure RBAC) 來授與服務中功能的存取權:
- 授與專案管理員對 Microsoft 開發箱專案執行系統管理工作的存取權 (專案管理員角色)
- 授與開發箱使用者存取權,以在開發箱專案中建立和管理其開發箱 (開發箱使用者角色)
請考慮在 Microsoft Entra ID 中建立安全性群組,以授與或撤銷每個專案的系統管理員和使用者存取權。 藉由使用安全性群組,您可以委派在 Azure 資源上針對其權限獨立授與存取權的工作。 例如,您可以刪除授與開發箱使用者的存取權給該專案的開發小組負責人。
深入了解 Microsoft Entra ID 群組。
步驟 4:建立開發人員中心
若要開始使用 Microsoft 開發箱,請先建立開發人員中心。 Microsoft 開發箱中的開發人員中心提供集中的位置來管理專案集合、可用開發箱映像和大小的設定,以及網路設定,讓您可以存取組織資源。
在下列情況下,您可能會考慮建立多個開發人員中心:
如果您希望特定組態可供專案的子集使用。 開發人員中心中的所有專案都會共用相同的開發箱定義、網路連線、目錄和計算資源庫。
如果不同的人員需要在 Azure 中擁有和維護開發人員中心資源。
注意
開發人員中心所在的 Azure 區域不會判斷開發箱的位置。
深入了解如何建立適用於 Microsoft 開發箱的開發人員中心。
步驟 5:設定網路連線
網路連線可控制開發箱的建立和託管位置,並可讓您連線到其他 Azure 或公司資源。 視您的控制層級而定,您可以使用 Microsoft 託管的網路連線或自己的 Azure 網路連線。
Microsoft 託管的網路連線會以 SaaS 方式提供網路連線。 Microsoft 會管理您開發箱的網路基礎結構和相關服務。 Microsoft 託管的網路是僅限雲端的部署,可支援加入 Microsoft Entra。 此選項與 Microsoft Entra 混合式聯結模型不相容。
系統會建立 Microsoft 裝載的網路連線,並指派給特定的開發人員中心專案。 您可以為每個專案建立多個網路連線。 在專案中建立的網路連線不會與其他專案共用。
您也可以使用 Azure 網路連線 (自己的網路) 來連線到 Azure 虛擬網路,並選擇性地連線到公司資源。 透過 Azure 網路連線,您可以管理和控制整個網路設定和設定。 您可以使用 Microsoft Entra 聯結或 Microsoft Entra 混合式聯結選項搭配 Azure 網路連線,讓您連線到內部部署 Azure Active Directory Domain Services。
您可以建立 Azure 網路連線,並將其指派給開發人員中心。 開發人員中心中的所有專案都會共用開發人員中心的網路連線。
請考慮在下列案例中建立個別的網路連線:
- 開發人員或小組位於不同的地理區域。 網路連線區域會決定裝載開發箱的位置。
- 開發人員或小組需要存取 Azure 資源。 請考慮為每個使用案例建立個別的 Azure 網路連線 (例如,原始檔控制伺服器的存取權,或 Web 應用程式和資料庫伺服器的存取權)。
- 開發人員或小組需要存取公司與內部部署資源。 建立 Azure 網路連線,並將其設定為混合式連線。
- 開發箱使用者必須使用其 Active Directory 帳戶進行驗證。 建立 Azure 網路連線,並將其設定為混合式連線。
步驟 6:建立計算資源庫
根據預設,開發箱定義可以使用任何與 Azure Marketplace 中開發箱相容的虛擬機器 (VM) 映像。 您可以將一或多個 Azure 計算資源庫指派給開發人員中心,以控制所有開發人員中心專案可用的 VM 映像。
Azure 計算資源庫是管理及共用映像的服務。 資源庫是儲存在 Azure 訂用帳戶中的存放庫,可協助您建置映像資源周圍的結構和組織。
在下列情況下,請考慮使用 Azure 計算資源庫:
- 開發小組可以將支援的映像版本標準化,直到完成更新版本的驗證為止。
- 開發小組可以使用映像定義的最新版本,以確保他們一律會在建立開發箱時收到最新的映像。
- 開發小組可以從預先設定其專案或使用案例之軟體元件和組態的映像中選擇。 例如,資料科學專案的映像、前端 Web 開發等等。
- 您會在單一位置維護映像,並跨開發人員中心、專案和集區使用這些映像。
當您建立自訂 VM 映像時,也請考慮使用開發箱自訂工作來限制 VM 映像變體的數目,並讓開發人員自行微調其開發箱組態。 例如,您可以建立一般用途的開發映像,並使用自訂來讓開發人員針對特定開發工作進行設定,以及預先設定其原始程式碼存放庫。
深入了解如何設定開發人員中心的計算資源庫。
步驟 7:附加目錄
開發箱使用者可以使用安裝工作來自訂其開發箱,例如安裝其他軟體、複製存放庫等等。 這些工作會在開發箱建立程序期間執行。 藉由使用開發箱自訂和設定工作,您可以減少專案維護所需的 VM 映像數目。
安裝工作定義於目錄中,可以是 GitHub 存放庫或 Azure DevOps 存放庫。 將一或多個目錄附加至開發人員中心。 所有工作都可供跨開發人員中心內所有專案建立的所有開發箱使用。
Microsoft 提供快速入門目錄,協助您開始使用自訂內容。 此目錄包含一組預設工作,可定義一般安裝工作,例如使用 WinGet 或 Chocolatey 安裝軟體、複製存放庫、設定應用程式或執行 PowerShell 指令碼。
請考慮在下列情況下附加目錄:
- 開發箱使用者具有其開發箱的個別自訂需求
- 您想要為開發小組提供一組標準化選項以自訂其開發箱
- 您想要限制要維護的 VM 映像和開發箱定義數目
如果快速入門目錄中的工作不足,請考慮建立新的目錄。 您可以將快速入門目錄和您自己的目錄附加至開發人員中心。
了解如何建立開發箱自訂。
步驟 8:建立開發箱定義
開發方塊定義包含開發方塊的設定,方法是指定 VM 映像、計算資源,例如記憶體和 CPU,以及記憶體。
您可以在開發人員中心層級設定開發箱定義。 所有開發人員中心專案都會共用開發人員中心內的開發箱定義。
請考慮在下列案例中建立一或多個開發箱定義:
- 開發小組需要不同的 VM 映像,因為它們需要另一個作業系統版本或其他應用程式。
- 開發小組有不同的計算資源需求。 例如,資料庫管理員可能需要具有大量記憶體和記憶體的計算機。
請考慮與開發箱定義相關聯的計算資源成本,以評估部署的總成本。
步驟 9:建立專案
在 Microsoft 開發箱中,您會建立專案並與開發人員中心建立關聯。 專案通常會對應到您組織內的開發專案。 例如,您可以建立用於開發企業營運應用程式的專案,以及用於開發公司網站的另一個專案。
在專案中,您可以定義可供開發箱使用者用來建立開發箱的開發箱集區清單。 在專案層級,您可以指定開發箱使用者可以建立的開發箱數目限制。
Microsoft 開發箱使用 Azure 角色型存取控制 (Azure RBAC) 來授與專案層級中功能的存取權:
- 授與專案管理員對 Microsoft 開發箱專案執行系統管理工作的存取權 (專案管理員角色)
- 授與開發箱使用者存取權,以在開發箱專案中建立和管理其開發箱 (開發箱使用者角色)
請考慮使用 Microsoft Entra ID 群組來管理專案開發箱使用者和系統管理員的存取權。
請考慮在下列情況下建立開發人員中心專案:
- 您想要針對軟體開發專案為開發小組提供一組標準化雲端開發人員工作站
- 您有多個具有個別專案管理員和存取權限的開發專案
深入了解如何建立和管理專案。
步驟 10:建立開發箱集區
在專案中,專案管理員可以建立一或多個開發箱集區。 開發箱使用者使用開發人員入口網站來選取開發箱集區來建立其開發箱。
開發箱集區會連結具有網路連線的開發方塊定義。 您可以選擇 Microsoft 裝載的連線或自己的 Azure 網路連線。 網路連線的位置會決定裝載開發箱的位置。 請考慮使用最接近開發箱使用者的網路連線來建立開發箱集區。
若要降低執行開發箱的成本,您可以在開發箱集區中設定開發箱,以在預先定義的時間每天關閉。
請考慮在下列情況下建立開發箱集區:
- 為開發小組所需的每個開發箱定義建立開發箱集區。
- 若要減少網路延遲,請針對您擁有開發箱使用者的每個地理位置建立開發箱集區。 選擇最接近開發箱使用者的網路連線。
- 為需要存取其他 Azure 資源或內部部署資源的開發人員建立開發箱集區。 當您設定開發箱集區時,請從開發人員中心中的 Azure 網路連線清單中選取。
深入了解如何建立和管理開發箱集區。
步驟 11:設定 Microsoft Intune
Microsoft 開發箱會使用 Microsoft Intune 來管理您的開發箱。 使用 Microsoft Intune 系統管理中心來設定與開發箱部署相關的 Intune 設定。
注意
每個開發箱使用者都需要一個 Microsoft Intune 授權,而且可以建立多個開發箱。
裝置設定
佈建開發箱之後,您可以像 Microsoft Intune 中的任何其他 Windows 裝置一樣進行管理。 例如,您可以建立裝置組態配置檔,在 Windows 中開啟和關閉不同的設定,或將應用程式和更新推送至您的使用者開發箱。
設定條件式存取原則
您可以使用 Intune 來設定條件式存取原則,以控制開發箱的存取。 針對開發箱,設定條件式存取原則來限制誰可以存取開發箱、其用途,以及他們可以從何處存取。 若要設定條件式存取原則,可以使用 Microsoft Intune 來建立動態裝置群組和條件式存取原則。
Microsoft 開發箱中條件式存取的一些使用案例包括:
- 將開發箱的存取限制為受控裝置
- 限制從開發箱複製/貼上的能力
- 僅限制特定地理位置對開發箱的存取
了解如何設定開發箱的條件式存取原則。
權限管理
您可以針對開發箱設定 Microsoft Intune 端點權限管理 (EPM),讓開發箱使用者不需要本機系統管理權限。 「Microsoft Intune 端點權限管理」可讓您的組織的使用者以標準使用者身分執行 (沒有系統管理員權限),並完成需要提高權限的工作。 通常需要系統管理權限的工作包含應用程式安裝 (例如 Microsoft 365 應用程式)、更新裝置驅動程式,以及執行特定 Windows 診斷。
深入了解如何設定 Microsoft 開發箱的 Microsoft Intune 端點權限。