Skip to main content

Resource providers

Azure only lets you deploy a resource type if the subscription is registered for its resource provider. Azure often registers providers on first use, but that needs permission and can fail mid-deployment, so register them up front in every subscription you deploy to (one per environment if you use separate subscriptions).

Required providers

ProviderNeeded forScenarios
Microsoft.MachineLearningServicesWorkspace, compute, registryAll
Microsoft.StorageWorkspace storage, Terraform state, ADLS dataAll
Microsoft.KeyVaultWorkspace Key VaultAll
Microsoft.ContainerRegistryWorkspace container registryAll
Microsoft.OperationalInsightsLog AnalyticsAll
Microsoft.InsightsApplication Insights, diagnosticsAll
Microsoft.ManagedIdentityDeploy identity, workspace identitiesAll
Microsoft.AuthorizationRole assignments, policy assignments (registered by default)All
Microsoft.PolicyInsightsPolicy compliance resultsAll unless policy_mode: none
Microsoft.NetworkVNets, private endpoints, private DNS2, 3, 4, 9 and any private scenario
Microsoft.CognitiveServicesAI Foundry, model deployments10, 12
Microsoft.SearchAzure AI Search12
Microsoft.ConsumptionBudget alerts9, or when budget_amount is set

Providers marked “registered by default” need no action. See the Azure list of providers by service.

Register them

'Microsoft.MachineLearningServices','Microsoft.Storage','Microsoft.KeyVault','Microsoft.ContainerRegistry',
'Microsoft.OperationalInsights','Microsoft.Insights','Microsoft.ManagedIdentity','Microsoft.PolicyInsights',
'Microsoft.Network','Microsoft.CognitiveServices','Microsoft.Search','Microsoft.Consumption' |
  ForEach-Object { az provider register --namespace $_ }

Registration takes a few minutes. Check progress with az provider show -n Microsoft.MachineLearningServices --query registrationState.

Registering needs the */register/action permission, which the Contributor role includes. Test-MLOpsAcceleratorRequirement reports the unregistered ones it checks.

Troubleshooting

  • MissingSubscriptionRegistration or The subscription is not registered to use namespace ...: register that namespace and run the deployment again.
  • Deployment fails with Conflict right after registering: wait until the state is Registered.
  • Extra resources you add yourself may need more providers. Check the resource’s provider namespace.