Private Endpoint vs Service Endpoint for Azure Storage: Private IP and DNS Resolution
An application in a VNet must access an Azure Storage account over a private IP address. Public network access is disabled on the storage account, and the app must resolve the normal blob FQDN to that private address only from within the VNet. What should the administrator configure?
Quick Answer
The correct answer is a private endpoint for the blob service with a linked private DNS zone for the VNet. This configuration works because a private endpoint assigns the storage account a private IP address from within the VNet, directly satisfying the requirement for private IP connectivity, while the linked private DNS zone (e.g., `privatelink.blob.core.windows.net`) ensures that the normal blob FQDN resolves to that private address exclusively from within the VNet, even with public network access disabled. On the AZ-104 exam, this scenario tests your understanding of the critical difference between service endpoints—which use public IPs and rely on Azure backbone routing—and private endpoints, which provide true private IPs and require DNS customization. A common trap is assuming a service endpoint suffices, but it cannot enforce private DNS resolution or disable public access. Memory tip: think “Private = Private IP + Private DNS zone” to lock in the pairing.
⚠ Common exam trap
Watch out — candidates often confuse service endpoints (which still use the public endpoint) with private endpoints (which provide a true private IP), and they overlook the critical requirement of disabling public network access, which makes service endpoints invalid.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
A private endpoint for the blob service and a linked private DNS zone for the VNet.
A private endpoint assigns the storage account a private IP from the VNet, and linking a private DNS zone (e.g., `privatelink.blob.core.windows.net`) to the VNet ensures that the blob FQDN resolves to that private IP only from within the VNet. This meets the requirement of disabling public network access while providing private connectivity and DNS resolution.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
A service endpoint on the subnet and a storage account firewall rule for the subnet.
Why it's wrong here
Service endpoints do not create a private IP address and do not change DNS to a private endpoint address.
When this WOULD be correct
This option would be correct if the question asked for secure access from a VNet to a storage account without requiring private IP resolution or disabling public network access, such as when the app can use the public endpoint but traffic must stay within the Azure backbone.
- ✓
A private endpoint for the blob service and a linked private DNS zone for the VNet.
Why this is correct
A private endpoint gives the storage service a private IP inside the VNet, which satisfies the private connectivity requirement. Linking the corresponding private DNS zone ensures the standard blob FQDN resolves to that private address for workloads in the VNet. That combination is the normal solution when public access is disabled and applications must keep using the service's standard name.
- ✗
Allow trusted Microsoft services on the storage account and keep the public endpoint enabled.
Why it's wrong here
Trusted Microsoft services is not private VNet connectivity and does not provide a private IP or private DNS resolution.
When this WOULD be correct
This option would be correct if the question required allowing a specific Azure service (e.g., Azure Backup or Azure Logic Apps) to access the storage account over the public internet while the storage account's firewall blocks all other traffic, and no private IP requirement exists.
- ✗
Create a public DNS record that maps the blob FQDN to the storage account's public IP address.
Why it's wrong here
A public record would defeat the requirement for private-only name resolution inside the VNet.
When this WOULD be correct
This option would be correct if the requirement was to enable access from the internet using a custom domain name, while the storage account's public endpoint remains enabled. For example, an application outside Azure needs to access blob storage via a friendly domain name, and you want to map that domain to the storage account's public IP.
Option-by-option analysis
Why each answer is right or wrong
Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The AZ-104 exam frequently reuses these exact scenarios with slightly different constraints.
✓A private endpoint for the blob service and a linked private DNS zone for the VNet.Correct answer▾
Why this is correct
A private endpoint gives the storage service a private IP inside the VNet, which satisfies the private connectivity requirement. Linking the corresponding private DNS zone ensures the standard blob FQDN resolves to that private address for workloads in the VNet. That combination is the normal solution when public access is disabled and applications must keep using the service's standard name.
✗A service endpoint on the subnet and a storage account firewall rule for the subnet.Wrong answer — click to see why▾
Why this is wrong here
Service endpoints provide access via the public endpoint over a private IP, but they do not disable public network access or resolve the FQDN to a private IP. The question requires private IP resolution and disabled public access, which only a private endpoint can achieve.
★ When this WOULD be the correct answer
This option would be correct if the question asked for secure access from a VNet to a storage account without requiring private IP resolution or disabling public network access, such as when the app can use the public endpoint but traffic must stay within the Azure backbone.
Why candidates choose this
Candidates may confuse service endpoints with private endpoints, thinking both provide private IP connectivity, and overlook the requirement for private DNS resolution and disabled public access.
✗Allow trusted Microsoft services on the storage account and keep the public endpoint enabled.Wrong answer — click to see why▾
Why this is wrong here
Option C allows public endpoint access for trusted Microsoft services, but the requirement is to access the storage account over a private IP address with public network access disabled. Trusted services bypass the firewall but still use the public endpoint, not a private IP.
★ When this WOULD be the correct answer
This option would be correct if the question required allowing a specific Azure service (e.g., Azure Backup or Azure Logic Apps) to access the storage account over the public internet while the storage account's firewall blocks all other traffic, and no private IP requirement exists.
Why candidates choose this
Candidates may think 'trusted Microsoft services' provides private-like access or simplifies configuration, overlooking that it still uses the public endpoint and does not enforce private IP connectivity.
✗Create a public DNS record that maps the blob FQDN to the storage account's public IP address.Wrong answer — click to see why▾
Why this is wrong here
This option is wrong because the question requires private IP connectivity and DNS resolution from within the VNet only. Creating a public DNS record would expose the storage account's public IP, contradicting the requirement that public network access is disabled and the app must resolve the FQDN to a private address.
★ When this WOULD be the correct answer
This option would be correct if the requirement was to enable access from the internet using a custom domain name, while the storage account's public endpoint remains enabled. For example, an application outside Azure needs to access blob storage via a friendly domain name, and you want to map that domain to the storage account's public IP.
Why candidates choose this
Candidates may think that a DNS record is the simplest way to map a name to an IP, overlooking that the question demands private IP resolution and that public access is disabled. They might also confuse public DNS with private DNS zones.
Analysis generated from the official AZ-104blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”
Visual reference
Go deeper
Related to this question
Learn chapter
Managed Identities for Azure Resources
Key term
Blob
A blob is a large piece of unstructured data, like a photo or video, stored in the cloud with a unique identifier.
Key term
DNS zone
A DNS zone is a distinct part of the global Domain Name System (DNS) namespace that is delegated to a specific administrator or organization for management, containing resource records for a domain.
About these practice questions
One of 1,049 original AZ-104 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
Same concept, more angles
8 more ways this is tested on AZ-104
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A payroll application in a VNet must access an Azure Storage account containing confidential blobs. The security team requires the storage account to be reachable only over a private IP, and public network access must be disabled. Which feature should the administrator implement?
medium- A.A service endpoint for Microsoft.Storage on the application subnet.
- ✓ B.A private endpoint for the storage account in the VNet.
- C.A shared access signature embedded in the application configuration.
- D.A VPN gateway connection between the subnet and the storage account.
Why B: A private endpoint assigns the storage account a private IP address from the VNet, enabling secure access over a private connection while completely disabling public network access. This meets the security team's requirement because traffic never traverses the public internet, and the storage account's firewall can be configured to deny all public traffic.
Variation 2. A storage account has public network access disabled. An application runs on a VM in a VNet and must access the storage account over a private IP address. The team also wants the storage name to resolve to a private address inside the VNet without changing application code. What should the administrator create?
medium- A.A service endpoint on the subnet and a storage account firewall rule allowing that subnet.
- ✓ B.A private endpoint for the storage account and a corresponding private DNS zone link.
- C.An account SAS token with read/write permissions for the application.
- D.Allow trusted Microsoft services to bypass the storage firewall.
Why B: A private endpoint assigns the storage account a private IP from the VNet, making it accessible over a private IP address. A corresponding private DNS zone link (e.g., privatelink.blob.core.windows.net) ensures the storage account name resolves to that private IP inside the VNet without modifying application code, meeting both requirements.
Variation 3. A VM in a virtual network must access an Azure Storage account over a private IP address, and the storage account's public endpoint must be disabled. Name resolution from the VM should resolve the storage name to the private IP. Which configuration should you use?
medium- A.Service endpoint on the subnet plus public DNS, because the storage account will expose a private IP automatically.
- ✓ B.Private endpoint with a private DNS zone linked to the virtual network.
- C.Network security group rules only, because they can force traffic to use private addressing.
- D.Storage account firewall rules with Allow trusted Microsoft services, because that gives a private address path.
Why B: A private endpoint assigns a private IP from the virtual network to the storage account, effectively bringing the service into the VNet. By linking a private DNS zone to the virtual network, the VM's DNS resolution for the storage account name returns the private IP instead of the public endpoint, satisfying both the private connectivity and public endpoint disablement requirements.
Variation 4. A storage account has public network access disabled. An app in a VNet must read and write blobs privately, and the team wants the blob endpoint name to resolve to a private IP without exposing the service publicly. What should the administrator configure?
medium- A.A service endpoint on the subnet and a storage firewall allow rule.
- B.A public IP address for the app and allow access from that IP in the storage firewall.
- C.An NSG rule that allows outbound TCP 443 from the app subnet to storage.
- ✓ D.A private endpoint for the storage account and a private DNS zone for blob name resolution.
Why D: A private endpoint assigns the storage account a private IP from the VNet, ensuring all traffic to the blob endpoint stays within Microsoft's backbone. A private DNS zone (e.g., `privatelink.blob.core.windows.net`) is required so that the blob endpoint name resolves to that private IP instead of the public IP, meeting the requirement for private name resolution without any public exposure.
Variation 5. A storage account has public network access disabled. A VM in a virtual network must access blob data privately, and the application must resolve the storage endpoint name to a private IP address. What should the administrator deploy?
medium- A.A service endpoint for Microsoft.Storage and a custom hosts file entry on the VM
- ✓ B.A private endpoint for the storage account plus a private DNS zone linked to the virtual network
- C.Allow trusted Microsoft services and keep using the public endpoint
- D.A route table that sends traffic for the storage account's public IP to the VPN gateway
Why B: A private endpoint assigns the storage account a private IP from the VM's virtual network, enabling direct, secure access over the Microsoft backbone. A private DNS zone linked to the virtual network ensures the storage endpoint name (e.g., mystorageaccount.blob.core.windows.net) resolves to that private IP, meeting the requirement for private name resolution without relying on public DNS or hosts file entries.
Variation 6. A storage account has public network access disabled. A VM in VNet-App can reach a private endpoint for the account, but the storage name still resolves to the public IP address from the VM, and connections are denied. What should the administrator configure?
medium- A.A service endpoint on the subnet so the storage account uses a private IP address.
- ✓ B.A private DNS zone for the storage blob endpoint linked to VNet-App.
- C.A storage account access key on the VM so the public endpoint will accept the connection.
- D.A user-defined route sending storage traffic to the virtual network gateway.
Why B: When public network access is disabled on a storage account and a private endpoint is configured, the storage account's public DNS name must resolve to the private endpoint's private IP address within the virtual network. By default, the DNS name continues to resolve to the public IP address, causing connection failures. Linking a private DNS zone (privatelink.blob.core.windows.net) to VNet-App enables automatic resolution of the storage blob endpoint to the private IP address, allowing the VM to connect successfully.
Variation 7. Based on the exhibit, what should the administrator create so VMs in AppSubnet can access the storage account over a private IP address?
easy- A.A service endpoint for Microsoft.Storage on AppSubnet.
- ✓ B.A private endpoint for the storage account in AppSubnet.
- C.A site-to-site VPN gateway between AppVNet and the storage account.
- D.An application security group for the storage account and subnet.
Why B: A private endpoint assigns a private IP address from AppSubnet to the storage account, enabling VMs in that subnet to access the storage account over a private IP within the VNet. This eliminates exposure to the public internet and uses Azure Private Link for secure, direct connectivity.
Variation 8. An application VM in a subnet without a public IP must access Azure Blob Storage. The storage account must not be reachable from the public internet, and DNS resolution should stay inside the virtual network. What should you implement?
medium- A.Enable a service endpoint for Microsoft.Storage on the subnet and keep the public endpoint enabled.
- ✓ B.Create a private endpoint for the storage account and link the appropriate private DNS zone.
- C.Use a SAS token and allow access from any network for the storage account.
- D.Assign a managed identity to the VM and remove all network restrictions from the storage account.
Why B: A private endpoint assigns the storage account a private IP from the VM's virtual network, making it reachable without public internet exposure. Linking the private DNS zone ensures that DNS resolution for the storage account (e.g., `mystorageaccount.blob.core.windows.net`) resolves to the private IP within the VNet, meeting both requirements.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This AZ-104 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the AZ-104 exam.