本文主要針對平台工程師、中央 IT 管理員及其他規劃和管理 Microsoft Dev Box 部署的高階管理員。 它描述了 Microsoft Dev Box 支援的不同內建角色,以及這些角色如何對應到組織職務,如平台工程師和開發經理,讓你能在推出 Dev Box 前規劃正確的權限模型。
Azure 角色基礎存取控制(RBAC)指定了內建的角色,定義要套用的權限。 你不是直接把細緻的權限授予個別使用者或群組,而是指派角色,將相關權限打包在一起,這樣你就能在各資源間一致套用和審核存取權限。 您會透過在特定範圍內建立角色指派,將此角色定義指派給使用者或群組。 範圍可以是單一資源、資源群組,或整個訂用帳戶層級。 在下一節中,您將了解 Microsoft 開發箱支援的內建角色。
如需詳細資訊,請參閱什麼是 Azure 角色型存取控制 (Azure RBAC)?
附註
當您變更角色指派時,這些更新可能需要幾分鐘的時間才會傳播完成。
內建角色
在本文中,Azure 內建角色會依其影響範圍,邏輯性地分為三種組織角色類型:
平台工程師角色:影響開發中心、目錄與專案的權限
開發經理:影響以專案為基礎的資源權限
開發人員角色:影響使用者的權限
以下是 Microsoft 開發箱支援的內建角色:
| 組織角色類型 | 內建角色 | 描述 |
|---|---|---|
| 平台工程師 | 擁有者 | 授予建立與管理開發中心、目錄及專案的完整控制權,並可將權限指派給其他使用者。 深入了解擁有者角色。 |
| 平台工程師 | 參與者 | 授與建立/管理開發人員中心、目錄和專案的完整控制權,但為其他使用者指派角色的控制權除外。 深入了解參與者角色。 |
| 平台工程師 | DevCenter 擁有者 | 提供管理所有 Microsoft.DevCenter 資源及存取權限。 了解更多關於 DevCenter 擁有者的角色。 |
| 開發人員管理員 | DevCenter 專案管理員 | 授予管理專案與開發箱部分項目的權限。 深入了解 DevCenter 專案管理員角色。 |
| 開發人員 | 開發箱使用者 | 授與建立開發箱的權限,並對其建立的開發箱擁有完整控制權。 深入了解開發箱使用者角色。 |
角色指派範圍
Azure RBAC 中,範圍:範圍是存取權適用的資源集。 在指派角色時,了解範圍非常重要,才能只授予所需的存取權限。
Azure 有下列四個層級可讓您指定範圍:管理群組、訂閱、資源群組和資源。 範圍的結構為父子式關聯性。 階層的每個層級都會讓範圍更為明確。 您可以在任何範圍層級指派角色。 角色套用範圍依您選取的層級而定。 較低層級會繼承較高層級的角色權限。 深入了解適用於Azure RBAC 的範圍。
針對 Microsoft 開發箱,請考慮下列範圍:
| Scope | 描述 |
|---|---|
| 訂用帳戶 | 用於管理所有 Azure 資源和服務的計費和安全性。 一般而言,只有平台工程師具有訂用帳戶層級的存取權,因為此角色指派會授與訂用帳戶中所有資源的存取權。 |
| 資源群組 | 用來將資源分組的邏輯容器。 為資源群組指派角色,會授予該資源群組及其內所有資源的權限,例如開發中心、開發箱定義、開發箱集區、專案以及開發箱。 |
| 開發人員中心 (資源) | 需要類似設定的專案集合。 開發人員中心的角色指派會授與開發人員中心本身的權限。 指派給開發中心的權限不會被其他開發箱資源繼承。 |
| 專案 (資源) | 建立開發箱時,用於套用常見組態設定的 Azure 資源。 專案的角色指派只會授與該特定專案的權限。 |
| 開發箱集區 (資源) | 共同管理並套用類似設定的開發箱集合。 開發箱集區的角色指派只會授與該特定開發箱集區的權限。 |
| 開發箱定義 (資源) | 指定來源映像和大小 (包括計算大小和儲存體大小) 的 Azure 資源。 開發箱定義的角色指派只會授與該特定開發箱定義的權限。 |
常見開發箱活動的角色
下表顯示常見開發箱活動,以及使用者執行該活動所需的角色。
| 活動 | 角色類型 | 角色 | Scope |
|---|---|---|---|
| 授與建立資源群組的權限。 | 平台工程師 | 擁有者或參與者 | 訂用帳戶 |
| 授與權限以提交 Microsoft 支援票證,包括要求容量。 | 平台工程師 | 擁有者、參與者、支援要求參與者 | 訂用帳戶 |
| 授與建立虛擬網路和子網路的權限。 | 平台工程師 | 網路參與者 | 資源群組 |
| 授與建立網路連線的權限。 | 平台工程師 | 擁有者或參與者 | 資源群組 |
| 授與將角色指派給其他使用者的權限。 | 平台工程師 | 擁有者 | 資源群組 |
| 授與下列權限: - 建立/管理開發人員中心。 - 新增/移除網路連線。 - 新增/移除 Azure Compute Gallery。 - 建立/管理開發箱定義。 - 建立/管理專案。 - 將目錄連結至開發人員中心或專案/管理目錄 (必須在開發人員中心啟用專案層級目錄)。 - 設定開發箱限制。 |
平台工程師 | 參與者 | 資源群組 |
| 授權建立和管理 Dev Box 資源,但不允許存取資源群組中其他資源類型。
- 開發中心 - 專案 - 開發盒定義 - 開發盒池 |
平台工程師 | DevCenter 擁有者 | 資源群組 |
| 授與新增或移除開發人員中心網路連線的權限。 | 平台工程師 | 貢獻者或開發中心擁有者 | 開發人員中心 |
| 授與啟用/停用專案目錄的權限。 | 開發人員管理員 | 參與者 | 開發人員中心 |
| 授與下列權限: - 新增、同步、移除目錄 (必須在開發人員中心啟用專案層級目錄)。 - 建立開發箱集區。 - 停止、啟動、刪除集區中的開發箱。 |
開發人員管理員 | DevCenter 專案管理員 | 隨附此逐步解說的專案 |
| 在專案中建立和管理您自己的開發箱。 | User | 開發箱使用者 | 隨附此逐步解說的專案 |
| 在 GitHub 或 Azure Repos 存放庫中建立和管理目錄。 | 開發人員管理員 | 不受 RBAC 控管。
- 必須透過 Azure DevOps 或 GitHub 為使用者指派權限。 |
儲存機制 |
重要事項
組織的訂用帳戶用於管理所有 Azure 資源和服務的計費和安全性。 您可以在訂用帳戶上指派擁有者或參與者角色。 一般而言,只有平台工程師具有訂用帳戶層級的存取權,因為會包含訂用帳戶中的所有資源的存取權。
平台工程師的職務
若要授權使用者在您的組織訂閱內管理 Microsoft Dev Box,您可以在資源群組範圍內指定他們為擁有者或貢獻者角色,或者在開發中心範圍內指定DevCenter 擁有者角色。
當你使用擁有者或貢獻者角色時,請將它們指派到 資源群組。 開發人員中心、網路連線、開發箱定義、開發箱集區和資源群組內的專案會繼承這些角色指派。
擁有者角色
指派擁有者角色提供使用者完整控制權,以建立或管理開發箱資源,以及將權限授與其他使用者。 當使用者在資源群組上具有擁有者角色時,他們可以在資源群組內跨所有資源執行下列活動:
- 將角色指派給平台工程師,使其能夠管理開發箱資源。
- 建立開發人員中心、網路連線、開發箱定義、開發箱集區和專案。
- 檢視、刪除,以及變更所有開發中心、網路連線、開發箱定義、開發箱集區與專案的設定。
- 連結和中斷連結目錄。
參與者角色
將參與者角色指派給使用者,可讓其在資源群組內對開發中心與專案擁有完整的建立與管理權限。 參與者角色和擁有者角色擁有相同的權限,以下內容除外:
- 執行角色指派。
注意
當您在資源群組層級指派擁有者或參與者角色時,這些權限也會套用到該資源群組中所有非開發箱相關的資源。
DevCenter 管理者角色
你可以在資源群組範圍或開發中心範圍內指定 DevCenter 擁有者角色。
DevCenter 擁有者在資源群組範疇的角色
將 DevCenter 擁有者角色指派給資源群組,讓使用者完全掌控 Microsoft.DevCenter 資源,且不會授予資源群組中其他資源的更廣泛存取權。
當使用者在資源群組中擔任 DevCenter 擁有者角色時,他們可以:
- 在該資源群組中建立、更新和刪除開發中心。
- 在該資源群組中建立、更新和刪除專案。
- 在該資源群組中建立、更新並刪除開發環境池和開發環境定義。
- 管理資源群組中開發中心的目錄、網路連線及計算圖庫。
- 透過在專案層級指派 DevCenter 專案管理員與 DevCenter Dev Box 使用者角色,委派專案管理。
開發中心範疇中的開發中心擁有者角色
將 DevCenter 擁有者角色指派給開發中心,讓使用者能完全掌控 Microsoft.DevCenter 資源,但不會授權對其他開發中心及其資源的更廣泛存取權。 被指派到開發中心的使用者無法建立新的開發中心。
當使用者在開發中心擁有 DevCenter 擁有者角色時,他們可以:
- 在開發中心建立、更新和刪除專案。
- 在該開發中心建立、更新並刪除開發箱群組和開發箱定義。
- 管理連接到開發中心的目錄、網路連線和運算資源庫。
- 透過在專案層級指派 DevCenter 專案管理員與 DevCenter Dev Box 使用者角色,委派專案管理。
開發經理的角色
有一個開發人員管理員角色:DevCenter 專案管理員。此角色在較低層級範圍的權限,具有比平台工程師角色更多的限制。 您可以將此角色指派給開發經理,讓他們能為其團隊執行管理工作。
DevCenter 專案管理員角色
指派 DevCenter 專案管理員,以便:
新增、同步、移除目錄 (必須在開發人員中心啟用專案層級目錄)。
建立開發箱集區。
停止、啟動、刪除集區中的開發箱。
開發者的角色
有一個開發人員角色:開發箱使用者。 此角色可讓開發人員建立和管理自己的開發箱。
開發者盒使用者角色
指派開發箱使用者角色,以授與使用者建立開發箱的權限,並對其建立的開發箱擁有完整控制權。 開發人員可以在其所建立的任何開發箱上執行下列動作:
- 建立
- 開始/停止
- 重新啟動
- 延遲排程的關機
- 刪除
身分識別與存取權管理 (IAM)
請使用 Azure 入口網站中的存取控制 (IAM) 頁面來設定 Microsoft 開發箱資源的 Azure 角色型存取控制。 您可以針對 Active Directory 中的個人和群組使用內建角色。 以下螢幕截圖顯示在 Azure 入口網站中,透過存取控制 (IAM) 進行的 Active Directory 整合 (Azure RBAC):
如需詳細步驟,請參閱使用 Azure 入口網站指派 Azure 角色。
開發人員中心、資源群組和專案結構
您的組織應該預先投入時間來規劃開發人員中心的位置,以及資源群組和專案的結構。
開發人員中心:依您想要一起管理的專案集組織開發人員中心、套用類似的設定,以及提供類似的範本。
組織可以使用一或多個開發人員中心。 一般而言,組織內的每個子組織都會擁有自己的開發人員中心。 在下列情況下,您可能會考慮建立多個開發人員中心:
如果您希望特定組態可供專案的子集使用。
如果不同的小組需要在 Azure 中擁有和維護開發人員中心資源。
專案:與負責處理某個應用程式或產品的個別開發小組或群組相關聯。
翻譯:在資源群組層級指派角色時,規劃尤其重要,因為這些權限會套用到資源群組內的所有資源,包括開發中心、網路連線、開發箱定義、開發箱集區,以及專案。
若要確保使用者只獲授與適當資源的權限:
建立僅包含開發箱資源的資源群組。
請依所需的開發箱定義與開發箱集區,以及應具備存取權的開發人員來組織專案。 請務必注意,開發箱集區會決定開發箱建立的位置。 為了獲得最低延遲,開發人員應在接近自身所在地的位置建立開發箱。
例如,您可以為不同的開發團隊建立各自獨立的專案,以隔離每個團隊的資源。 專案中的開發經理接著可以被指派為專案管理員角色,該角色只會授予他們存取其所屬團隊資源的權限。
重要事項
請事先規劃好整體結構,因為在建立之後,像專案這類的開發箱資源無法再移動到其他資源群組。
目錄結構
Microsoft 開發箱透過目錄,讓開發人員可以使用工作目錄與自訂設定檔來部署開發箱的自訂項目,例如安裝軟體、加入延伸模組、複製儲存庫等功能。
Microsoft 開發箱將目錄儲存在 GitHub 存放庫或 Azure DevOps Services 存放庫中。 您可以將目錄附加到開發中心或專案。
您可以將一個或多個目錄附加到開發中心,並在該層級集中管理所有自訂項目。 為了在開發人員存取自訂項目的方式上提供更細緻的控管,您可以在專案層級附加目錄。 規劃連結目錄的位置時,您應該考慮每個開發小組的需求。