Azure AI Foundry Private Endpoints: Network Isolation

Azure AI Foundry private endpoints are where enterprise AI stops being a demo and becomes something your security team will approve. Microsoft Foundry makes it easy to build agents, deploy models and run evaluations, but once real data is involved, public access, DNS, RBAC and developer connectivity become the hard problems.

This runbook covers what to lock down, what not to break, how private endpoints fit, and how to troubleshoot the classic “it works from my laptop but not from the app.”

Why Azure AI Foundry private endpoints matter

Microsoft’s Foundry network isolation guidance describes three areas: inbound access to the Foundry resource, outbound access from Foundry to other Azure services, and outbound access from the Foundry Agent client to dependencies such as private data sources. Most incidents aren’t “private endpoint yes or no”; they’re “which path is this request taking?”

The three paths to design before you lock the gate

Inbound to Foundry
Admins, makers, data scientists, CI jobs and apps reaching the project or account.
Outbound from Foundry
Storage, Key Vault, monitoring, model endpoints and other Azure services.
Agent client outbound
Agent runtime traffic to private data sources, PaaS services or approved internet endpoints.

Foundry isn’t one box; it’s a platform surface plus supporting resources, identities, model deployments, data stores and developer workflows. Isolate the front door and leave the side windows open, and the audit will find them.

Design areaRecommended starting pointWhy it matters
Public accessDisable it where private access is required, or use selected IPs as a transition.Removes accidental direct paths while you prove private connectivity.
Private endpointsCreate them for Foundry and each required connected service.One endpoint for the obvious resource is rarely enough.
DNSUse Microsoft’s recommended private DNS zones, linked to the right VNets.Most “private endpoint is broken” tickets are DNS tickets.
IdentityPrefer Microsoft Entra ID and Foundry RBAC over keys.Microsoft notes key-based authentication grants full access without role restrictions.
RolloutPilot one project and one application path, then expand in rings.Isolation is secure right up until every developer is blocked.

Start with identity: RBAC is part of the network story

Network isolation controls where requests come from; RBAC controls what they can do on arrival. Foundry’s built-in roles include Foundry User, Foundry Owner, Foundry Account Owner and Foundry Project Manager, renamed from the earlier Azure AI role names with the same role IDs and core permissions.

Make sure both the caller and the project’s managed identity have the right roles at the right scope. If an app resolves the private endpoint but still gets authorization errors, stop adding DNS zones and check RBAC, the managed identity and whether the code uses Entra authentication or a key. Private networking plus shared keys is a locked building where everyone has copied the master key.

Design the private endpoint path

A private endpoint gives a resource a private IP in your VNet, and clients rely on DNS to resolve the service name to it. Microsoft’s guidance is blunt: configure DNS so the FQDN resolves to the private IP, and don’t override zones in a way that breaks public resolution without proper forwarding. Before changing anything, map:

  • Who connects: browser users, build agents, backend APIs, jump boxes, integration runtimes and automation.
  • From where: corporate network, VPN, ExpressRoute, hub-and-spoke VNets, private build agents or app environments.
  • To what: the Foundry project or account, model deployments, storage, Key Vault, monitoring, private data and approved outbound endpoints.
  • With which identity: user, managed identity, service principal or workload identity federation.

The DNS flow is: the client asks for the Foundry endpoint name, the private DNS zone linked to the workload VNet answers, the private IP of the endpoint NIC comes back, and traffic stays private, with RBAC still applied. For hybrid clients, the Azure DNS Private Resolver runbook covers the forwarding design.

Common breakpoints

SymptomLikely causeFirst checks
Works from a VM in one VNet, fails elsewherePrivate DNS zone or VNet link mismatchCompare DNS resolution from both clients; verify zone links and forwarding.
Name resolves to a public IPZone not linked or conditional forwarding missingCheck the resolver path, zone records and corporate forwarding.
Connection times outRoute, NSG, firewall or endpoint approvalCheck endpoint state, effective routes, NSGs and firewall rules.
HTTP 401 or 403Identity or RBAC, not the networkConfirm token audience, managed identity, Foundry role and dependency permissions.
Model call works, data access failsConnected resource or agent dependency unreachableTrace the outbound path to storage, Key Vault, search, database or API.

Runbook: roll out Azure AI Foundry private endpoints

  1. Create the project intentionally. Decide whether it’s a sandbox, a shared platform project or a production application boundary.
  2. Define allowed client networks: admin workstations, VPN or ExpressRoute, private build agents, app subnets and jump boxes. Browser users of a private project need private DNS and routing too.
  3. Create private endpoints for Foundry and its dependencies, including Key Vault, storage, search, databases and internal APIs. The App Service Key Vault reference fixes show how identity plus network rules can fail in non-obvious ways.
  4. Wire DNS deliberately: link private zones to the VNets hosting clients, agents and apps, and set conditional forwarding for hybrid users.
  5. Assign least-privilege Foundry roles to users and managed identities; keep broad Contributor roles away from day-to-day AI users.
  6. Test layer by layer: DNS, TCP, token acquisition, Foundry API, model inference, then data and tool access.
  7. Disable or restrict public access once private paths are proven. Selected IPs can bridge the transition, but shouldn’t become permanent.
  8. Monitor and document dependencies, approved egress, endpoint owners, DNS zones and break-glass steps.

Keep developers productive

Publish a documented developer path: VPN or developer VNet access, private DNS, required roles, sample code using Entra authentication, and a small script that checks name resolution and token-based connectivity. For CI/CD, use private build agents or controlled workload identities with the same basics: route, DNS, identity and least privilege.

Access patternBest forRisk
Public accessLow-risk sandboxes onlyBroad exposure if identity or keys are mishandled.
Selected IPsTransition, admin pilots, known corporate egressBrittle when locations and agents change.
Private endpointProduction and sensitive dataDNS and dependencies must be designed, not assumed.

Troubleshooting flow

  1. Resolve the hostname from the failing client. If it doesn’t return the expected private IP, fix DNS first.
  2. Confirm the endpoint connection state. Pending, rejected or disconnected endpoints won’t carry traffic.
  3. Check the route and firewall path, including NSGs, UDRs, Azure Firewall and on-premises firewalls.
  4. Validate the authentication mode and the token’s target audience.
  5. Check Foundry RBAC for the caller and the managed identities.
  6. Test dependencies separately, since a model endpoint can work while storage or search fails.
  7. Allow for propagation: DNS, endpoint approval, RBAC and network appliance updates can lag.

Governance guardrails to standardize

  • Landing zone template: required endpoints, DNS links, tags, diagnostic settings and baseline roles.
  • Policy controls: audit or deny public network access for sensitive projects, with Azure Policy remediation tasks to fix drift.
  • Approved connectivity patterns: developer VPN, private build agents, app subnets, hub-and-spoke routing and egress controls.
  • RBAC matrix: who can create projects, deploy models, manage connections and administer networking.
  • Operational runbook: DNS checks, endpoint approval, rollback, monitoring and escalation contacts.

The goal isn’t slower AI development; it’s secure AI development that’s repeatable, so nobody rediscovers private DNS just before a production release.

Last reviewed: October 2026

Sources


Discover more from Cloud Osprey

Subscribe to get the latest posts sent to your email.

Cloud Osprey
Cloud Ospreyhttps://cloudosprey.com/about/
Hands-on Microsoft cloud practitioner writing practical, source-checked guides on Microsoft 365, SharePoint, Copilot, Entra ID, Power Platform and Azure. Formerly the author of SP Monkey, the SharePoint and Microsoft 365 blog, since 2016. Every guide links its sources and carries a "Last reviewed" date.

Recent Articles

Related Stories