Azure Learning Path — Stage 1, Chapter 3. Azure environments become difficult to secure and govern when resources are created without a clear hierarchy. This chapter explains the scopes that organize Azure: Microsoft Entra tenant, management groups, subscriptions, resource groups and resources.
What you will learn
- How Azure hierarchy works.
- What a subscription really represents.
- Why management groups exist.
- How to design resource groups.
- How governance and RBAC inheritance work across scopes.
- Practical CLI examples and an enterprise design lab.
1. Azure hierarchy
Microsoft Entra tenant
└── Root management group
├── Platform
│ ├── Identity subscription
│ └── Connectivity subscription
└── Landing Zones
├── Production subscription
└── Non-production subscription
└── Resource groups
└── Azure resourcesThe hierarchy matters because access control and governance can be assigned at different scopes and inherited downward.
2. Microsoft Entra tenant
The tenant is the identity directory associated with users, groups, service principals, applications and administrative roles. An Azure subscription trusts one Microsoft Entra tenant for authentication.
3. What is an Azure subscription?
A subscription is an important management, billing and scale boundary. Azure resources are deployed under a subscription, and costs are recorded there. Organizations commonly use multiple subscriptions to separate environments, teams, business units, regulatory boundaries or platform services.
When should you consider multiple subscriptions?
- Production and non-production require stronger isolation.
- Different departments need separate billing or cost ownership.
- Workloads have different governance requirements.
- Platform teams operate shared connectivity or identity services.
- Resource quotas and scale need independent boundaries.
4. Management groups
Management groups sit above subscriptions. They are designed to organize subscriptions at scale and provide a scope where governance such as Azure Policy and access assignments can be applied to many subscriptions consistently.
For example:
Tenant Root Group
├── Platform
│ ├── Connectivity
│ └── Management
└── Landing Zones
├── Corp
└── OnlineA policy assigned at a management-group scope can be inherited by subscriptions below it. This is powerful, so management-group structure should be stable and designed around governance needs rather than mirroring every temporary org-chart change.
5. Resource groups
A resource group is a logical container for Azure resources. It is commonly used to group resources that share a lifecycle, owner, environment or application boundary.
Good example
rg-payments-prod-app
├── App Service
├── Application Insights
├── Key Vault
└── Storage AccountAnother valid example
A networking team might create separate resource groups for shared hub networking because the lifecycle and ownership differ from application resources.
6. What a resource group is not
- It is not a network boundary.
- It is not an identity directory.
- It is not automatically a billing account.
- It does not automatically apply its tags to child resources.
- It is not required that all resources in a group be in the same Azure region.
7. Scope and inheritance
Azure RBAC and policy can be assigned at different scopes:
Management group
↓
Subscription
↓
Resource group
↓
ResourceA role assignment at subscription scope can apply to resource groups and resources below that subscription. A narrower resource-group assignment limits the access scope.
8. Example enterprise subscription model
| Subscription | Purpose |
|---|---|
| sub-platform-connectivity | Hub VNets, VPN/ExpressRoute, Azure Firewall |
| sub-platform-management | Monitoring and shared operations |
| sub-app-prod | Production application workloads |
| sub-app-nonprod | Development and testing workloads |
This design makes governance, cost reporting and blast-radius management easier than putting every workload into one subscription.
9. Azure CLI examples
List subscriptions:
az account list --output tableSelect a subscription:
az account set --subscription "SUBSCRIPTION_NAME_OR_ID"Confirm current subscription:
az account show --output tableCreate a resource group:
az group create \
--name rg-melochip-azure-dev \
--location centralindia \
--tags Environment=Dev Application=AzureLabList resource groups:
az group list --output table10. Naming strategy
A consistent naming convention makes search, operations and cost analysis easier.
rg-<workload>-<environment>-<region>
Example:
rg-payments-prod-centralindiaDo not create names that depend only on the current employee or project nickname. Prefer names that remain meaningful over the resource lifecycle.
11. Common design mistakes
- Putting every production and development workload in one subscription.
- Creating one resource group per individual resource without a lifecycle reason.
- Mirroring a fast-changing org chart in the management-group hierarchy.
- Assigning Owner at management-group scope casually.
- Using resource groups as if they were network security boundaries.
- Deleting a resource group without understanding that its contained resources are deleted with it.
12. Hands-on lab
- Open Management groups in the Azure portal and inspect the hierarchy available to your account.
- Open Subscriptions and record the active subscription ID.
- Create rg-azure-stage1-dev.
- Add Environment=Dev, Owner=Student and CostCenter=Learning tags.
- Use Azure CLI to list the resource group.
- Open Access control (IAM) on the resource group and observe inherited permissions.
- Delete the test resource group after the lab if it contains no required resources.
13. Interview questions
- What is the difference between a tenant and a subscription?
- Why would an enterprise use management groups?
- What is a resource group?
- Can a resource group contain resources from different regions?
- Why separate production and non-production subscriptions?
- How does RBAC inheritance work across Azure scopes?
Official References
- Microsoft Learn documentation for the related Azure service and governance topic.
Join the discussion
0 CommentsAsk questions, add context, or share what worked.
More from Melochip Editorial
Learn what Playwright testing is, why modern QA teams use it, how testers can get started, and the major types...
7 min read · Sep 19, 2026
Learn how Kubernetes Deployments and ReplicaSets work with practical YAML, scaling, self-healing, rolling upda...
7 min read · Sep 17, 2026
Learn Kubernetes security best practices with RBAC, Secrets, ServiceAccounts, Pod securityContext, NetworkPoli...
6 min read · Sep 17, 2026Related articles
Learn Kubernetes security best practices with RBAC, Secrets, ServiceAccounts, Pod securityContext, NetworkPoli...
6 min read · Sep 17, 2026
Learn what Playwright testing is, why modern QA teams use it, how testers can get started, and the major types...
7 min read · Sep 19, 2026
Learn how Kubernetes Deployments and ReplicaSets work with practical YAML, scaling, self-healing, rolling upda...
7 min read · Sep 17, 2026
Learn Kubernetes monitoring and logs with kubectl logs, events, metrics-server, top commands, Prometheus, Graf...
5 min read · Sep 17, 2026Stay in the loop. Get new Melochip articles
Receive Melochip article updates when new articles are available. Explicit opt-in only.
No comments yet. Start the discussion.