Management Groups and Subscriptions
Organise Azure subscriptions into a management group hierarchy to apply policies and access controls consistently across an entire enterprise.
Management Groups and Subscriptions is a free Cloud & IT Cert Prep lesson on CoddyKit — lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Cloud & IT Cert Prep learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
The Azure Resource Hierarchy
Azure organises resources into a four-level hierarchy. At the top are Management Groups — containers that group subscriptions for policy and access control at scale. Below are Subscriptions — billing and resource boundary units. Within subscriptions are Resource Groups — logical containers for related resources. At the bottom are Resources — individual services like VMs, databases, and storage accounts. Policies and permissions applied at higher levels cascade downward.
What Is an Azure Subscription?
An Azure subscription is both a billing unit and a logical resource boundary. All resource usage in a subscription is billed to a single invoice. Subscriptions set limits (quotas) on how many resources of each type can be deployed. Organisations commonly create separate subscriptions for different environments (Production, Development, Testing), different business units, or different geographic regions — each with its own cost reporting and access control.
# List all subscriptions you have access to
az account list --output table
# Switch to a specific subscription
az account set --subscription 'My Production Subscription'Multiple Subscription Patterns
Large enterprises use multiple subscriptions for several reasons. Isolation — production resources are completely isolated from dev/test; a misconfiguration in dev cannot affect production. Billing granularity — each department's subscription generates its own invoice for clear cost allocation. Subscription limits — Azure has per-subscription quotas (e.g., 250 VMs per region); large workloads may need multiple subscriptions to stay within limits.
What Is a Management Group?
A Management Group is a container above subscriptions in the Azure hierarchy. You can organise subscriptions into management groups and apply Azure Policy definitions and RBAC role assignments at the management group level. These cascade down to every subscription and resource within the group. This eliminates the need to duplicate the same policy or role assignment across dozens of individual subscriptions.
# Create a management group
az account management-group create \
--name mg-production \
--display-name 'Production Workloads'
# Move a subscription into the management group
az account management-group subscription add \
--name mg-production \
--subscription <subscription-id>Management Group Hierarchy
Management groups can be nested up to six levels deep. Every Azure directory has a single Root Management Group at the top, which all other management groups and subscriptions fall under. A typical enterprise hierarchy might be: Root → Company → Platform → Production → Landing Zones → Individual Workload Subscriptions. Policies applied at the Root level affect every subscription in the entire directory.
// Example management group hierarchy:
// Root Management Group
// Company (mg-company)
// Platform (mg-platform)
// Identity (sub: identity)
// Connectivity (sub: connectivity)
// Landing Zones (mg-landingzones)
// Production (mg-production)
// App1 (sub: app1-prod)
// App2 (sub: app2-prod)
// Dev/Test (mg-devtest)
// App1 Dev (sub: app1-dev)RBAC Inheritance Through the Hierarchy
Access control assignments at any level in the hierarchy inherit downward. If you assign a user the Reader role on a management group, they automatically get Reader access on every subscription and resource group within that management group. This inheritance is additive — you cannot revoke an inherited permission at a lower scope (you can only add more permissions). Deny assignments are the exception: they block actions even when a role assignment would permit them.
# Assign a role at management group scope
az role assignment create \
--assignee security-team@mycompany.com \
--role 'Security Reader' \
--scope /providers/Microsoft.Management/managementGroups/mg-companyPolicy Inheritance Through the Hierarchy
Similarly, Azure Policy assignments at a management group level apply to all subscriptions, resource groups, and resources within that group. A common pattern is assigning a corporate baseline policy at the root or company management group to enforce standards like allowed regions, mandatory tags, or required diagnostic settings across the entire organisation, while individual subscription owners can add more specific policies below without overriding the corporate baseline.
# Assign a policy at management group level
az policy assignment create \
--name 'require-tags-mgmt' \
--policy 'your-policy-definition-id' \
--scope /providers/Microsoft.Management/managementGroups/mg-companySubscription Lifecycle Management
Azure subscriptions can be created, renamed, cancelled, and moved between management groups. Moving a subscription to a different management group changes which policies and role assignments apply to it — policy changes take effect immediately on all resources in the subscription. Cancelling a subscription disables resource creation and eventually deletes all resources within it after a grace period, so this action should only be taken with careful planning.
# Move a subscription to a different management group
az account management-group subscription add \
--name mg-production \
--subscription <subscription-id>
# Remove a subscription from a management group
az account management-group subscription remove \
--name mg-devtest \
--subscription <subscription-id>Enterprise Agreement and MCA
Large organisations access Azure through billing agreements that affect how subscriptions are structured. An Enterprise Agreement (EA) provides subscriptions under an enrolment with a central billing account for large committed spend. A Microsoft Customer Agreement (MCA) is the modern successor, offering more self-service subscription management. Under both, billing profiles and invoice sections let you group subscription charges for different departments.
Subscription Quotas and Limits
Every Azure subscription has service quotas — soft limits on how many resources of each type can exist per region. Default examples: 20,000 vCPUs per region, 980 resource groups per subscription, 800 managed disks per subscription. When your workload approaches a quota, you can submit a quota increase request in the Azure portal (Support + troubleshooting > New support request). For massive scale-out, Microsoft recommends distributing workloads across multiple subscriptions.
# View current vCPU quotas for a region
az vm list-usage \
--location eastus \
--query '[].{Name:name.value, CurrentValue:currentValue, Limit:limit}' \
--output tableManagement Groups Best Practices
Microsoft recommends several best practices for management group design. Avoid more than three to four levels of nesting — too many levels make policy troubleshooting complex. Create a dedicated Platform management group for shared services (identity, connectivity, management) separate from landing zone workloads. Separate Production and Non-Production into different management groups so production-only policies (like disabling public internet access) do not accidentally apply to dev environments.
Quick Check
Test your understanding of Microsoft Azure Fundamentals (AZ-900) concepts from this lesson.
Lesson Recap
In this lesson you learned: the Azure resource hierarchy flows from management groups to subscriptions to resource groups to resources, policies and RBAC assignments at management group level inherit downward to all child subscriptions, and multiple subscriptions provide billing isolation, environment separation, and workaround for per-subscription quotas. Next up we explore Azure Policy in depth.
Frequently asked questions
Is the “Management Groups and Subscriptions” lesson free?
Yes — the full text of “Management Groups and Subscriptions” is free to read here on the web, and the Cloud & IT Cert Prep course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Cloud & IT Cert Prep course, upgrade to CoddyKit PRO.
What will I learn in “Management Groups and Subscriptions”?
Organise Azure subscriptions into a management group hierarchy to apply policies and access controls consistently across an entire enterprise. You practise Cloud & IT Cert Prep with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Cloud & IT Cert Prep?
No prior experience is required. Cloud & IT Cert Prep on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Management Groups and Subscriptions” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Cloud & IT Cert Prep lesson?
Yes. Every Cloud & IT Cert Prep lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Management Groups and Subscriptions
- Azure Policy
- Resource Tags and Resource Locks
- Azure Blueprints and Compliance