Skip to content

Lint Rules

The Azure Resource Manager lexicon provides 23 rules: 3 lint rules and 20 post-synth checks.

IDSeverityCategoryDescription
AZR001warningcorrectnessHardcoded Azure Location
AZR002warningsecurityStorage Account HTTPS Only
AZR003warningsecurityNSG Wildcard Source Address

Post-synth checks validate the serialized output after the build pipeline completes.

IDDescription
AZR010Redundant dependsOn — target is already referenced via reference() or resourceId() in properties
AZR011Missing or invalid apiVersion — every ARM resource must have a valid apiVersion in YYYY-MM-DD format
AZR012Deprecated API version — apiVersion older than 2023 may lack features and security patches
AZR013Resource missing location — most Azure resources require a location property
AZR014Public blob access enabled on storage account — disable allowBlobPublicAccess to prevent public data exposure
AZR015Missing encryption on storage account — enable encryption services to protect data at rest
AZR016Key Vault soft-delete not enabled — enable to protect against accidental deletion
AZR017Key Vault purge protection not enabled — enable to prevent permanent deletion during retention period
AZR018SQL Server missing auditing — enable auditing for compliance and threat detection
AZR019SQL Server database missing TDE — enable Transparent Data Encryption to protect data at rest
AZR020App Service missing managed identity — enable SystemAssigned or UserAssigned identity
AZR021App Service missing HTTPS-only — set httpsOnly to true to enforce encrypted traffic
AZR022App Service missing minimum TLS 1.2 — set minTlsVersion in siteConfig to enforce TLS 1.2+
AZR023VM missing managed disk — use managed disks for better reliability and management
AZR024VM missing boot diagnostics — enable for troubleshooting startup failures
AZR025AKS cluster missing RBAC — enable Kubernetes RBAC for access control
AZR026AKS cluster missing network policy — configure networkPolicy for pod-to-pod traffic control
AZR027Container Registry admin user enabled — disable admin and use Azure AD or service principals
AZR028Network interface missing NSG — associate an NSG to control network traffic
AZR029Managed disk missing encryption — enable encryption to protect data at rest