Skip to main content
Version: Next

Task 02: Create Subscription

Runbook Azure

DOCUMENT CATEGORY: Runbook SCOPE: Single subscription deployment — subscription provisioning PURPOSE: Create and configure single subscription MASTER REFERENCE: Create Azure subscriptions programmatically

Status: Active


Overview

Provision a single Azure subscription and associate it with the landing zone management group. In the single subscription deployment model, all resources reside in one subscription, with organization achieved through resource groups and tags.

How You Create Subscriptions

How you create subscriptions depends on your organization's billing arrangement:

Billing TypeCreation MethodProgrammatic Support
Enterprise Agreement (EA)EA Portal, Azure CLI, or REST API✅ Full — az account create with enrollment account
Microsoft Customer Agreement (MCA)Azure Portal, Azure CLI, or REST API✅ Full — az account create with billing profile + invoice section
Pay-As-You-Go / MOSPAzure Portal only❌ Manual only — use the Portal tab

What This Accomplishes

  • Single billing boundary — all costs tracked in one subscription
  • Unified resource container — all resources under one subscription
  • Simplified management — one subscription to govern

Prerequisites

PrerequisiteDetail
Management GroupLanding zone management group deployed (Task 01)
Billing AccessEA enrollment account owner, MCA billing profile owner, or Azure Portal access to create subscriptions
PermissionsManagement Group Contributor on the landing zone MG (to associate the subscription after creation)

Subscription Details

Naming Convention

Pattern: <org>-<purpose>-<environment>-<instance>

Example (IIC): iic-lz-azurelocal-001

Configuration Reference

AttributeValueConfig Path
Subscription NamePer configvariables.yml → azure.subscriptions.lab.name
Subscription IDPer configvariables.yml → azure.subscriptions.lab.id
Landing Zone MGPer configvariables.yml → azure.management_groups.landing_zone.name
PurposeAll Azure Local resources

IIC Example Values

AttributeIIC Value
Subscription Nameiic-lz-azurelocal-001
Landing Zone MGcmp-landing-zones-iic

Resource Organization Strategy

In the single subscription model, a single resource group provides resource organization within the subscription:

iic-lz-azurelocal-001                    ← subscription
└── rg-c01-azl-eus-01 ← single resource group (Task 03)
├── Azure Local cluster resources
├── Arc-enabled servers
├── Key Vault
└── Storage accounts
tip

The single resource group is created in Task 03: Create Resource Groups. This task only covers the subscription itself.

Variables from variables.yml

VariableConfig PathExample (IIC)
Subscription Nameazure.subscriptions.lab.nameiic-lz-azurelocal-001
Subscription IDazure.subscriptions.lab.id(per environment)
Landing Zone MGazure.management_groups.landing_zone.namecmp-landing-zones-iic

Execution Options

Azure Portal

When to use: Pay-As-You-Go billing, or you prefer the visual interface

Procedure

  1. Navigate to Subscriptions:

    • In Azure Portal, search for Subscriptions
    • Click + Add
  2. Create the subscription:

    • Subscription name: iic-lz-azurelocal-001 (or your value from variables.yml)
    • Billing: Select your billing account / enrollment
    • Management group: Select the landing zone management group (cmp-landing-zones-iic)
    • Click Create
  3. Verify the subscription appears under the correct management group in Management groups view

Validation

  • Subscription created with name matching variables.yml
  • Subscription is under the landing zone management group
  • You have Owner access to the subscription

Using an Existing Subscription

If your organization already has a subscription provisioned, skip creation and associate it with the landing zone management group:

az account management-group subscription add \
--name "cmp-landing-zones-iic" \
--subscription "<subscription-id-or-name>"
New-AzManagementGroupSubscription `
-GroupId "cmp-landing-zones-iic" `
-SubscriptionId "<subscription-id>"
Subscription Move Impact

Moving a subscription to a different management group changes which Azure Policies and RBAC role assignments it inherits. Review inherited policies before moving production subscriptions.

Target Structure

cmp-iic-root                              ← organization root MG (already exists)
└── cmp-landing-zones-iic ← landing zone MG (Task 01)
└── iic-lz-azurelocal-001 ← subscription (this task)

Validation

  • Subscription exists with the name from variables.yml
  • Subscription is associated with the landing zone management group (not root)
  • Subscription is visible under the landing zone MG in the Azure Portal
  • You have Owner or Contributor access to the subscription

Verify via CLI

az account management-group show --name "cmp-landing-zones-iic" --expand \
--query "children[?type=='Microsoft.Management/managementGroups/subscriptions'].{Name:name, DisplayName:displayName}" \
-o table

Troubleshooting

SymptomErrorResolution
No enrollment account foundEmpty result from az billing enrollment-account listYou need EA enrollment account owner role — contact your organization's EA admin
Subscription creation failsAuthorizationFailed or BillingAccountNotFoundVerify your billing access — EA enrollment owner, MCA billing profile contributor, etc.
Cannot associate with MGAuthorizationFailedVerify Management Group Contributor role on the landing zone MG
Subscription under wrong MGShows under root or Tenant Root GroupMove: az account management-group subscription add --name cmp-landing-zones-iic --subscription <sub-id>
Subscription not visibleNot listed in Azure PortalVerify you're signed into the correct tenant — check with az account show

Next Steps

Proceed to Task 03: Create Resource Groups

References


PreviousUpNext
Task 01 — Management GroupSingle Subscription Deployment OverviewTask 03 — Create Resource Groups

Version Control

  • Created: 2026-01-15 by Hybrid Cloud Solutions
  • Last Updated: 2026-03-19 by Hybrid Cloud Solutions
  • Version: 3.0.0