Azure Policy Assignment

Policy assignments bind a policy definition to a specific scope (subscription, resource group, or resource). Once assigned, Azure evaluates resources under that scope and enforces compliance.

Key Concepts

TermDescription
ScopeThe level at which the policy is evaluated – subscription, resource group or resource.
ParametersValues you can customize per assignment (e.g., allowed locations).
Non‑Compliance MessageCustom text shown when a resource violates the policy.
IdentityManaged identity used for remediation tasks.

JSON Example

{
  "properties": {
    "displayName": "Require tags on resource groups",
    "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/RequireTag",
    "scope": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyRG",
    "parameters": {
      "tagName": {
        "value": "environment"
      },
      "tagValue": {
        "value": "production"
      }
    },
    "description": "Ensures every resource group has the environment tag set to production.",
    "enforcementMode": "Default"
  }
}

Azure PowerShell

# Connect to Azure
Connect-AzAccount

# Assign the policy
New-AzPolicyAssignment `
    -Name "RequireEnvTagRG" `
    -Scope "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyRG" `
    -PolicyDefinition "/providers/Microsoft.Authorization/policyDefinitions/RequireTag" `
    -TagName "environment" `
    -TagValue "production"

Azure CLI

az login

az policy assignment create \
  --name "RequireEnvTagRG" \
  --scope "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyRG" \
  --policy "/providers/Microsoft.Authorization/policyDefinitions/RequireTag" \
  --params '{\"tagName\":{\"value\":\"environment\"},\"tagValue\":{\"value\":\"production\"}}'

REST API

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments/{assignmentName}?api-version=2022-06-01

{
  "properties": {
    "displayName": "Require tags on resource groups",
    "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/RequireTag",
    "parameters": {
      "tagName": {"value": "environment"},
      "tagValue": {"value": "production"}
    },
    "description": "Ensures each resource group contains the required tag."
  }
}

Common Scenarios

Related Documentation