Azure Resource Provider Registration
Azure Resource Providers are services that provide Azure resource types. To use specific Azure services, you must register the corresponding Resource Provider with your subscription.
What is a Resource Provider?
A Resource Provider is a namespace that handles operations for creating, managing, and deleting Azure resources. Each Azure service has one or more Resource Providers following this naming convention:
- Format:
Microsoft.<ServiceName> - Examples:
Microsoft.Compute- Virtual Machines, VM Scale SetsMicrosoft.Storage- Storage AccountsMicrosoft.Web- App Service, FunctionsMicrosoft.Network- Virtual Networks, Load BalancersMicrosoft.Sql- Azure SQL Database
Key Resource Providers
Kubernetes and Container-Related
Microsoft.ContainerService
Provides Azure Kubernetes Service (AKS) cluster resources.
Microsoft.KubernetesConfiguration
Provides GitOps, Flux, and other configuration management features for AKS clusters. Required when using AKS extensions and configuration management.
# Registration example
az provider register --namespace Microsoft.KubernetesConfiguration
Microsoft.ServiceNetworking
Provides application load balancing and service mesh features for AKS. Required for advanced networking features like Application Gateway for Containers.
# Registration example
az provider register --namespace Microsoft.ServiceNetworking
Other Important Providers
Microsoft.OperationalInsights
Provides Azure Monitor Log Analytics workspaces. Used for container insights and various monitoring features.
Microsoft.AlertsManagement
Provides alert management features for Azure Monitor.
Microsoft.Insights
Provides monitoring and diagnostics features including Application Insights and metrics collection.
How to Register Resource Providers
Azure Portal
- Navigate to your target subscription in Azure Portal
- Select "Resource providers" from the left menu
- Search for the Provider you want to register
- Click the "Register" button
Registration may take a few minutes. Once the status shows "Registered", it's complete.
Azure CLI
# Register a Resource Provider
az provider register --namespace <ProviderNamespace>
# Check registration status
az provider show --namespace <ProviderNamespace> --query "registrationState"
# List all Providers with their status
az provider list --query "[].{Provider:namespace, Status:registrationState}" --output table
Example Execution
# Register Microsoft.ServiceNetworking
az provider register --namespace Microsoft.ServiceNetworking
# Check registration status
az provider show --namespace Microsoft.ServiceNetworking --query "registrationState"
# Output: "Registered"
Azure PowerShell
# Register a Resource Provider
Register-AzResourceProvider -ProviderNamespace <ProviderNamespace>
# Check registration status
Get-AzResourceProvider -ProviderNamespace <ProviderNamespace>
# List all Providers with their status
Get-AzResourceProvider | Select-Object ProviderNamespace, RegistrationState
Terraform
resource "azurerm_resource_provider_registration" "example" {
name = "Microsoft.ServiceNetworking"
}
ARM Template / Bicep
resource servicenetworking 'Microsoft.Resources/providers@2021-04-01' = {
name: 'Microsoft.ServiceNetworking'
}
When Registration is Required
Resource Provider registration is necessary in the following scenarios:
-
First-time use of a new service
Microsoft.ContainerServicerequired when creating AKS for the first time
-
Using extension features
Microsoft.KubernetesConfigurationneeded for GitOps on AKSMicrosoft.ServiceNetworkingneeded for Application Gateway for Containers
-
Using preview features
- New preview features may require dedicated Resource Providers
Notes and Best Practices
Permission Requirements
Registering Resource Providers requires one of the following permissions:
Ownerrole on the subscriptionContributorrole on the subscription- Custom role with
Microsoft.Resources/subscriptions/resourceProviders/register/actionpermission
Automatic Registration
Some Azure services automatically register required Resource Providers during resource creation. However, pre-registration is recommended for these reasons:
- Faster deployment: Automatic registration can take time
- Error prevention: Detect permission issues before deployment
- Infrastructure as Code: Explicit dependency management in Terraform or Bicep
Dependency Management in Terraform
# Register Resource Provider
resource "azurerm_resource_provider_registration" "servicenetworking" {
name = "Microsoft.ServiceNetworking"
}
# Resource dependent on the Provider
resource "azurerm_kubernetes_cluster" "example" {
# ... other configurations ...
depends_on = [
azurerm_resource_provider_registration.servicenetworking
]
}
Common Errors
Example Error Message
The subscription is not registered to use namespace 'Microsoft.ServiceNetworking'.
See https://aka.ms/rps-not-found for how to register subscriptions.
If you encounter this error, register the corresponding Resource Provider.
Checking Available Resource Providers
Frequently Used Providers
| Namespace | Service |
|---|---|
| Microsoft.Compute | Virtual Machines, VM Scale Sets |
| Microsoft.Network | Virtual Network, Load Balancer, Application Gateway |
| Microsoft.Storage | Storage Accounts |
| Microsoft.Web | App Service, Functions |
| Microsoft.Sql | SQL Database, SQL Managed Instance |
| Microsoft.ContainerService | Azure Kubernetes Service |
| Microsoft.ContainerRegistry | Azure Container Registry |
| Microsoft.KeyVault | Key Vault |
| Microsoft.OperationalInsights | Log Analytics |
| Microsoft.Insights | Application Insights, Monitoring |
List All Available Providers
# Get all Provider list with Azure CLI
az provider list --output table
# Search with specific keyword (e.g., Kubernetes-related)
az provider list --query "[?contains(namespace,'Kubernetes')]" --output table
Summary
- Resource Providers are service namespaces that must be registered to use Azure services
- Follow the naming convention
Microsoft.<ServiceName> - Can be registered via Azure Portal, CLI, PowerShell, or IaC tools
- Requires appropriate permissions (Owner/Contributor)
- Recommended to manage dependencies explicitly in Infrastructure as Code