How central private DNS zones and DeployIfNotExists policy register private endpoint records automatically, and the permissions it needs.
From Azure Landing Zones (Ultra Transcenders: Beyond the Exam) by Tony Rough (coming December 2026)
Private endpoints only work if their records land in the right central zone, and in a landing zone the people creating the endpoints aren’t allowed to write to that zone.
CAF’s Private Link and DNS integration at scale guidance starts from that conflict. Private DNS zones are hosted centrally with the hub, and only networking and identity administrators can manage records in them. Workload teams can create resources in their own subscriptions but have no permissions in the connectivity subscription, so they can’t create the records their private endpoints need. Policy closes the gap:
The DeployIfNotExists assignment’s managed identity needs the Private DNS Zone Contributor role on the subscription and resource group holding the zones, because the endpoint and the zone are in different subscriptions. CAF recommends built-in policies where available, and the Azure landing zone policy set includes an initiative for this, Deploy-Private-DNS-Zones (“Configure Azure PaaS services to use private DNS zones”), made of periodically updated built-ins. Chapter 10: Governance at scale with Azure Policy covers DeployIfNotExists remediation and its identities. Figure 9.2 follows a record from the endpoint to an on-premises lookup.
| Symptom | Cause Learn documents | Fix |
|---|---|---|
| Endpoint created but name resolves to the public IP | The workload created its own privatelink zone, or DNS integration in IaC competed with policy | Deny privatelink zones outside the platform; don’t integrate DNS in IaC when the DeployIfNotExists approach is used |
| Records never appear | The policy’s managed identity lacks rights on the central zone | Assign Private DNS Zone Contributor where the zones live |
| On-premises clients can’t resolve endpoints | No conditional forwarders for the public service zones to the resolver’s inbound endpoint | Add conditional forwarders for each private endpoint public DNS zone |
| NXDOMAIN for a public resource of the same type | The private zone answers for that service and has no record | Enable fallback to internet on the zone’s virtual network link, or add an A record (not recommended) |
| One endpoint’s record disappears | One zone associated with two different services’ private endpoints | One zone per service type; don’t mix services in a zone |
| Multi-region endpoints drift | Regional private endpoints for the same PaaS instance need manual record maintenance | Plan an operational process; there is no automated lifecycle for this case |
Common pitfall: Letting workload pipelines create private DNS zone groups in their own code while the platform’s DeployIfNotExists policy does the same - CAF says that with the policy approach you shouldn’t integrate DNS in IaC; the policy, with the right role on the central zones, owns the records.
This note is one section of Azure Landing Zones: Building an Azure Foundation with the Cloud Adoption Framework, an independent guide in the Ultra Transcenders Beyond the Exam series, with comparison tables, diagrams, the common pitfalls and tested companion code, plus a glossary linked to Microsoft Learn.
Due on Amazon in December 2026, in Kindle and paperback editions.
About the book · Azure Landing Zones terms in the glossary · All free notes from Azure Landing Zones
The four environment and four compliance design areas of the Cloud Adoption Framework, what each one decides, and which team usually owns it.
What a first platform landing zone needs on day one, what can safely wait, and how to grow it without redesigning later.
The intermediate root, Platform, Landing zones, Sandboxes and Decommissioned groups: what each is for and why the hierarchy stays shallow.
What each Azure Firewall tier adds, where Basic stops being enough, and how to choose for a hub that many workloads share.
The factors that decide between a customer-managed hub and Azure Virtual WAN, and the constraints that can make the choice for you.
When to use Audit, Deny, DeployIfNotExists, Modify and DenyAction in a landing zone, and what each commits you to.
How the two infrastructure-as-code options compare for deploying and running an Azure landing zone, and what decides the choice.