Education › Certs › Stage 1: Cloud

Microsoft Azure Administrator (AZ-104)

Identity, governance, storage, compute, networking and monitoring on Azure, with hands-on labs and practice questions.

Associate ~45 min read Module 2 of 6

AZ-104, Microsoft Azure Administrator, is the certification for people who run Azure day to day: identities and governance, storage, compute, networking, monitoring and backup. Unlike the AWS architect exam it is operational — it asks what you would configure, which command you would run, which setting fixes the problem — and it uses Microsoft's question formats, including case studies and performance-based labs where you do the task in a live portal. It rewards hands-on time more than reading. This guide walks the five skill areas as published in the study guide effective April 17, 2026, the decision rules and commands that appear repeatedly, the question formats and how to handle them, and a six-week plan built around Microsoft's free learning paths and a sandbox subscription. Confirm exam details on the Microsoft Learn certification page before booking.

After this module you can
  • Describe the AZ-104 format, question types and passing score
  • Map the five skill areas and their weights to the tasks and commands the exam tests
  • Recognise the recurring scenario patterns: RBAC scope, storage access, NSG evaluation, peering, backup and monitoring
  • Practise with the Azure portal, CLI, PowerShell and Bicep so lab questions are routine
  • Follow a six-week plan using free Microsoft Learn paths and a pay-as-you-go sandbox

The exam at a glance

AZ-104 uses Microsoft's standard associate format: a scaled score with 700 required to pass, a mix of question types that can include multiple choice, drag-and-drop ordering, hot-area and build-list items, case studies with a shared scenario, and possibly performance-based labs in a live Azure environment. Question counts and time vary by form; plan for roughly 40 to 60 items over about 100 minutes and read the exam page for the current figures. The certification renews annually through a free online assessment on Microsoft Learn, which is easier than re-sitting the exam. Microsoft offers a free practice assessment for AZ-104; use it early to see the style.

Skill area (as of April 17, 2026)WeightIn one line
Manage Azure identities and governance20–25%Entra ID users and groups, RBAC at scopes, Policy, locks, tags, subscriptions, management groups, cost
Implement and manage storage15–20%Storage accounts, redundancy, access (SAS, keys, identity), Blob and Files features, lifecycle
Deploy and manage Azure compute resources20–25%ARM/Bicep, VMs and scale sets, containers (ACR, ACI, Container Apps), App Service
Implement and manage virtual networking15–20%VNets and subnets, peering, routes, NSGs and ASGs, Bastion, endpoints, DNS, load balancers
Monitor and maintain Azure resources10–15%Azure Monitor metrics, logs, alerts, Insights, Network Watcher, Backup and Site Recovery
Note

The exam mostly tests general-availability features but may include commonly used previews. Learn the portal names and the CLI/PowerShell equivalents together; questions switch between them freely.

Identities and governance (20–25%)

Microsoft Entra ID is the identity plane: create and manage users and groups (assigned versus dynamic membership), manage licences and external (guest) users, and configure self-service password reset. Azure RBAC controls what identities can do with resources: built-in roles (Owner, Contributor, Reader, and service-specific ones), assigned at a scope — management group, subscription, resource group or resource — and inherited downward. Questions ask you to interpret effective access: a Reader at subscription scope plus Contributor on one resource group means Contributor there and Reader elsewhere; a deny assignment or a missing data-plane role explains why a user with Owner still cannot read blobs (they need Storage Blob Data Reader for identity-based data access).

Governance is Azure Policy (definitions, initiatives, assignments at scope, effects such as Deny, Audit, DeployIfNotExists, remediation tasks), resource locks (CanNotDelete, ReadOnly, inherited by children, blocking even Owners until removed), tags (not inherited by default; enforce with Policy), resource groups (a resource lives in exactly one; moving between groups or subscriptions has service-specific restrictions), and management groups to organise subscriptions for Policy and RBAC. Cost questions cover budgets and alerts, Cost Management analysis by tag, and Azure Advisor's cost recommendations.

The CLI shapes that appear in questions: a scoped role assignment, a policy assignment with a deny effect, and a delete lock.
bash
# Contributor on one resource group only
az role assignment create --assignee alice@acme.example --role "Contributor" \
  --scope /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-app

# deny resources outside allowed regions across the whole subscription
az policy assignment create --name allowed-locations --display-name "Allowed locations" \
  --policy "e56962a6-4747-49cd-b67b-bf8b01975c4c" \
  --scope /subscriptions/00000000-0000-0000-0000-000000000000 \
  --params '{"listOfAllowedLocations": {"value": ["westeurope", "northeurope"]}}'

# nobody deletes the production resource group, Owners included, until the lock is removed
az lock create --name no-delete --lock-type CanNotDelete --resource-group rg-prod
Tip

Scope questions have a pattern: the smallest scope that satisfies the requirement is the answer. Give Contributor on the resource group, not the subscription; assign Policy at the management group when it must apply to every subscription.

Storage (15–20%)

Storage accounts hold Blob, Files, Queue and Table services; know the account kinds and performance tiers (Standard general-purpose v2 for most, Premium for low latency), and the redundancy options and what each survives: LRS (three copies, one data centre), ZRS (three AZs), GRS and GZRS (plus a paired region, asynchronous), and the RA- variants that allow reading from the secondary. Access questions distinguish account keys (full access, rotate them), shared access signatures (scoped, time-limited; account, service or user-delegation SAS; stored access policies to revoke), identity-based access with RBAC data roles, and the storage firewall with virtual network rules, private endpoints and the "allow trusted Microsoft services" exception. Azure Files supports identity-based SMB access through Entra Domain Services or on-premises AD.

Blob features: access tiers (Hot, Cool, Cold, Archive; archive must be rehydrated before reading), lifecycle management rules that tier or delete by age or last access, soft delete for blobs and containers, versioning, snapshots, immutability policies, and object replication between accounts. Azure Files: SMB and NFS shares, snapshots and soft delete, Azure File Sync for caching on Windows servers. Tools: Storage Explorer for interactive work and AzCopy for bulk copies (azcopy copy with SAS or login, azcopy sync for incremental).

ScenarioAnswer
Grant a partner read access to one container for two weeks, revocableService SAS tied to a stored access policy
Application must access blobs without any secretManaged identity + Storage Blob Data Contributor
Survive a regional outage and read from the secondary during itRA-GRS or RA-GZRS
Data untouched for 90 days should cost less, deleted after 7 yearsLifecycle rule: tier to Cool/Cold/Archive, delete at 2555 days
Restrict the account to one VNet and Azure BackupStorage firewall: VNet rule + trusted services exception
Recover a blob deleted yesterdaySoft delete (if enabled) or versioning

Compute (20–25%)

Infrastructure as code appears as reading and modifying ARM templates and Bicep files: parameters, variables, resources, outputs, dependencies, and deploying with az deployment group create; exporting a deployment as a template; converting ARM to Bicep with az bicep decompile. Virtual machines: sizes and resizing (some require deallocation), disk types (Standard HDD/SSD, Premium SSD, Ultra) and adding data disks, encryption at host, moving VMs between resource groups, subscriptions or regions, and availability: availability sets (fault and update domains in one data centre) versus availability zones (separate data centres, higher SLA) and Virtual Machine Scale Sets with autoscale rules and flexible orchestration.

Containers: Azure Container Registry for images (SKUs, geo-replication in Premium, tasks), Azure Container Instances for single containers or groups without orchestration, and Azure Container Apps for scaled, event-driven containers with revisions and scaling rules (including scale to zero). App Service: plans decide the compute and features (tiers, scaling, deployment slots need Standard or higher), apps get custom domains with TLS certificates (managed or uploaded), backups, networking (VNet integration for outbound, private endpoints for inbound, access restrictions), and deployment slots with swap for zero-downtime releases.

The Bicep shape the exam expects you to read: a parameterised VM-adjacent resource with a dependency expressed by reference rather than dependsOn.
bicep
param location string = resourceGroup().location
param vmName string

resource nic 'Microsoft.Network/networkInterfaces@2023-11-01' = {
  name: '${vmName}-nic'
  location: location
  properties: {
    ipConfigurations: [
      {
        name: 'ipconfig1'
        properties: {
          subnet: { id: resourceId('Microsoft.Network/virtualNetworks/subnets', 'vnet-app', 'snet-web') }
          privateIPAllocationMethod: 'Dynamic'
        }
      }
    ]
  }
}

resource vm 'Microsoft.Compute/virtualMachines@2024-07-01' = {
  name: vmName
  location: location
  zones: ['1']
  properties: {
    hardwareProfile: { vmSize: 'Standard_D2s_v5' }
    networkProfile: { networkInterfaces: [{ id: nic.id }] }   // implicit dependency on nic
    // osProfile and storageProfile omitted for brevity
  }
}

output vmId string = vm.id
Watch out

Common trap: availability sets and zones are chosen at creation; you cannot add an existing VM to an availability set or move it into a zone without recreating it. Scale sets and zones give the higher SLA; a single VM has the lowest.

Networking (15–20%)

Virtual networks and subnets, address spaces that must not overlap for peering (regional or global, non-transitive: A–B and B–C does not give A–C without a hub or gateway transit), public IP addresses (Basic versus Standard SKU, static versus dynamic), and user-defined routes to send traffic through a firewall or virtual appliance (route table on the subnet, next hop types). Network security groups are stateful rule sets evaluated by priority (lower number first, first match wins, default rules at the end) applied to subnets and/or NICs — both apply, and the exam asks you to work out the effective rule; application security groups let rules target groups of NICs by role instead of IP. Azure Bastion gives browser-based RDP/SSH without public IPs on VMs. Service endpoints extend a VNet identity to a PaaS service over the Microsoft backbone; private endpoints put a private IP for the PaaS resource inside your VNet (with a private DNS zone) and are the answer when public access must be disabled entirely.

Name resolution and load balancing: Azure DNS public zones and private zones linked to VNets (with auto-registration), Azure-provided resolution by default; Load Balancer (Layer 4, public or internal, Standard SKU, health probes, backend pools, inbound NAT rules) versus Application Gateway (Layer 7, WAF, path-based routing) versus Front Door (global HTTP) versus Traffic Manager (DNS-based). Troubleshooting questions expect Network Watcher tools: IP flow verify, effective security rules, next hop, connection troubleshoot and Connection Monitor.

Two commands that answer most connectivity questions: what the effective NSG rules are for a NIC, and whether a specific flow is allowed.
bash
az network nic list-effective-nsg --name vm-web-nic --resource-group rg-app --output table

az network watcher test-ip-flow --resource-group rg-app --vm vm-web \
  --direction Inbound --protocol TCP --local 10.0.1.4:443 --remote 203.0.113.9:50000
# Access: Allow / Deny, and the rule name that decided it

Monitoring, backup, and the six-week plan

Azure Monitor: platform metrics versus logs, diagnostic settings that send resource logs to a Log Analytics workspace, storage or Event Hubs; Kusto queries in Log Analytics (AzureActivity, Heartbeat, Perf, AzureDiagnostics); alert rules (metric, log, activity log) with action groups (email, SMS, webhook, runbook, ITSM) and alert processing rules to suppress or route; VM Insights, Storage Insights and Network Insights; Network Watcher and Connection Monitor for network health. Backup: Recovery Services vaults (VMs, Files, SQL in VMs) and Backup vaults (blobs, disks, database services), backup policies with schedules and retention, restore options (full VM, disks, file-level), soft delete on the vault, and reports and alerts. Site Recovery replicates VMs to a secondary region with recovery plans, test failovers and real failovers.

WeekFocusHands-on
1Entra ID, RBAC, Policy, locks, tags, costUsers, dynamic group, scoped role, an Allowed Locations policy, a budget alert
2Storage: accounts, redundancy, access, Blob and Files featuresAccount with firewall, SAS with stored policy, lifecycle rule, soft delete recovery, AzCopy
3ARM/Bicep, VMs, availability, scale setsDeploy a zonal VM from Bicep, add a disk, resize, scale set with autoscale
4Containers and App ServiceACR + ACI, a Container App with scale rule, App Service with slot swap and custom domain
5VNets, peering, routes, NSGs, Bastion, endpoints, DNS, Load BalancerHub-spoke peering, NSG with ASGs, Bastion, private endpoint to storage, internal load balancer
6Monitor, alerts, KQL, Backup, Site Recovery; practice assessmentDiagnostic settings, a metric and a log alert, VM backup and file restore, a Site Recovery test failover; two timed practice runs

Use the free Microsoft Learn learning paths for AZ-104 (they map to the skills measured), the free practice assessment, and the exam sandbox to see the question formats before test day. Labs in a pay-as-you-go subscription with a budget alert cost little if you delete resource groups as you finish. On the day: case studies are worth reading carefully once, then answering all their questions; lab items are scored on end state, so it does not matter whether you use portal, CLI or PowerShell — use what you practised.

Hands-on practice

Six-week study plan, condensed

  1. Book the exam for six weeks out. Create a pay-as-you-go subscription with a 20 USD budget alert and a management group above it; work as a non-owner user with scoped roles so you feel RBAC daily.
  2. Weeks 1 to 5: follow the table above, doing every lab in the portal first, then repeating the key steps in the CLI or PowerShell, then reading the matching Microsoft Learn module. Delete resource groups at the end of each week.
  3. Keep a one-page decision sheet per skill area: scope rules, redundancy options, NSG evaluation, peering limits, backup vault types. Write it in your own words.
  4. Take the free official practice assessment at the end of weeks 2, 4 and 6 and note which skill areas score lowest; re-lab those.
  5. Week 6: open the exam sandbox to rehearse the question formats (drag-and-drop, hot area, case study). Do two timed runs of practice questions.
  6. Exam day: for case studies read the scenario once fully; for labs achieve the end state by whatever tool you know; for knowledge items eliminate options that violate a rule (scope, SKU, redundancy) before choosing.
Cheat sheet

Microsoft Azure Administrator (AZ-104) — at a glance

Main things to focus on

  • Smallest scope that satisfies the requirement; data-plane roles are separate from Owner/Contributor
  • Locks beat Owners; Policy denies at assignment scope; tags need Policy to be enforced
  • Redundancy: LRS < ZRS < GRS/GZRS; RA- for reading the secondary; SAS with stored policy for revocable delegated access
  • Availability set vs zones vs scale sets decided at creation; slots need Standard tier or above
  • Peering is non-transitive; NSGs evaluate by priority on subnet and NIC; private endpoint when public access must be off
  • Diagnostic settings to Log Analytics, alerts to action groups; Recovery Services vault for VMs, Backup vault for blobs and disks

Exam facts (study guide effective 17 Apr 2026)

pass 700 (scaled)Renew annually with a free online assessment
identities & governance 20–25 · storage 15–20 · compute 20–25 · networking 15–20 · monitor 10–15Skill area weights
formats: multiple choice, drag-drop, hot area, case study, possible labsRehearse in the exam sandbox
free practice assessment on Microsoft LearnUse it three times

Identity and governance commands

az role assignment create --assignee U --role R --scope SScoped RBAC
az role assignment list --assignee U --allInterpret effective access
az policy assignment create --policy ID --scope S --params ...Assign a policy or initiative
az lock create --lock-type CanNotDelete|ReadOnlyLocks inherit downward
az account management-group create / subscription moveOrganise subscriptions
az consumption budget createBudgets and alerts

Storage commands and rules

az storage account create --sku Standard_ZRS|Standard_GRS|Standard_RAGZRSRedundancy at creation (changeable for most)
az storage container generate-sas --policy-name PRevocable SAS via stored access policy
az storage account network-rule add --vnet-name V --subnet SStorage firewall
az storage account management-policy create --policy lifecycle.jsonTiering and deletion rules
az storage blob undelete / blob versionsRecover with soft delete or versioning
azcopy copy SRC DST --recursive / azcopy syncBulk and incremental copy

Compute commands and rules

az deployment group create --template-file main.bicep --parameters ...Deploy ARM or Bicep
az bicep decompile --file template.jsonARM to Bicep
az vm resize / az vm disk attach / az vm deallocateSize, disks, stop billing
az vmss create --zones 1 2 3 --orchestration-mode FlexibleZonal scale set
az webapp deployment slot swap --slot stagingZero-downtime release (Standard+)
az containerapp create --min-replicas 0 --max-replicas 10Scale-to-zero containers

Networking and monitoring

az network vnet peering create --allow-vnet-access --allow-forwarded-trafficNon-transitive peering
az network route-table route create --next-hop-type VirtualApplianceUser-defined route
az network nsg rule create --priority 100 --access DenyLower priority number wins
az network private-endpoint create + private DNS zonePrivate PaaS access
az network watcher test-ip-flow / show-next-hopConnectivity troubleshooting
az monitor diagnostic-settings create --workspace WSend logs to Log Analytics
az monitor metrics alert create --condition ... --action AGMetric alert to an action group
az backup protection enable-for-vm --vault-name V --policy-name PVM backup via Recovery Services vault

Common pitfalls

  • Assigning roles at subscription scope when a resource group would do, or expecting Owner to read blob data without a data role.
  • Forgetting that resource locks block Owners and are inherited, so a ReadOnly lock on a resource group breaks operations inside it.
  • Choosing LRS for data that must survive a zone or region failure, or GRS when RA- reads are required.
  • Trying to add an existing VM to an availability set or zone; it must be recreated.
  • Assuming peering is transitive or that address spaces may overlap.
  • Evaluating only the subnet NSG when a NIC NSG also applies, and getting the effective rule wrong.
Quiz

Check your understanding

5 questions · 4 to pass · answers are explained as you go. Your best score is saved on this device only.

Progress and quiz scores are saved in this browser only. Back up or restore on the hub.

Was this lesson useful? Tell me what to improve →