Management Groups, Subscriptions, and Resource Groups: The Azure Hierarchy

Management Groups, Subscriptions, and Resource Groups: The Azure Hierarchy

A beginner-friendly guide to how Azure organises everything you create, who can do what at each level, how rules and costs flow downward, and how to design a structure that stays tidy as you grow.

Imagine moving into a huge house with thousands of rooms, cupboards, and drawers, all full of things. Without labels, folders, and rules about who holds which key, you would soon lose track of everything. Azure faces the same challenge for every company that uses it. A large business may create tens of thousands of virtual machines, databases, networks, and storage accounts, and hundreds of people need to work with them. Azure solves the problem with a simple tree of containers, called the hierarchy.

At the top of the tree are management groups. Below them sit subscriptions. Below those sit resource groups, and inside those are the resources you actually use. This guide explains each level from the ground up, with no earlier knowledge needed. Every new word is explained when it first appears, with an everyday comparison and a practical example. By the end you will know how the levels fit together, how permissions, rules, and costs travel down the tree, and how to design a structure that works for a small project or a large company.

!
Limits and features change

Microsoft updates Azure’s limits, features, and recommended tools from time to time. This guide teaches the lasting ideas and uses typical figures as examples. Before making a real design decision, confirm current limits and product status in Microsoft’s official Azure documentation.

1The Big Idea: A Tree With Four Levels

Azure organises everything as a tree. Settings placed higher up automatically apply to everything below.

The four levels in one picture

Azure’s resource organisation has four main levels, from largest to smallest:

  • Management group: a container for subscriptions, and even for other management groups. It exists to apply rules to many subscriptions at once.
  • Subscription: the agreement and boundary that carries billing, limits, and access. Every resource lives in one subscription.
  • Resource group: a folder inside a subscription that holds related resources and manages them together.
  • Resource: a single thing you create and use, such as a virtual machine, a database, a storage account, or a network.
flowchart TB
  MG0["Tenant Root Management Group"]
  MG1["Management Group: Production"]
  MG2["Management Group: Non-Production"]
  S1["Subscription: Shop-Prod"]
  S2["Subscription: Shop-Dev"]
  RG1["Resource Group: web-tier"]
  RG2["Resource Group: data-tier"]
  RS1["Resources: App Service, Load Balancer"]
  RS2["Resources: SQL Database, Storage Account"]
  MG0 --> MG1
  MG0 --> MG2
  MG1 --> S1
  MG2 --> S2
  S1 --> RG1
  S1 --> RG2
  RG1 --> RS1
  RG2 --> RS2
    
Each box has exactly one parent. Rules set on a box apply to everything beneath it.
Analogy

Think of a large school group. The whole group is the top of the tree. Below it are regional boards (management groups), then individual schools (subscriptions), then departments inside each school (resource groups), and finally the actual teachers, classrooms, and equipment (resources). A rule from the group’s head office, such as a uniform policy, reaches every school, department, and classroom without being repeated.

4
levels: management group, subscription, resource group, resource
1
parent only for every container in the tree
6
levels of nested management groups allowed under the root, typically
i
Remember

The tree has one rule that is easy to forget: every container has exactly one parent. A resource is in one resource group, a resource group is in one subscription, and a subscription is in one management group. Nothing sits in two places at once.

2Why Azure Needs a Hierarchy: Four Good Reasons

A tidy structure is not decoration. It solves four serious problems that appear as soon as more than a few people use the cloud.

Reason 1

Control who can do what

Different people need different powers. A developer should manage a test setup but not delete the company’s production database. Containers let you grant access at the right level.

Reason 2

Apply rules consistently

A company may require that data stays in certain regions or that every disk is encrypted. A hierarchy lets one rule cover hundreds of places instead of being repeated by hand.

Reason 3

Understand and split costs

Bills must be traced back to teams and projects. Separate subscriptions and groups make it clear who spent what.

Reason 4

Manage things together

Resources that belong to one application can be created, updated, and deleted together as a group, which keeps cleanup simple.

An example for each reason

Access: a bank’s developers

A bank gives its developers full control of their development subscription, but only read access to production. If a developer makes a mistake, it affects a practice area and not real customers.

Rules: a hospital group

A hospital group requires that all patient data stays inside one country. It sets a policy once, at a high level, that blocks creation of resources in other countries. Every present and future subscription below obeys it automatically.

Cost: a software company

A software company has one subscription per product. At the end of the month, the finance team can see exactly how much each product’s cloud use cost, without sorting through thousands of lines of mixed charges.

Management: a short-lived experiment

A team creates twenty resources to test a new idea in one resource group. When the idea is dropped, they delete the single group, and every resource inside it disappears together.

3Core Concepts: The Words You Need

A small vocabulary makes the whole subject easy. Learn these terms once.

TermWhat it meansEveryday comparison
TenantA dedicated directory of users and identities, provided by Microsoft Entra ID, that your organisation ownsThe company’s staff register
Root management groupThe single top container of the tree, created automatically for each tenantThe head office
Management groupA container for subscriptions and other management groupsA regional board
SubscriptionA container that carries billing, limits, and access, and holds resource groupsA separate account with its own bill
Resource groupA logical folder that holds related resourcesA project folder
ResourceOne item you create, such as a virtual machine or a databaseOne document or machine inside the folder
ScopeThe level at which a permission or rule appliesThe area a key opens
InheritanceSettings at a higher level flowing down to lower levelsA company rule reaching every branch
Role-based access control (RBAC)The system that decides who may do what at each scopeStaff badges with different access
Azure PolicyA system of rules that audits or controls how resources can be createdA building code with inspectors

Two different “who can do what” systems

Beginners often mix up two separate systems. Microsoft Entra ID roles control things about the identity directory itself, such as creating users and resetting passwords. Azure RBAC roles control what people can do to Azure resources, such as creating a virtual machine or reading a database. They are different systems, with different roles and different scopes, even though both are about permissions.

Analogy

In an office building, the human resources department decides who is an employee and who can reset passwords (Entra ID roles). The facilities department decides who can open which doors and use which machines (Azure RBAC). Being an excellent HR manager does not automatically give you the key to the server room.

i
Tip

When you read an Azure document, notice the word “scope”. It tells you exactly where in the tree a statement applies. Most confusion about permissions and policies disappears once you ask, “At which scope was this set?”

4The Top of the Tree: Tenant and Root Management Group

Above everything sits your tenant, and the single root group created inside it.

The tenant

When an organisation signs up for Microsoft cloud services, it receives a tenant, which is a private directory of users, groups, and applications. The tenant is managed by Microsoft Entra ID. It has a unique identifier and usually a domain name. Every Azure subscription trusts exactly one tenant for sign-in. That is how Azure knows who is a legitimate user of your subscriptions.

The root management group

Azure automatically creates one root management group for each tenant, often shown as “Tenant Root Group”. All other management groups and all subscriptions sit below it. The root cannot be moved or deleted. By default, a person with high rights in the directory does not automatically have access to resources, but they can switch on a special setting to grant themselves access across the whole tree. This is powerful, so it should be used rarely and carefully.

flowchart TB
  T["Tenant: your organisation's identity directory"]
  R["Root Management Group: one per tenant"]
  A["Management Group A"]
  B["Management Group B"]
  S0["Subscription placed directly under root"]
  T --> R
  R --> A
  R --> B
  R --> S0
    
Every tenant has one root group. Rules placed on the root reach every subscription in the organisation.
Analogy

The tenant is the country’s citizen register, and the root management group is the national government. Everything inside the country falls under its laws, but an ordinary citizen would never be given the power to change those laws casually.

!
Be careful at the root

A policy or permission placed on the root group reaches everything. A small mistake there can block or expose the whole organisation. Many teams apply only a few, carefully tested, rules at the root and place most rules one or two levels lower.

i
Default settings

Azure lets you set a default management group for new subscriptions, and lets you require extra permission before anyone can create new management groups. Without these, new subscriptions land directly under the root, and anybody could create groups. Setting them early keeps the tree orderly.

5Management Groups in Depth

Management groups are the highest level you can design yourself. They turn a pile of subscriptions into an organised family.

What they are for

A management group is a container that holds subscriptions and other management groups. Its purpose is to let you apply access rules and policies to many subscriptions at the same time. Without management groups, you would have to repeat the same assignment on every subscription separately, and one forgotten subscription would escape the rule.

The rules of the tree

  • Each management group and each subscription has only one parent.
  • A management group can have many children, which may be subscriptions or other management groups.
  • Management groups can be nested, typically up to six levels deep below the root, not counting the root level or the subscription level.
  • A single tenant can hold a large number of management groups, in the thousands.
  • All management groups and subscriptions of a tenant belong to a single tree, with one root.
  • Management groups hold no resources directly. They hold only subscriptions and other groups.
Analogy

A management group is like a shelf label in a big library. Putting a “Reference only” label on a whole shelf applies to every book on it, now and in the future. You do not need to place the label on each book yourself, and new books added to the shelf are covered at once.

What you can attach to a management group

Access

Role assignments

Give a team a role, such as Reader, over every subscription below, in one step.

Rules

Azure Policy

Apply rules such as allowed regions or required tags to every subscription in the group.

Money

Cost views and budgets

Look at total spending across all subscriptions in the group, and set alerts for it, depending on your billing arrangement.

Overview

Reporting and queries

Search and report across all subscriptions in the group using tools like Azure Resource Graph.

i
Tip

Management groups work best when they reflect how you govern, not simply how your company chart looks. Group subscriptions that should share the same rules, such as “production” versus “sandbox”, rather than copying every department name.

6Subscriptions in Depth

The subscription is the most important level for beginners, because it is where billing, limits, and access meet.

What a subscription is

A subscription is a logical container, backed by an agreement with Microsoft, in which you create resources. Every resource in Azure belongs to exactly one subscription. Think of it as a separate account with its own bill and its own boundaries.

Three boundaries in one

Boundary 1

Billing boundary

Costs are collected per subscription. Each subscription produces its own charges, so splitting subscriptions splits the bill.

Boundary 2

Access boundary

You can give people access to one subscription and not another. It is a strong dividing line for permissions.

Boundary 3

Scale boundary

Azure sets limits, called quotas, on each subscription, such as the number of processor cores in a region. When a workload grows, a new subscription provides fresh limits.

Kinds of subscription

Subscriptions come with different commercial arrangements. A free account or student offer is for learning. Pay-as-you-go bills your card for what you use. An Enterprise Agreement or a Microsoft Customer Agreement suits large organisations with negotiated terms. A partner-provided subscription is sold through a Microsoft cloud partner. The technical hierarchy works the same way in all of them. Only the billing arrangement differs.

Analogy

A subscription is like a separate mobile phone connection. Each has its own number, its own plan, its own data limit, and its own bill. A family may have several connections under one household, just as an organisation has several subscriptions under one tenant.

The trust relationship

Each subscription trusts one tenant to handle sign-in. Many subscriptions can trust the same tenant, which is the usual case in a company. You can move a subscription to another tenant, but this is a big step, since it changes who can sign in and removes existing role assignments, so plan it carefully.

Real-world example: separate subscriptions per environment

A company creates three subscriptions for one product: development, testing, and production. Developers can do almost anything in development. Only a small, trusted group can change production. The production subscription has its own budget and its own higher quotas. A mistake in development can never exhaust the limits or the budget of production.

!
Quotas matter

Default limits per subscription, such as the number of cores per region or the number of resource groups, protect you and Microsoft from accidents, but they can block a big launch. Check limits early and request increases well before launch day.

7Resource Groups in Depth

Resource groups are the everyday workhorse of Azure. You will create and delete them constantly.

What a resource group is

A resource group is a logical folder inside a subscription that holds related resources. “Related” usually means resources that share the same life: they are created together, updated together, and deleted together. A typical group holds everything for one application or one environment of an application.

The rules of resource groups

  • Every resource must be in exactly one resource group.
  • A resource group cannot contain another resource group. There is no nesting.
  • Deleting a resource group deletes every resource inside it.
  • Resources in one group can be in different regions, and can connect to resources in other groups.
  • The group itself has a location, which is where its information, called metadata, is stored.
  • Many resource types can be moved between groups and subscriptions, though not all types can.
  • A subscription can hold many groups, up to a documented limit that is in the hundreds.
Analogy

A resource group is like a labelled box for moving house. You pack all the kitchen items into one box. When you unpack, you open that box and everything is there together. If you throw the box away, everything inside goes too, so you should look carefully before you do it.

The resource group location confusion

The group’s location is separate from the locations of the resources inside. A group labelled “East US” can contain a database in “West Europe”. If the group’s region has an outage, you may be unable to manage the group, such as adding or changing resources, even though the resources themselves keep running elsewhere. For this reason, many teams place the group in the same region as most of its contents.

How to decide what goes together

The best guide is lifecycle. Put resources in one group when they should live and die together. A virtual machine, its disk, its network card, and its public address belong together. A shared network that many applications use belongs in its own group, because deleting one application must not delete the shared network.

Grouping ideaExampleGood when
By application and environmentshop-prod-rg, shop-dev-rgOne team owns the whole application
By tiershop-web-rg, shop-data-rgDifferent tiers change on different schedules
By shared servicenetwork-hub-rg, monitoring-rgMany applications depend on the same service
By short-lived projectlab-experiment-rgYou want a one-step cleanup

8Resources and Scope: How Azure Names a Place in the Tree

Every item in the tree has an address. Understanding scope turns the address into a tool.

What a resource is

A resource is the actual thing you use. It could be a virtual machine, a database, a storage account, a network, a web app, or a key vault. Each resource has a name, a type, a region, and belongs to one resource group, which belongs to one subscription.

What scope means

A scope is a level at which something applies. Azure has four common scope levels, listed from broadest to narrowest:

1

Management group scope

Applies to every subscription, resource group, and resource beneath that group.

2

Subscription scope

Applies to every resource group and resource inside one subscription.

3

Resource group scope

Applies to every resource inside one resource group.

4

Resource scope

Applies to a single resource only.

Analogy

Postal addresses work the same way. “India” covers everyone in the country, “Maharashtra” covers a state, “Pune” covers a city, and “Flat 4B, Rose Apartments” covers one home. A notice can be addressed at any of these levels, and the narrower the address, the fewer people it reaches.

i
Choosing the right scope

Assign things at the narrowest scope that still does the job. A person who only needs to manage one application should receive a role on that application’s resource group, not on the whole subscription.

9Inheritance: How Settings Flow Down the Tree

The great power of the hierarchy is that what you set at the top is automatically true below.

Inheritance means that a setting applied at a higher scope also applies to every scope beneath it, including new things created later. Several important features follow this rule.

flowchart TB
  MG["Management Group: Policy - allowed regions, Role - Security Reader"]
  SUB["Subscription: inherits both, adds Role - Contributor for Team A"]
  RG["Resource Group: inherits all, adds Lock - cannot delete"]
  RES["Resource: inherits everything above"]
  MG -- "flows down" --> SUB
  SUB -- "flows down" --> RG
  RG -- "flows down" --> RES
    
Assignments accumulate as they move down. A resource experiences the combined effect of every level above it.
FeatureDoes it inherit?What to remember
Role assignments (RBAC)YesA role at a higher scope applies to everything beneath it. You cannot remove an inherited role at a lower level, you must remove it where it was given.
Azure PolicyYesAssignments flow down, and you can exclude specific lower scopes from a policy where needed.
Resource locksYesA lock on a group protects every resource within it from deletion or change, depending on the lock type.
TagsNo, by defaultA tag on a resource group does not automatically appear on the resources inside. A policy can add or copy tags if you want that.
Budgets and cost viewsRoll upCosts add up from resources to groups to subscriptions, so you view totals at any level.
Analogy

It is like rules in a school system. A national education rule applies to every school. A school rule applies to every class in it. A teacher’s classroom rule applies only to that classroom. A student experiences all of them together, and a classroom cannot cancel a national rule.

!
Tags are an exception

Many beginners expect tags to flow down like permissions. They do not. If you want every resource to carry its group’s tag, use Azure Policy to add or enforce it, or set tags through your deployment templates.

10Access Control: Roles at Every Level

The hierarchy decides where permissions apply. Roles decide what those permissions allow.

How a role assignment is made

An Azure role assignment joins three things: who receives the access (a user, a group, or an application identity), what they may do (a role), and where it applies (a scope). For example: “the Data Team group (who) is a Reader (what) on the Analytics subscription (where).”

The basic built-in roles

RoleWhat it allowsTypical use
OwnerFull control, including giving access to othersA very small number of trusted administrators
ContributorCreate and manage resources, but not grant access to othersEngineers who build and run workloads
ReaderView everything, change nothingAuditors, managers, support staff
User Access AdministratorManage who has access, but not the resources themselvesAccess management teams
Specific rolesNarrow powers, such as managing only virtual machines or only reading storage dataLeast-privilege access for specialised jobs
Analogy

In a hotel, the owner can do anything, a manager can run the hotel but not change ownership, an inspector can look but not touch, and the reception staff can only use the booking system. Each badge opens different doors, and the master key is given to very few people.

Good habits for role assignments

  • Assign to groups, not individuals. When someone joins or leaves a team, you only change group membership.
  • Use the narrowest scope. Prefer a resource group over a subscription, and a subscription over a management group.
  • Give the least privilege. Use Reader or a specific role before Contributor, and Contributor before Owner.
  • Use just-in-time access. A service called Privileged Identity Management lets people activate powerful roles only for a short time, with approval and a record.
  • Use managed identities for applications. Applications can receive their own identity and roles, so no passwords need to be stored in code.
  • Review regularly. Remove access that is no longer needed.
!
Roles add up

A person’s effective access is the sum of every role assignment that reaches them, from every scope above the resource. If someone has Reader at the management group and Contributor on a resource group, they can change things in that group. Audit the combined result, not just a single assignment.

11Azure Policy and Governance Across the Tree

Roles say who may act. Policies say what is allowed to exist. Together they keep a large cloud under control.

What Azure Policy does

Azure Policy checks resources against rules and either reports problems or stops them. Examples of rules are “only allow these regions”, “storage accounts must use secure connections”, and “every resource must carry a cost-centre tag”. A rule is described in a policy definition. When you apply it to a scope, that is a policy assignment. A set of related policies bundled together is called an initiative.

What a policy can do

Report

Audit

Allows the resource but records it as non-compliant. A gentle way to find problems without breaking anyone’s work.

Block

Deny

Refuses to create or change a resource that breaks the rule. Strong and immediate.

Fix

Modify and Append

Changes or adds properties automatically, such as adding a missing tag.

Fix

DeployIfNotExists

Creates a missing companion resource, for example turning on diagnostic logging whenever a new database appears.

Analogy

Think of a city’s building code. Inspectors can write a warning (audit), refuse a building permit (deny), or require a fire exit to be added before approval (fix). The code applies to every new building in the city, and inspectors check old buildings from time to time as well.

How to roll out policies safely

1

Start in audit mode

See how many resources would break the rule before blocking anything.

2

Test on a small scope

Apply the rule to a sandbox or a single resource group first.

3

Communicate

Tell teams what is coming and why, and give them a way to ask for exceptions.

4

Switch to deny at the right scope

Move to enforcement, ideally at a management group, so every subscription below follows.

5

Remediate and review

Fix existing non-compliant resources and watch the compliance dashboard over time.

i
Exemptions and exclusions

Sometimes one resource has a genuine reason to break a rule. Azure lets you exclude a scope from an assignment or create a time-limited exemption, with a recorded reason. This is much safer than weakening the rule for everyone.

12Cost Management and Billing Across the Hierarchy

Every cost starts at a resource and rolls up through the tree. Knowing how it rolls up makes the bill understandable.

How costs roll up

Each resource produces usage. Usage is priced and added to its resource group, then to its subscription, and in many arrangements up through management groups and to the billing account at the top. At each level you can see totals, break them down, and set alerts. The billing arrangement, such as an enterprise agreement or a customer agreement, decides how invoices are produced and how the billing account is organised above the subscriptions.

LevelWhat you can see or doTypical user
Billing accountAll invoices and payment settingsFinance and procurement
Management groupTotal cost across many subscriptions, in supported setupsCloud governance and finance
SubscriptionTotal cost, budgets, forecasts, and alertsProduct or department owners
Resource groupCost of one application or environmentApplication teams
Resource and tagCost of one item, or all items sharing a tagEngineers and cost analysts

The three tools that matter most

See

Cost analysis

Charts and tables that let you group costs by resource group, resource type, location, or tag.

Warn

Budgets and alerts

Set a spending target at a chosen scope and receive messages at chosen percentages, or even trigger automatic actions.

Label

Tags

Labels such as cost centre, owner, and project let you divide costs in ways that the tree alone cannot.

Analogy

A family’s household budget works in layers too. Individual purchases add up to a category, such as food or travel. Categories add up to a monthly total, and the total meets the family’s income. Labels on receipts, such as “school” or “festival”, let you slice the same spending in another way. Tags are the labels on your cloud receipts.

i
Chargeback and showback

Large organisations often share the cloud bill with departments. Showback means showing each department what it used. Chargeback means actually billing it internally. A clean subscription layout plus consistent tags is what makes either approach practical.

13How It Works Inside: What Happens When You Create a Resource

Behind a single click, Azure checks the whole tree above your resource before it builds anything.

Every request to create, change, or delete a resource goes to Azure Resource Manager, the management layer of Azure. It acts like a careful front desk: it checks who you are, what you may do, which rules apply, and whether anything protects the target. Only then does it hand the request to the service that builds the resource.

sequenceDiagram
  participant U as You
  participant E as Microsoft Entra ID
  participant A as Azure Resource Manager
  participant R as Role Check across all scopes
  participant L as Lock Check
  participant P as Policy Check across all scopes
  participant S as Resource Provider
  U->>E: Sign in
  E-->>U: Identity token
  U->>A: Create a storage account in a resource group
  A->>E: Is this token valid
  E-->>A: Yes
  A->>R: Does this person have a role that allows it
  R-->>A: Yes, from a role at the subscription scope
  A->>L: Is the group or subscription locked
  L-->>A: No lock blocks this
  A->>P: Do any policies from management group down allow it
  P-->>A: Allowed
  A->>S: Build the resource
  S-->>A: Created
  A-->>U: Success
    
Resource Manager checks identity, roles, locks, and policies, using every level of the tree, before the resource is built.

What this teaches

  • A “forbidden” error can come from a missing role, a lock, or a policy. Each needs a different fix.
  • Role assignments and policies from every scope above the target are considered, which is why a rule at a management group can stop something in a deep resource group.
  • Policy is checked even if you are an Owner. Roles say who you are allowed to be, but policy says what is allowed to exist at all.
  • Locks can block even an Owner, until the lock itself is removed by someone with the right to do so.
Analogy

Building a new shop is like this. The city checks your identity, your licence to build, whether the plot is protected as a heritage site, and whether your plan fits the zoning rules. Only when every check passes does the builder start work.

i
Troubleshooting order

When a request fails, ask in order: Am I signed in to the right tenant and subscription? Do I have the right role at the right scope? Is a lock in place? Did a policy deny it? The error message often names the policy or the missing permission.

14Lifecycle and Data Flow: From Birth to Retirement

Every container in the tree has a life. Planning it, from creation to deletion, avoids messes.

The life of a subscription

1

Request

A team asks for a new subscription, giving purpose, owner, cost centre, and environment.

2

Create and place

The subscription is created and put in the right management group, so it receives the right policies and roles at once.

3

Prepare

Baseline items are added: budgets, alerts, networking, logging, and role assignments for the owning team.

4

Operate

Teams build, deploy, and run their workloads, while governance rules keep things safe.

5

Change

The subscription may move to another management group, for example from a sandbox group to a production group, which changes its inherited rules.

6

Retire

Resources are deleted or archived, the subscription is cancelled or disabled, and it is placed in a holding group during the waiting period.

The life of a resource group

  • Create it with a clear name, a location, and tags that say who owns it and why it exists.
  • Fill it using repeatable templates rather than manual clicks, so the same setup can be rebuilt.
  • Protect important groups with locks and appropriate roles.
  • Move resources between groups if ownership or lifecycle changes, remembering that not all resource types can move.
  • Delete the whole group when the project ends, after checking that nothing shared lives inside.
Analogy

A new shop branch follows a similar life. It is requested, opened under the right regional board, furnished with the standard fittings, run day to day, sometimes moved to a new region, and finally closed with its stock and records handled properly.

How a deployment flows through the tree

When a team deploys an application, the template or pipeline targets a scope, usually a resource group. Azure Resource Manager reads the template, checks permissions and policies as described earlier, and creates each resource in the group, in the right order. Tools such as deployment stacks can keep track of everything a deployment created, so that a later removal cleans up all the pieces together.

15Designing a Hierarchy: The Landing Zone Idea

Microsoft’s Cloud Adoption Framework suggests a well-tested starting shape. It is called an Azure landing zone.

A landing zone is a prepared, governed environment in which a workload can be placed safely. The recommended shape uses management groups to separate shared platform services from the application subscriptions that use them, and to separate experiments from serious production.

flowchart TB
  ROOT["Tenant Root Group"]
  ORG["Management Group: Your Organisation"]
  PLAT["Management Group: Platform"]
  LZ["Management Group: Landing Zones"]
  SBX["Management Group: Sandbox"]
  DEC["Management Group: Decommissioned"]
  ID["Subscription: Identity"]
  MAN["Subscription: Management and Monitoring"]
  CON["Subscription: Connectivity"]
  CORP["Management Group: Corp - internal apps"]
  ONL["Management Group: Online - internet-facing apps"]
  A1["Subscription: App 1 Prod"]
  A2["Subscription: App 2 Prod"]
  ROOT --> ORG
  ORG --> PLAT
  ORG --> LZ
  ORG --> SBX
  ORG --> DEC
  PLAT --> ID
  PLAT --> MAN
  PLAT --> CON
  LZ --> CORP
  LZ --> ONL
  CORP --> A1
  ONL --> A2
    
A typical landing zone shape: platform services, application landing zones, a sandbox for experiments, and a holding group for retired subscriptions.

What each branch is for

Shared

Platform

Holds shared services: identity, central monitoring, and the network hub that connects everything. Few people have access, and mistakes here affect everyone.

Apps

Landing zones

Holds the application subscriptions, often split into groups for internal apps and internet-facing apps, each with suitable rules.

Play

Sandbox

A freer area where people can experiment with fewer restrictions and tight budgets, disconnected from real data.

Retire

Decommissioned

A holding area for subscriptions that are being shut down, with very strict rules, until they are finally removed.

Analogy

A good city has roads, power stations, and water systems built first (the platform). Then it opens plots of land with those services already connected (landing zones), where families can build houses without digging their own pipes. A park (the sandbox) lets children play safely, and a demolition area (decommissioned) keeps old buildings fenced off.

i
Do not copy blindly

A small company with two or three subscriptions does not need this entire structure. Start with the ideas, such as separating shared services, separating production from non-production, and giving experiments their own place, and grow the shape when you truly need it.

16Common Design Patterns: How to Split Your Subscriptions

There is more than one way to divide an organisation. Each has strengths and weaknesses.

PatternHow it splitsStrengthWatch out for
By environmentSeparate subscriptions for development, testing, and productionStrong isolation between risky and safe workMany subscriptions to manage as products multiply
By workload or applicationOne subscription per application or productClear cost and ownership per productShared services need careful connections
By team or departmentOne subscription per teamMatches the company chart, easy chargebackReorganisations force changes, and one team may run many apps
By geography or regulationSeparate subscriptions per country or compliance zoneSupports data residency and legal boundariesMore duplication of shared services
Hybrid of the aboveFor example, per application and per environmentCombines clear ownership with safetyNeeds good naming and automation to stay manageable

The “subscription as a unit of scale” idea

Large organisations often treat subscriptions as disposable building blocks. When a new application needs a space, a process called subscription vending creates a ready-to-use subscription, already placed in the right management group, already given the right policies, networking, and budgets. This keeps each subscription small, avoids hitting limits, and gives every team clean boundaries.

Real-world example: a growing online retailer

An online retailer starts with one subscription for everything. As it grows, a developer’s mistake in testing takes down a part of production, and finance cannot tell which product causes the cost increase. The retailer introduces separate production and non-production subscriptions, then one subscription per major product, all under management groups with shared policies. Mistakes become smaller, and costs become visible.

i
Guiding question

To decide whether two things belong in the same subscription, ask: should they share the same budget, the same access list, the same limits, and the same rules? If the answer to any of these is “no”, a separate subscription is probably the better choice.

17Naming and Tagging Conventions

Good names and tags are a free form of documentation. They make everything easier to find, secure, and charge.

Naming that tells a story

A consistent naming scheme packs useful information into each name. A common pattern combines a short code for the resource type, the workload, the environment, and the region. For example, a resource group for the production version of a shop in a Central India region might be named “rg-shop-prod-centralindia”. Microsoft publishes recommended abbreviations for resource types, and following them helps new team members understand names at a glance.

Type

Resource type prefix

A short code, such as “rg” for resource group or “sub” for subscription, tells you what the thing is.

What

Workload name

Names the application or product, such as “shop” or “payroll”.

Where in life

Environment

Says whether it is development, test, or production.

Where on Earth

Region

Names the location, which helps with disaster recovery and cost reviews.

Tags that earn their keep

A tag is a name and value pair attached to a resource, such as “owner” with the value “team-payments”. Tags are free-form labels that cut across the tree. They answer questions the tree cannot, such as “which resources belong to this cost centre, across all subscriptions?” Useful standard tags include owner, cost centre, environment, application, and data sensitivity. Azure limits the number of tags per resource, so choose a small standard set.

Analogy

In a big warehouse, the shelf location tells you where an item is, and a coloured sticker tells you who it belongs to. The tree is the shelf location, and tags are the stickers. Both are useful, and neither replaces the other.

!
Names are hard to change

Many Azure resources cannot be renamed after creation, and some names must be globally unique. Decide the scheme before you create resources, write it down, and use Azure Policy to enforce required tags.

18Security Across the Hierarchy

The tree is also a security structure. Each boundary is a chance to limit damage.

Boundaries limit the blast radius

The blast radius is the amount of damage a single mistake or attack can cause. Separate subscriptions and groups shrink it. If an attacker steals the credentials of a developer who only has access to a development subscription, they cannot reach production. If a policy mistake is made in a sandbox group, real customers are not affected.

Lock

Resource locks

A “cannot delete” lock stops accidental deletion, and a “read-only” lock prevents changes. Locks apply even to Owners until someone removes the lock.

Time

Just-in-time access

Powerful roles are activated only when needed, for a short period, with approval and a record.

Rescue

Emergency access accounts

A couple of strongly protected accounts are kept aside to regain control if normal access fails. They are monitored closely and used rarely.

Rules

Security policies

Policies at high scopes enforce encryption, block public access to storage, and restrict regions across every subscription.

Watch

Cloud security posture

Microsoft Defender for Cloud scores your subscriptions against security best practice and recommends improvements.

Identity

Strong sign-in

Multi-factor authentication and conditional access protect the tenant, since everything in the tree depends on it.

Analogy

Ships are built with watertight compartments. If one compartment floods, the walls stop the water from sinking the whole ship. Subscriptions and management groups are the watertight walls of your cloud.

!
The identity directory is the crown jewel

Whoever controls the tenant’s most powerful identities can often reach every subscription. Protect these accounts the most, keep their number tiny, and monitor every sign-in.

19Monitoring, Auditing, and Finding Things

A tree with thousands of items needs tools to search it, watch it, and prove what happened.

ToolWhat it tells youUse it when
Activity LogWho created, changed, or deleted what, and when, at subscription levelYou need an audit trail or find out who deleted something
Azure Resource GraphFast queries across all your subscriptions and resourcesYou need an inventory, for example all untagged resources
Policy compliance viewWhich resources break which rulesYou manage governance and track fixes
Cost analysisWhere money is going, by any groupingYou review spending
Defender for CloudSecurity score and recommendationsYou track security improvements
Azure MonitorHealth and performance of the resources themselvesYou operate workloads

Useful questions the tree helps you answer

  • Which subscriptions sit under the Production management group?
  • Who has Owner rights anywhere in the tree?
  • Which resources have no owner tag?
  • Which resource groups cost the most this month?
  • Which resources break the “encryption required” policy?
  • Who deleted that resource group last night?
Analogy

A big library needs a catalogue to find books (Resource Graph), a visitors’ register to see who entered (Activity Log), an inspection report to check rules (Policy compliance), and a ledger for its spending (Cost analysis). Each tool answers one kind of question.

i
Send logs somewhere durable

The Activity Log keeps records for a limited time by default. Send important logs to a central workspace or storage account, so you can investigate older events and meet audit needs.

20Advantages, Disadvantages, and Trade-offs

A richer hierarchy gives more control, but it also gives more to manage. The right amount depends on the size of your organisation.

Advantages of a well-built hierarchy

  • One rule, many places: policies and roles at high levels reach everything below.
  • Clear ownership: every resource sits under an owner and a purpose.
  • Visible costs: bills can be split by product, team, or environment.
  • Smaller blast radius: mistakes and attacks stay inside one boundary.
  • Easy scaling: a new subscription brings fresh limits.
  • Simple cleanup: delete a group and its contents go with it.

Disadvantages and costs

  • Extra planning: a good design needs thought up front.
  • More objects to manage: many subscriptions need automation.
  • Hard to change later: moving resources between subscriptions is possible only for some types, and takes care.
  • Connections needed: separate subscriptions need networking and sharing set up between them.
  • Policy side effects: a strict rule at a high level can block legitimate work.
  • Skills needed: teams must learn scopes, inheritance, and troubleshooting.

One subscription or many?

SituationReasonable structureWhy
Learning or personal projectOne subscription, one resource group per experimentSimple, cheap, easy cleanup
Small team with one productSeparate production and non-production subscriptionsProtects real users from test mistakes
Growing company with several productsSubscription per product and environment, under a few management groupsClear cost, access, and rules
Large enterpriseLanding zone design with platform and application groups, and automated subscription creationGovernance at scale with team independence
Make the tree as simple as your needs allow, and no simpler.

21Common Mistakes and Anti-patterns

Most hierarchy problems come from the same handful of mistakes. Learn them now, before they cost you.

ANTI-PATTERN 01 Avoid
What it looks like

Everything lives in one subscription: development, testing, production, and experiments, all mixed together.

Why it hurts

A careless developer can delete production resources. Costs cannot be separated. One workload can use up the quota that others need, and everyone needs wide access to do their work.

Better approach

Separate production from non-production at least, and give each major product its own space as you grow.

ANTI-PATTERN 02 Avoid
What it looks like

The management group tree copies the company’s organisation chart exactly, with many layers of departments and sub-departments.

Why it hurts

Companies reorganise often, and every change forces a messy move in the tree. Departments also do not necessarily share the same governance needs, so policies become hard to apply sensibly.

Better approach

Design groups around governance needs, such as production versus sandbox, and keep the tree shallow, usually only a few levels.

ANTI-PATTERN 03 Avoid
What it looks like

Many people are given Owner at the subscription or higher “to avoid blocking anyone”.

Why it hurts

Owners can change access, delete almost anything, and sidestep controls. A single stolen account puts everything at risk.

Better approach

Use group-based, least-privilege roles at narrow scopes, and activate powerful roles only when needed.

ANTI-PATTERN 04 Avoid
What it looks like

A resource group holds both a short-lived test and the shared network that production depends on.

Why it hurts

Someone cleans up the test by deleting the group, and the shared network disappears with it. Production goes down.

Better approach

Group resources by lifecycle. Put shared services in their own protected group, with a “cannot delete” lock.

ANTI-PATTERN 05 Avoid
What it looks like

Powerful policies are switched to “deny” at the root group on day one, without testing.

Why it hurts

Legitimate deployments across the whole company suddenly fail, and teams lose trust in governance.

Better approach

Start in audit mode, test at a small scope, communicate, and then enforce at the right level.

Smaller slips to watch for

  • Leaving new subscriptions directly under the root group, where they pick up no useful rules.
  • Forgetting that tags do not inherit, then wondering why costs are unlabelled.
  • Using personal accounts instead of groups for role assignments.
  • Moving resources between groups without checking whether the type is movable and whether dependent resources are affected.
  • Having no budget or alert on a subscription.

22Best Practices and a Design Checklist

Good hierarchies are built from a few dependable habits, applied early.

Do this

  • Separate production from non-production.
  • Use management groups for governance, not for the org chart.
  • Keep the tree shallow and simple.
  • Assign roles to groups at the narrowest sensible scope.
  • Group resources by lifecycle.
  • Standardise names and a small set of required tags.
  • Enforce rules with Azure Policy, starting in audit mode.
  • Set budgets and alerts on every subscription.
  • Protect critical groups with locks.

Avoid this

  • One giant subscription for everything.
  • Giving Owner widely.
  • Putting shared and disposable things in one group.
  • Placing risky rules at the root without testing.
  • Relying on people to add tags by hand.
  • Using deep, department-based management group trees.
  • Creating resources by clicking, with no templates.
  • Forgetting to review access and cost regularly.

A design checklist in order

1

Identify your tenant and owners

Decide who owns the identity directory and the root, and keep that group very small.

2

Sketch the governance needs

List the different sets of rules you need, such as production, non-production, sandbox, and regulated workloads.

3

Create management groups to match

Make the smallest tree that carries those rule sets, and set a default group for new subscriptions.

4

Decide the subscription pattern

Choose environment, workload, team, or a mix, and document how new subscriptions are requested.

5

Set the baseline policies and roles

Apply allowed regions, required tags, and security rules, plus group-based role assignments.

6

Define naming, tags, and resource group rules

Write them down and enforce them by policy where possible.

7

Automate and review

Use templates and pipelines to create resources, and review access, cost, and compliance on a schedule.

23Limits and Numbers Worth Knowing

A few limits shape real designs. The figures below are typical, so confirm the current values before planning.

ItemTypical limit or ruleWhy it matters
Parents per containerExactly oneNothing can be in two places at once, so design with one clear home for each thing
Management group depthAbout six levels under the root, not counting root and subscriptionEncourages a shallow, simple tree
Management groups per tenantThousandsRarely a problem, but do not create hundreds for no reason
Root groups per tenantOneAll governance rules share one top
Resource groups per subscriptionIn the hundreds, with a documented maximumLarge estates may need more than one subscription
Resource group nestingNot allowedUse naming and tags to show relationships instead
Tags per resourceA fixed maximum, typically fiftyChoose a small standard set
QuotasSet per subscription and per regionNew subscriptions give fresh limits, and some need requests to raise
Role assignments per subscriptionA documented, large maximumUsing groups keeps you far below it
!
Verify before you rely

Limits are raised and occasionally changed over time. The numbers in this table are only meant to show the shape of the system. Always check Microsoft’s current documentation on Azure subscription and service limits.

Analogy

Limits are like the capacity rules of a building: a maximum number of people per room, per floor, and per lift. Knowing them in advance helps the architect design wide corridors and extra lifts before the crowd arrives, instead of after.

24Real-World and Industry Examples

The scenarios below show typical ways organisations of different sizes arrange their Azure hierarchy. They are general patterns, not descriptions of any named company.

A student or hobby learner

One subscription from a free account, with one resource group per practice lab. After each lab, the learner deletes the group. A budget alert guards against accidental spending. No management groups are needed.

A small startup

Two subscriptions: one for production and one for everything else. Developers are given Contributor rights in the non-production subscription, and only two senior engineers can change production. Costs of the two subscriptions are reviewed monthly.

A mid-size software company

One subscription per product and environment, grouped under “Production” and “Non-Production” management groups. Policies at those groups require tags, allow only approved regions, and enforce encryption. A central platform team runs shared networking and monitoring in its own subscriptions.

A large bank

A full landing zone structure, with strict policies and few Owners. New application subscriptions are created automatically with network connections, logging, budgets, and policies already in place. Regulated workloads sit in groups with extra rules about regions and encryption.

A university

Each faculty receives a subscription with a budget. A sandbox management group lets students and researchers experiment with strict spending limits and no connection to real data. Research projects that finish are moved to a holding group and then deleted.

A managed service provider

A company that runs cloud services for many customers keeps each customer in separate subscriptions, often in separate tenants, and uses delegated access tools to manage them without sharing credentials.

25Three Mini Labs to Learn by Doing

Each lab is small and safe, and ends with cleanup. A free account is enough for the first two. The third needs permission to create management groups.

Lab 1: Explore your own hierarchy

  • Open the Azure portal and search for “Subscriptions”. Note the name, identifier, and offer type of yours.
  • Open “Resource groups” and create one named for the lab, choosing a nearby location.
  • Create a small, low-cost resource, such as a storage account, inside that group.
  • Open the group and see its resources, its tags area, and its access control page.

What you learn: how the subscription, resource group, and resource levels look and relate in the portal.

Lab 2: See inheritance in action

  • Open the access control page of your subscription and see who has roles there.
  • Open the access control page of your resource group. Notice that the subscription-level roles also appear, marked as inherited.
  • Add a resource lock of type “cannot delete” to the resource group. Try to delete the group and see that Azure refuses.
  • Remove the lock, then delete the group and watch its contents disappear.

What you learn: that roles flow downward, that locks protect against deletion, and that deleting a group deletes everything inside.

Lab 3: Build a tiny management group tree

  • If you have the rights, open “Management groups” and create two groups, one named “Sandbox” and one named “Production”.
  • Move a test subscription into “Sandbox”, and observe how it appears in the tree.
  • Assign a simple, harmless policy, such as one that audits missing tags, to the “Sandbox” group, and check later how it shows compliance on resources in the subscription.
  • Move the subscription back and delete the extra groups when you finish.

What you learn: how management groups organise subscriptions and how a policy at the top reaches everything below.

!
Careful with real environments

Do not try Lab 3 in a company tenant without permission. Changing management groups and policies can affect many people. Use a personal or training tenant.

26A Beginner’s Glossary

Every important word from this guide in one place, each with a plain comparison.

TermPlain meaningEveryday comparison
TenantYour organisation’s directory of identitiesA staff register
Microsoft Entra IDThe service that manages those identities and sign-insThe identity office
Root management groupThe single top container of the treeThe head office
Management groupA container for subscriptions and other groupsA regional board
SubscriptionA billing, access, and scale boundaryA separate phone connection with its own bill
Resource groupA folder for related resourcesA labelled moving box
ResourceOne thing you create, like a databaseOne item in the box
ScopeThe level at which something appliesA postal address level
InheritanceSettings flowing downwardA national rule reaching every school
RBACRole-based access control for Azure resourcesStaff badges
Role assignmentWho gets which role at which scopeGiving a badge for a certain floor
Least privilegeGiving only the access neededA key that opens only your room
Azure PolicyRules about what may exist and howA building code
InitiativeA bundle of policiesA full rulebook
Resource lockA guard against deleting or changingA padlock on a cupboard
TagA name and value label on a resourceA sticker on a box
Azure Resource ManagerThe management front desk of AzureA reservation desk
Landing zoneA prepared, governed place for workloadsA serviced plot of land
Subscription vendingAutomatically creating ready-to-use subscriptionsA ready-made flat handed over with keys
Blast radiusThe damage one mistake or attack can causeThe size of the area a fire can reach
Showback and chargebackShowing or billing departments for their usageA shared household bill

27Frequently Asked Questions

Plain answers to what beginners ask most often.

Q1What is the order of the Azure hierarchy?
From top to bottom: management groups, subscriptions, resource groups, and resources. Above them sits the tenant, with a single root management group.
Q2Do I need management groups?
Not for a single subscription or a small project. They become valuable when you have several subscriptions that should share the same policies and access rules.
Q3Can a subscription belong to two management groups?
No. Every subscription and every management group has exactly one parent. You can move a subscription to another group, but it can only be in one at a time.
Q4Can a resource group contain another resource group?
No. Resource groups cannot be nested. Use clear names and tags to show relationships, and use management groups and subscriptions for larger structure.
Q5What happens if I delete a resource group?
Every resource inside it is deleted too. Some protection may exist, such as locks, but you should always check what is in a group before deleting it.
Q6Do tags and permissions flow downward in the same way?
No. Role assignments, policies, and locks inherit downward. Tags do not inherit by default, so use a policy or your deployment templates to apply them to resources.
Q7Why would I create more than one subscription?
To separate billing, access, and limits. Typical reasons are separating production from development, splitting products or teams, meeting legal boundaries, and getting fresh quotas.
Q8Can I move resources between resource groups or subscriptions?
Many resource types can be moved, but not all, and there are conditions. Check the move support for each type before planning, and expect a short period in which the resources are locked during the move.
Q9What is the difference between Azure RBAC and Entra ID roles?
Azure RBAC controls what people can do to Azure resources and uses the tree’s scopes. Entra ID roles control directory tasks such as managing users. They are separate systems.
Q10Where should I start if I am designing a new setup?
Start simple: separate production from non-production, use groups for access, agree on names and tags, set budgets, and add management groups and policies as you grow.

28Summary and Key Takeaways

Key Takeaways

  • Azure organises everything as a tree: tenant and root group, management groups, subscriptions, resource groups, and resources, and each container has exactly one parent.
  • Management groups apply rules to many subscriptions at once, subscriptions are the billing, access, and scale boundary, and resource groups hold resources that share a lifecycle.
  • Scope tells where something applies, and inheritance carries roles, policies, and locks downward, while tags do not inherit by default.
  • RBAC controls who can do what, Azure Policy controls what may exist, and locks guard against accidents. Resource Manager checks all of them before building anything.
  • Use least privilege, assign roles to groups at the narrowest sensible scope, and use just-in-time access for powerful roles.
  • Split subscriptions to separate cost, access, limits, and risk, starting with production versus non-production, and consider a landing zone shape as you grow.
  • Standardise names and tags, set budgets and alerts, and roll out policies in audit mode before enforcing them.
  • Keep the design as simple as your needs allow, and confirm current limits and recommended tools on Microsoft’s official documentation.