保護您的資源階層
您的資源、資源群組、訂用帳戶、管理群組和租用戶會撰寫您的資源階層。 根管理群組中的設定 (例如自訂 Azure 自訂角色或原則指派) 可能會影響您資源階層中的每個資源。 請務必保護資源階層,避免受到可能對所有資源造成負面影響的變更。
管理群組具有階層設定,可讓租用戶系統管理員控制這些行為。 本文涵蓋每一個可用的階層設定,以及如何加以設定。
階層設定的 Azure RBAC 權限
設定階層設定需要在根管理群組上進行以下資源提供者作業:
Microsoft.Management/managementgroups/settings/write
Microsoft.Management/managementgroups/settings/read
這些作業代表 Azure 角色型存取控制 (Azure RBAC) 權限。 它們僅允許使用者讀取及更新階層設定。 它們不會提供對管理群組階層或階層中資源的任何其他存取權。
Azure 內建角色中的階層設定管理員都有提供這兩項作業。
設定:定義預設管理群組
根據預設,您在租用戶內所新增的新訂用帳戶會成為根管理群組的成員。 如果您指派原則指派,Azure RBAC 和其他治理會建構至根管理群組,其會立即影響這些新的訂用帳戶。 基於這個理由,許多組織都不會在根管理群組套用這些建構,即使這是所要指派的位置也一樣。 在其他情況下,組織想要針對新的訂用帳戶進行較嚴格的控制,但不希望將其指派給所有訂用帳戶。 這項設定支援兩種使用案例。
藉由允許定義新的訂用帳戶的預設管理群組,您可以在根管理群組套用全組織的治理建構。 您可以使用原則指派或更適合新的訂用帳戶的 Azure 角色指派來定義個別管理群組。
在入口網站定義預設管理群組
登入 Azure 入口網站。
使用搜尋列來搜尋並選取 [管理群組]。
選取根管理群組。
選取頁面左側的 [設定]。
選取 [變更預設管理群組] 按鈕。
如果 [變更預設管理群組] 按鈕無法使用,原因則為下列其中情況之一:
- 您要檢視的管理群組並非根管理群組。
- 您的安全性主體沒有變更階層設定的必要權限。
從階層選取管理群組,然後選擇 [選取] 按鈕。
使用 REST API 定義預設管理群組
若要使用 REST API 定義預設管理群組,您必須呼叫 [階層設定] 端點。 請使用下列 REST API URI 和主體格式。 將 {rootMgID}
取代為您的根管理群組識別碼。 將 {defaultGroupID}
取代為將成為預設管理群組的管理群組識別碼。
REST API URI:
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{rootMgID}/settings/default?api-version=2020-05-01
要求本文:
{ "properties": { "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/{defaultGroupID}" } }
若要將預設管理群組設定回根管理群組,請使用相同的端點,並將 defaultManagementGroup
設定為 /providers/Microsoft.Management/managementGroups/{rootMgID}
的值。
設定:需要授權
根據預設,任何使用者都可以在租用戶內建立新的管理群組。 租用戶的管理員可能只想向特定使用者提供這些權限,以維持管理群組階層中的一致性和符合性。 若要建立子管理群組,使用者必須在根管理群組上進行 Microsoft.Management/managementGroups/write
作業。
在入口網站中需要授權
登入 Azure 入口網站。
使用搜尋列來搜尋並選取 [管理群組]。
選取根管理群組。
選取頁面左側的 [設定]。
開啟 [建立新管理群組的權限] 切換。
如果 [需要建立新管理群組的寫入權限] 切換無法使用,原因則為下列其中一個情況:
- 您要檢視的管理群組並非根管理群組。
- 您的安全性主體沒有變更階層設定的必要權限。
使用 REST API 需要授權
若要使用 REST API 要求授權,請呼叫 [階層設定] 端點。 請使用下列 REST API URI 和主體格式。 這個值是布林值,因此,請為此值提供 true
或 false
。 true
的值會啟用這個保護管理群組階層的方法。
REST API URI:
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{rootMgID}/settings/default?api-version=2020-05-01
要求本文:
{ "properties": { "requireAuthorizationForGroupCreation": true } }
若要關閉設定,請使用相同的端點,並將 requireAuthorizationForGroupCreation
設定為 false
的值。
Azure PowerShell 範例
Azure PowerShell 沒有 Az
命令來定義預設管理群組或要求授權。 因應措施是,您可以使用 REST API 搭配下列 Azure PowerShell 範例:
$root_management_group_id = "Enter the ID of root management group"
$default_management_group_id = "Enter the ID of default management group (or use the same ID of the root management group)"
$body = '{
"properties": {
"defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/' + $default_management_group_id + '",
"requireAuthorizationForGroupCreation": true
}
}'
$token = (Get-AzAccessToken).Token
$headers = @{"Authorization"= "Bearer $token"; "Content-Type"= "application/json"}
$uri = "https://management.azure.com/providers/Microsoft.Management/managementGroups/$root_management_group_id/settings/default?api-version=2020-05-01"
Invoke-RestMethod -Method PUT -Uri $uri -Headers $headers -Body $body
相關內容
若要深入了解管理群組,請參閱: