了解部署範圍

已完成

虛擬機器、Azure SQL 邏輯伺服器和資料庫、儲存體帳戶、虛擬網路,以及其他大部分的 Azure 資源都必須放在資源群組中。 不過,某些資源可以/或必須以不同的方式部署。 這些資源通常用來控制 Azure 環境的行為。

在此單元中,您將檢閱 Azure 資源組織階層,並查看特定資源在各種範圍中部署的方式。

Azure 資源階層

Azure 含有具多個管理層級的階層式資源結構。 下圖顯示您的玩具公司可能如何組織其 Azure 環境:

Diagram showing an Azure tenant, three management groups, three subscriptions, and four resource groups.

您的租用戶會對應至您的 Microsoft Entra 執行個體。 組織通常只有一個 Microsoft Entra 執行個體。 此執行個體會作為資源階層的根。

管理群組可提供組織 Azure 訂閱的方式。 每個租用戶都有一個根管理群組,您可以在其下建立自己的管理群組階層。 您可以針對組織的多個部分,或針對有自己的安全性或治理需求的訂閱,建立個別的管理群組。 您可以將原則和訪問控制限制套用至管理群組,而階層中管理群組下方的所有訂用帳戶都會繼承這些限制。 管理群組不會部署到區域,而且不會對您的資源位置造成任何影響。

訂閱可作為計費帳戶,並包含資源群組和資源。 如同管理群組一樣,訂閱沒有位置,也不會限制資源的部署位置。

資源群組是資源的邏輯容器。 使用資源群組,您可以將相關的資源作為單一單位來管理和控制。 虛擬機器、Azure App Service 方案、儲存體帳戶和虛擬網路等資源必須放入資源群組中。 資源群組會建立在位置中,以便 Azure 可以追蹤群組中資源的中繼資料,但群組內的資源可以部署到其他位置。

上述範例是相當基本的案例,向您示範可以如何使用管理群組。 您的組織也可以考慮採用登陸區域,也就是您開始使用生產 Azure 環境所需的一組 Azure 資源和設定。 企業級的登陸區域是行之有效的方法,可用於使用管理群組和訂用帳戶有效管理 Azure 資源:

Diagram of an enterprise-scale landing-zone architecture, with four management groups and four subscriptions.

無論您遵循何種模型,藉由了解階層的各種層級,您皆可以開始對 Azure 環境的使用和管理方式套用彈性控制項。 藉由使用 Bicep,您可以使用基礎結構即程式碼的所有優點來管理這些控制項。

注意

另外還有一些在特定範圍部署的其他資源。 擴充功能資源會部署在另一個 Azure 資源的範圍。 例如,資源鎖定是部署至資源 (例如儲存體帳戶) 的延伸模組資源。

您已經很熟悉如何將資源部署到資源群組,所以讓我們看看其他的部署範圍。

訂用帳戶範圍資源

您可以在下列情況將資源部署至訂閱:

  • 需要建立新的資源群組。 資源群組其實只是訂閱範圍資源。
  • 需要授與訂閱內所有資源的存取權。 例如,如果您的 HR 部門具有包含所有部門 Azure 資源的 Azure 訂閱,您可以建立角色指派,讓 HR 部門的每個人都能讀取訂閱的內容。
  • 您使用的是 Azure 原則,而且您想要定義原則,或將原則套用於訂閱內的所有資源。 例如,您玩具公司的 R&D 部門已要求您部署原則,限制可在小組訂用帳戶內建立的虛擬機器 SKU 清單。

管理群組範圍資源

您可以在下列情況將資源部署至管理群組:

  • 需要授與任何訂閱內所有資源的存取權,這些訂閱落在管理群組階層之下。 例如,您的雲端作業小組可能需要存取您組織中的每個訂閱。 您可以在根管理群組中建立角色指派,以授與雲端營運小組存取 Azure 中一切的權限。

    警告

    當您使用管理群組來授與資源的存取權,特別是根管理群組時,請特別小心。 請記住,階層中管理群組下的每個資源都會繼承角色指派。 請確定貴組織遵循身分識別管理和驗證的最佳做法,並遵循最低許可權原則:也就是說,請勿授與任何不需要的存取權。

  • 您需要在整個組織中套用原則。 例如,您的組織可能會有一個原則,在任何情況下,都無法在特定地理區域中建立資源。 您可以將原則套用至根管理群組,封鎖在該區域中建立資源。

注意

在第一次使用管理群組之前,請先針對您的 Azure 環境設定它們

租用戶範圍資源

您可以在下列情況將資源部署至您的租用戶:

  • 需要建立 Azure 訂閱。 當您使用管理群組時,訂閱會位於資源階層中的管理群組底下,但訂閱會部署為租用戶範圍資源。

    注意

    並非所有的 Azure 客戶都可以使用基礎結構即程式碼來建立訂閱。 根據您與 Microsoft 的帳務關係,這樣做可能不可行。 如需詳細資訊,請參閱以程式設計方式建立 Azure 訂閱

  • 您正在建立或設定管理群組。 當您為租用戶啟用管理群組時,Azure 會建立單一根管理群組,而且您可以在其下建立多個層級的管理群組。 您可以使用 Bicep 來定義整個管理群組階層。 您也可以將訂閱指派給管理群組。

    透過 Bicep,您可以將部署提交至租用戶範圍。 租用戶範圍部署需要特殊權限。 不過,實際上,您不需要提交租用戶範圍部署。 改為使用不同範圍的範本來部署租用戶範圍資源,是比較簡單的方式。 我們稍後會在本課程模組中看到該做法。

    提示

    您無法在租用戶範圍建立原則或角色指派。 不過,如果您需要授與存取權或將原則套用於整個組織,您可以將這些資源部署到根管理群組。

資源識別碼

現在,您已熟悉訂用帳戶內即時資源的資源識別碼。 例如,以下是代表資源群組的資源識別碼,也就是訂閱範圍資源:

/subscriptions/f0750bbe-ea75-4ae5-b24d-a92ca601da2c/resourceGroups/ToyDevelopment

以下是相同資訊的視覺表示法:

Screenshot of a Resource ID for a resource group.

訂閱本身有自己的識別碼,如下所示:

/subscriptions/f0750bbe-ea75-4ae5-b24d-a92ca601da2c

注意

雖然訂閱被視為管理群組的子系,但其資源識別碼不包含管理群組識別碼。 Azure 會以與其他資源關聯性不同的方式追蹤訂用帳戶與管理群組之間的關聯性。 這可讓您彈性地在管理群組之間移動訂閱,而不必變更所有資源識別碼。

當您使用管理群組或租用戶範圍的資源時,資源識別碼看起來會與平常略有不同。 這些大多遵循資源類型與特定資源相關資訊交錯的標準模式。 不過,特定格式取決於您使用的資源。

以下是管理群組的資源識別碼範例:

/providers/Microsoft.Management/managementGroups/ProductionMG

其看起來像這樣:

Screenshot of a Resource ID for a management group.

注意

管理群組同時具有識別碼和顯示名稱。 顯示名稱是人類看得懂的管理群組描述。 您可以變更顯示名稱,而不會影響管理群組的識別碼。

當資源部署於管理群組範圍時,其資源識別碼會包含管理群組識別碼。 以下是已在管理群組範圍建立的角色定義範例資源識別碼:

/providers/Microsoft.Management/managementGroups/ProductionMG/providers/Microsoft.Authorization/roleDefinitions/d79b8492-6f38-49f9-99e6-b2e667d4f3ca

以下是相同識別碼的視覺表示法:

Screenshot of a Resource ID for a role definition that's deployed at a management group scope.

另一個角色定義可能會在訂閱範圍中定義,因此其資源識別碼看起來稍有不同:

/subscriptions/f0750bbe-ea75-4ae5-b24d-a92ca601da2c/providers/Microsoft.Authorization/roleDefinitions/d79b8492-6f38-49f9-99e6-b2e667d4f3ca

以下是相同識別碼的視覺表示法:

Screenshot of a Resource ID for a role definition that's deployed at a subscription scope.

既然您已瞭解 Azure 資源階層,以及您可以在每個範圍部署的資源類型,您可以決定要部署資源的範圍。 例如,您可以做出明智的選擇,應在資源群組、訂閱,還是管理群組的範圍中建立原則定義。 在下一個單元中,您將了解如何建立以這些範圍為目標的 Bicep 檔案。