Azure Resource Providers
Azure Resource Manager uses resource providers to connect management operations to Azure services. You see their names in resource IDs, templates, policies, logs, and error messages.
- What a resource provider is
- How provider namespaces and resource types are written
- Why provider registration exists
- How to check registration in the portal and Azure CLI
What is a resource provider?
A resource provider is a set of management operations for an Azure service. It tells Azure Resource Manager which resource types the service supports and which actions can be performed.
Each provider has a namespace. Many Microsoft providers start with Microsoft..
Microsoft.ComputeVirtual machines, disks, images, and related compute resourcesMicrosoft.NetworkVirtual networks, public IP addresses, network interfaces, and gatewaysMicrosoft.StorageStorage accounts and supported storage resource typesMicrosoft.KeyVaultKey vaults and their management operationsProvider namespace and resource type
A resource type uses this format:
{resource-provider}/{resource-type}Examples:
Microsoft.Compute/virtualMachinesMicrosoft.Network/virtualNetworksMicrosoft.Storage/storageAccountsMicrosoft.KeyVault/vaults
This information appears in Bicep files, ARM templates, Azure Policy definitions, activity logs, REST API paths, and Azure resource IDs.
/subscriptions/00000000-0000-0000-0000-000000000000
Resource group/resourceGroups/rg-demo
Provider and type/providers/Microsoft.Compute/virtualMachines
Resource name/vm-demo-01What is provider registration?
A subscription must be registered for a resource provider before some resource types can be used. Registration configures the subscription to work with that provider.
Many common providers are already registered. Azure can also register required providers automatically in some deployment experiences. However, a deployment can fail with a registration error when the required provider is not available for the subscription.
Common registration states include:
Microsoft recommends registering only the resource providers that you are ready to use. This supports least privilege and avoids unnecessary provider applications in the tenant.
Check providers in the Azure portal
- Search for Subscriptions.
- Select the subscription.
- Under Settings, select Resource providers.
- Search for the provider namespace.
- Review the registration status.
- Select Register when the provider is required and you have permission.
Registration is performed at subscription scope. Registering a provider in one subscription does not register it in every other subscription.
Check providers with Azure CLI
List provider names and states:
az provider list --query "[].{Namespace:namespace, State:registrationState}" --output table
Check one provider:
az provider show --namespace Microsoft.KeyVault --query "{Namespace:namespace, State:registrationState}"
Register a provider:
az provider register --namespace Microsoft.KeyVault
List resource types for a provider:
az provider show --namespace Microsoft.Compute --query "resourceTypes[].resourceType" --output table
A common error
A deployment may return an error similar to MissingSubscriptionRegistration or explain that the subscription is not registered to use a namespace.
The basic troubleshooting process is:
- Read the provider namespace in the error.
- Confirm the current subscription.
- Check the provider registration state.
- Register the provider when appropriate.
- Wait for the state to become Registered.
- Retry the deployment.
Also confirm that the resource type and region are supported. Provider registration alone does not make every service available in every region.
Summary
A resource provider connects Azure Resource Manager to an Azure service. Its namespace and resource types identify what can be deployed and managed.
Understanding providers makes Azure resource IDs, Bicep, ARM templates, policies, and deployment errors easier to read.