Azure Management Groups: Organize Subscriptions at Scale

As cloud estates grow, a single Azure subscription quickly becomes dozens. Azure Management Groups give you an enterprise-grade governance scope above subscriptions, so policy and RBAC flow downward automatically.

Why management groups exist

Important facts

Anatomy of the hierarchy


Tenant root group
├─ Corp
│  ├─ Prod-Apps
│  └─ NonProd-Apps
└─ Shared
   ├─ Networking
   └─ Security

Creating your first management group

  1. Portal → Management Groups+ Create.
  2. Give it a unique ID and friendly Display Name.
  3. (Optional) move existing subscriptions under it.

Assigning Policy & RBAC

Policy - Azure Policy service

  1. Search for Policy and open Azure Policy.
  2. Left nav → Authoring → Assignments.
  3. Click + Assign initiative (or Assign policy).
  4. In Scope, choose your management group.
  5. Select a built-in initiative like “Audit VMs that aren’t using approved SKUs”, adjust parameters, then Create.

RBAC

  1. Still on the management group, open Access control (IAM).
  2. + Add → Add role assignment, choose a role (e.g., Reader) and principal, then Save.
  3. Both the policy and role inherit automatically to every child subscription and resource.

Design tips & gotchas

Terraform snippet


resource "azurerm_management_group" "corp" {
  name         = "corp"
  display_name = "Corp"
}

resource "azurerm_management_group_subscription_association" "prod" {
  management_group_id = azurerm_management_group.corp.id
  subscription_id     = var.prod_subscription_id
}

Key takeaways

Start early, keep the hierarchy flat, and let governance flow downward so you spend more time delivering value and less time babysitting subscriptions.

Happy organizing! 🚀