Skip to content

Partner Onboarding

This guide helps Microsoft partners operationalize SMB Ready Foundation for multi-customer deployments.

  1. Prepare the customer tenant

    Create the smb-rf management group under the customer’s tenant root. This is a one-time operation per customer that requires Global Admin or equivalent privileges.

    Terminal window
    az account management-group create --name smb-rf \
    --display-name "SMB Ready Foundation"
  2. Clone and configure per customer

    Each customer gets their own Azure subscription associated with the smb-rf management group. Use a naming convention for azd environments:

    Terminal window
    cd infra/bicep/smb-ready-foundation # or infra/terraform/smb-ready-foundation
    azd env new contoso-prod
    azd env set SCENARIO baseline
    azd env set OWNER "partner@contoso.com"
    azd env set AZURE_LOCATION swedencentral
  3. Deploy

    Terminal window
    azd up

    Typical deployment times:

    • baseline: 5–10 minutes
    • firewall: 15–20 minutes
    • vpn: 25–35 minutes
    • full: 40–55 minutes
  4. Verify

    Terminal window
    # 6 resource groups
    az group list --query "[?starts_with(name,'rg-')].name" -o tsv
    # Check MG policies
    az policy assignment list \
    --scope "/providers/Microsoft.Management/managementGroups/smb-rf" \
    --query "length(@)"
  5. Hand off to customer

    Post-deployment, customers configure their workloads (VMs, data services) within the spoke VNet. The governance policies automatically enforce security baselines.

The only required parameter is OWNER. Everything else has sensible defaults:

ParameterDefaultOverride When
SCENARIObaselineCustomer needs firewall or VPN
OWNER— (required)Always set per customer
AZURE_LOCATIONswedencentralCustomer has region preference
HUB_VNET_ADDRESS_SPACE10.0.0.0/23Address conflict with existing infra
SPOKE_VNET_ADDRESS_SPACE10.0.2.0/23Address conflict with existing infra
ON_PREMISES_ADDRESS_SPACEVPN or full scenarios only
LOG_ANALYTICS_DAILY_CAP_GB0.5High-volume workloads
  • Template per scenario: Create one azd environment template per scenario (e.g., baseline-template, firewall-template) and clone for each customer.
  • CIDR planning: Assign unique address spaces per customer to avoid conflicts if you later peer subscriptions.
  • Tagging: The Owner tag on every resource ties back to the customer for cost attribution.
  • Budget alerts: The $500/month budget alert goes to the subscription owner — ensure this is the partner operations mailbox.

When offboarding a customer:

Terminal window
cd infra/bicep/smb-ready-foundation
# Preview
pwsh scripts/Remove-SmbReadyFoundation.ps1 -WhatIf
# Remove resources + policies (keep MG)
pwsh scripts/Remove-SmbReadyFoundation.ps1 -Force
# Remove everything including MG
pwsh scripts/Remove-SmbReadyFoundation.ps1 -Force -RemoveManagementGroup