🔒 Guided

Pre-launch preview. Authorised access only.

Incorrect code

Guided by A Guide to Cloud
Explore AB-900 AI-901
Guided AZ-104 Domain 4
Domain 4 — Module 4 of 5 80%
22 of 27 overall

AZ-104 Study Guide

Domain 1: Manage Azure Identities and Governance

  • Microsoft Entra ID: Your Identity Foundation Free
  • Users, Groups & Licenses Free
  • RBAC: Who Can Do What in Azure Free
  • Subscriptions, Resource Groups & Management Groups Free
  • Azure Policy & Resource Locks Free
  • Tags, Cost Management & Azure Advisor Free

Domain 2: Implement and Manage Storage

  • Storage Accounts & Redundancy
  • Securing Storage: Keys, SAS & Firewalls
  • Blob Containers & Storage Tiers
  • Blob Lifecycle, Versioning & Soft Delete
  • Azure Files: Shares, Snapshots & Recovery

Domain 3: Deploy and Manage Azure Compute Resources

  • ARM Templates & Bicep: Infrastructure as Code
  • Virtual Machines: Create & Configure Free
  • VM Disks, Encryption & Migration
  • Availability Sets, Zones & Scale Sets
  • Containers: ACR, ACI & Container Apps
  • App Service Plans & Scaling
  • App Service: Slots, Certificates & Networking

Domain 4: Implement and Manage Virtual Networking

  • Virtual Networks & Subnets
  • VNet Peering & User-Defined Routes
  • NSGs & Application Security Groups
  • Azure Bastion, Service & Private Endpoints
  • Azure DNS & Load Balancers

Domain 5: Monitor and Maintain Azure Resources

  • Azure Monitor: Metrics & Logs
  • Alerts, Insights & Network Watcher
  • Azure Backup & Vaults
  • Azure Site Recovery & Disaster Recovery

AZ-104 Study Guide

Domain 1: Manage Azure Identities and Governance

  • Microsoft Entra ID: Your Identity Foundation Free
  • Users, Groups & Licenses Free
  • RBAC: Who Can Do What in Azure Free
  • Subscriptions, Resource Groups & Management Groups Free
  • Azure Policy & Resource Locks Free
  • Tags, Cost Management & Azure Advisor Free

Domain 2: Implement and Manage Storage

  • Storage Accounts & Redundancy
  • Securing Storage: Keys, SAS & Firewalls
  • Blob Containers & Storage Tiers
  • Blob Lifecycle, Versioning & Soft Delete
  • Azure Files: Shares, Snapshots & Recovery

Domain 3: Deploy and Manage Azure Compute Resources

  • ARM Templates & Bicep: Infrastructure as Code
  • Virtual Machines: Create & Configure Free
  • VM Disks, Encryption & Migration
  • Availability Sets, Zones & Scale Sets
  • Containers: ACR, ACI & Container Apps
  • App Service Plans & Scaling
  • App Service: Slots, Certificates & Networking

Domain 4: Implement and Manage Virtual Networking

  • Virtual Networks & Subnets
  • VNet Peering & User-Defined Routes
  • NSGs & Application Security Groups
  • Azure Bastion, Service & Private Endpoints
  • Azure DNS & Load Balancers

Domain 5: Monitor and Maintain Azure Resources

  • Azure Monitor: Metrics & Logs
  • Alerts, Insights & Network Watcher
  • Azure Backup & Vaults
  • Azure Site Recovery & Disaster Recovery
Domain 4: Implement and Manage Virtual Networking Premium ⏱ ~13 min read

Azure Bastion, Service & Private Endpoints

How do you securely connect to VMs without exposing RDP to the internet? How do you lock down PaaS services like Storage and SQL so they're only reachable from your VNet? Bastion, service endpoints, and private endpoints solve these problems.

What is Azure Bastion?

☕ Simple explanation

Azure Bastion is like a secure reception desk in your office building lobby. Instead of giving every employee a street-facing door (public IP), everyone enters through the reception desk and gets escorted to their office.

Without Bastion, connecting to a VM via RDP or SSH typically means giving the VM a public IP and opening port 3389 or 22 to the internet — which is a massive security risk. Bastion lets you connect through the Azure portal’s browser, using TLS over port 443. No public IPs on VMs needed, no ports exposed.

Azure Bastion is a fully managed PaaS service that provides secure RDP and SSH connectivity to VMs directly from the Azure portal via TLS. It is deployed inside a VNet in a dedicated subnet called AzureBastionSubnet and provides connectivity to all VMs in that VNet (and peered VNets).

Bastion eliminates the need for public IP addresses on VMs and removes the attack surface of exposing RDP/SSH ports to the internet. It supports native client connections (via az network bastion tunnel) and browser-based sessions.

Azure Bastion requirements

RequirementDetail
Dedicated subnetMust be named exactly “AzureBastionSubnet”
Minimum subnet size/26 (64 addresses) or larger
Public IPBastion itself needs a Standard SKU static public IP
SKU tiersBasic (limited features) and Standard (native client, shareable links, IP-based connections)

What Bastion eliminates:

  • No public IPs on VMs
  • No NSG rules for RDP (3389) or SSH (22) from the internet
  • No VPN or ExpressRoute needed just for management access
  • No jump box VMs to maintain
💡 Exam tip: Bastion subnet requirements

The subnet MUST be named exactly AzureBastionSubnet — any other name will fail. It must be at least /26 (64 addresses). Bastion deploys instances into this subnet that scale based on concurrent sessions. A smaller subnet limits how many concurrent sessions you can support.

Real-world: TechCorp removes public IPs

TechCorp Solutions had public IPs on 30 VMs for RDP access, with NSG rules limiting source IPs to the office. After a security audit flagged the risk, Alex deployed Azure Bastion. He removed all 30 public IPs, deleted the RDP NSG rules, and now the team connects via the Azure portal browser. The security auditor was happy, and Alex no longer has to maintain a jump box VM.

Service Endpoints vs Private Endpoints

Both secure access to Azure PaaS services (Storage, SQL Database, Key Vault), but they work very differently.

Service endpoints vs private endpoints — private endpoints are more secure but cost more
FeatureService EndpointPrivate Endpoint
How it worksExtends VNet identity to the PaaS service over Azure backboneGives the PaaS service a private IP inside your VNet
Traffic pathAzure backbone (not public internet) but uses the public IP of the serviceEntirely within your VNet via a private IP
Public endpointStill exists — you add VNet rules to restrict accessCan be disabled entirely
DNS resolutionResolves to public IP (traffic routed via backbone)Resolves to private IP in your VNet
On-prem accessOn-prem cannot use the service endpoint pathOn-prem can reach via VPN/ExpressRoute (private IP)
CostFreePer-hour charge plus data processing fee
ConfigurationEnable on subnet + add VNet rule to PaaS serviceCreate endpoint + NIC in subnet + private DNS zone

Service endpoints in detail

Service endpoints optimise routing by sending traffic to Azure PaaS services over the Azure backbone instead of the public internet.

How to set up:

  1. Enable the service endpoint on the subnet (e.g., Microsoft.Storage, Microsoft.Sql)
  2. Add a VNet rule on the PaaS service’s firewall to allow traffic from that subnet
  3. Optionally deny all other public access

Key limitation: The PaaS service still has a public endpoint. Service endpoints just add a VNet-based access rule. On-prem devices accessing via VPN/ExpressRoute cannot leverage the service endpoint path.

Private endpoints in detail

Private endpoints bring the PaaS service INTO your VNet by assigning it a private IP address.

How to set up:

  1. Create a private endpoint targeting the PaaS resource (e.g., a storage account)
  2. Azure creates a network interface in your subnet with a private IP
  3. Configure a private DNS zone so the service name resolves to the private IP
  4. Optionally disable the PaaS service’s public endpoint entirely

Key advantage: Traffic never leaves your VNet. On-prem devices can reach the service via VPN/ExpressRoute because it’s just a private IP. You can fully disable public access.

💡 Exam tip: Service endpoints don't remove public access

Service endpoints do NOT remove the public endpoint. They add a VNet-based firewall rule so traffic from your subnet is allowed. Someone with the storage account key could still access it from the internet unless you also deny public access.

Private endpoints, on the other hand, assign a private IP. You can then disable the public endpoint entirely — making the service accessible ONLY from within your VNet or via VPN/ExpressRoute.

Real-world: Meridian Financial locks down storage

Meridian Financial’s compliance team mandates that no storage account data can traverse the public internet. Alex implements private endpoints for all storage accounts:

  1. Creates private endpoints in the database subnet — each storage account gets a private IP
  2. Configures private DNS zones (privatelink.blob.core.windows.net) so apps resolve the storage account name to the private IP
  3. Disables public endpoint access on all storage accounts
  4. On-prem servers connect via ExpressRoute and resolve the same private IPs through DNS forwarding

Result: zero public exposure, full compliance.

Question

What must the Azure Bastion subnet be named, and what is the minimum size?

Click or press Enter to reveal answer

Answer

It must be named exactly 'AzureBastionSubnet' (case-sensitive). The minimum size is /26 (64 addresses). Bastion also requires a Standard SKU static public IP for itself, even though VMs behind it don't need public IPs.

Click to flip back

Question

What is the key difference between service endpoints and private endpoints?

Click or press Enter to reveal answer

Answer

Service endpoints route traffic over the Azure backbone but the PaaS service still has a public IP. Private endpoints assign a private IP inside your VNet — the PaaS service becomes a resource in your network. Private endpoints allow full disable of public access and support on-prem access via VPN/ExpressRoute.

Click to flip back

Question

Can on-premises devices use service endpoints to access Azure PaaS services?

Click or press Enter to reveal answer

Answer

No. Service endpoints only work from within Azure VNet subnets. On-prem devices connecting via VPN or ExpressRoute cannot use the service endpoint path. For on-prem access to PaaS services over a private connection, use private endpoints instead.

Click to flip back

Knowledge check

Knowledge Check

TechCorp Solutions wants to connect to VMs via RDP without exposing any public IPs. Which solution should Alex implement?

Knowledge Check

CloudFirst Labs configures a service endpoint for Microsoft.Storage on their app subnet and adds a VNet rule to their storage account. A developer accesses the storage account from their home laptop using the storage account key. Does it work?

Knowledge Check

Meridian Financial needs their on-premises servers (connected via ExpressRoute) to access an Azure SQL Database without any traffic traversing the public internet. Which should they use?

🎬 Video coming soon

← Previous

NSGs & Application Security Groups

Next →

Azure DNS & Load Balancers

Guided

I learn, I simplify, I share.

A Guide to Cloud YouTube Feedback

© 2026 Sutheesh. All rights reserved.

Guided is an independent study resource and is not affiliated with, endorsed by, or officially connected to Microsoft. Microsoft, Azure, and related trademarks are property of Microsoft Corporation. Always verify information against Microsoft Learn.