Skip to content
Management and governance policy

Azure Policy definition naming convention

The CAF abbreviation for Azure Policy definition is policy. Names can be 1 to 64 characters long and allow alphanumerics, hyphens and underscores. The name must be unique within the subscription.

Naming rules

CAF abbreviation policy
Length 1 to 64 characters
Allowed characters Alphanumerics (a-z, A-Z, 0-9), hyphens, underscores
Scope of uniqueness Unique within the subscription
CAF pattern policy-{workload}-{environment}-{region}-{instance}
Worth knowing: CAF recommends a descriptive name rather than a fixed abbreviation.

Rules follow Microsoft's resource naming rules and CAF abbreviations. Some resource types have extra start/end character restrictions, so verify against the official docs before locking in a convention.

Naming Management and governance resources

Subscriptions and management groups sit at the top of this category and have their own guide covering immutable IDs versus display names. Resource groups are the single most created resource in Azure and the one place teams disagree most, workload first or type first, prefix or suffix, consistency matters far more than which specific order you settle on, which is also why this site lets you reorder the pattern rather than force one.

Log Analytics workspaces and Application Insights are usually centralized per environment rather than created per app, so name them for the environment or platform boundary they observe. The common mistake is spinning up a separate Log Analytics workspace per app, which prevents the cross service log correlation that a shared workspace exists to provide in the first place.

Example names

Generated by the same engine as the name generator, so length and character rules are already applied.

Scenario Generated name Length
Payments API, production policy-payments-prod-eus-001 28/64
Web app, development policy-webapp-dev-weu-002 25/64
Analytics with company prefix policy-contoso-analytics-stage-uks-001 38/64

Naming in Terraform and Bicep

Build the name from variables so one module produces the right name in every environment.

Terraform
locals {
  policy_definition_name = "policy-${var.workload}-${var.environment}-${var.region}-001"
}
Bicep
var policyDefinitionName = 'policy-${workload}-${environment}-${region}-001'

Generate Azure Policy definition names for your workload

Free, no login. Validation and Terraform, Bicep, or CSV export included.

Open in the generator →

Related Management and governance resources

See the full list of Azure resource naming rules or read the complete CAF naming guide.