SaveMyCert
Log in
5 of 5 free questions left today·for 30 a day
AZ-104 last-day review

AZ-104 cheat sheet — every exam topic on one page

148 key facts across 5 exam domains — every topic on the AZ-104 blueprint, with the exam pattern behind each. A condensed cheat sheet, distilled from the full AZ-104 revision notes. Skim it the week of your exam.

Updated

Manage Azure identities and governance

24% of the exam

Manage Microsoft Entra Users and Groups (AZ-104)

  • Microsoft Entra ID (formerly Azure Active Directory) is Azure's cloud identity directory; it has no OUs or Group Policy, unlike on-premises AD.
  • Members are internal accounts; guests are B2B users who sign in with their own identity (work account, Microsoft account or email one-time passcode). UserType can be switched between Member and Guest.
  • Bulk create, invite and delete users from CSV templates; import, remove or download a group's members from a CSV in the group's bulk operations.
  • Synced users are edited in on-premises AD; blocking sign-in keeps the account intact; a deleted user can be restored with the same object ID for 30 days.
  • Security groups grant access and can hold devices and nested groups; Microsoft 365 groups provide a group mailbox, calendar and SharePoint site, hold users only and can be Teams-enabled.
  • Dynamic membership (P1 per unique member) is rule-only: no manual adds or removes, -and binds before -or, and Validate Rules tests a rule before you save it.
  • License in the Microsoft 365 admin center; group licensing skips nested groups, falls back to the tenant location, and needs Reprocess after you fix an error. Move users add-first, remove-last.
  • SSPR reset needs Business Standard or P1; writeback (cloud to on-premises) needs P1/P2 or Business Premium and is required for every on-premises-mastered user.
How the exam tests this

AZ-104 tests users and groups as administrative decisions under a constraint. Expect to choose between a member and a guest, between a security group and a Microsoft 365 group, and between assigned and dynamic membership; to read or fix a dynamic rule (operators, precedence, the right attribute); and to explain why an action is blocked (dynamic, synced or role-assignable membership). Licensing questions turn on where licenses are assigned, usage location, nested groups, conflicting service plans, Reprocess and the order for moving users between groups. External-user questions cover invite and guest-access levels, domain lists versus cross-tenant access settings, and resending versus resetting an invitation. SSPR questions cover scope, methods, registration, admin policy, writeback, and which license — Free, Business Standard, Business Premium, P1 or P2 — is the cheapest that covers the requirement.

Manage Access to Azure Resources: Azure RBAC (AZ-104)

  • A role assignment binds one security principal to one role definition at one scope, optionally narrowed by a condition.
  • Owner manages resources and access; Contributor manages resources but its NotActions remove every Microsoft.Authorization write and delete — no role assignments, locks or policy assignments.
  • User Access Administrator manages all of Microsoft.Authorization; Role Based Access Control Administrator manages role assignments only and, with a condition, limits which roles a delegate can hand out.
  • Prefer job-function roles (Virtual Machine Contributor, Network Contributor) over Contributor; signing in to a VM needs a VM login role, which no management role includes.
  • Owner, Contributor and Reader have no DataActions: blob and Key Vault data need data roles such as Storage Blob Data Reader or Key Vault Secrets User; roles that list storage keys hand out a credential that outlives the assignment.
  • Assignments inherit downward (including from parent resources to child resources), can only be removed where they were made, and follow the current management-group hierarchy.
  • Custom roles: names are unique per tenant, extend them by editing AssignableScopes, built-in roles are cloned not edited, and DataActions roles cannot be assigned at management group scope.
  • Allows are additive and NotActions is not a deny; only a deny assignment blocks — created by Azure from deployment stack deny settings, system protected, with exceptions via excluded principals or actions.
  • Azure RBAC governs resources; Entra roles govern the directory at tenant or administrative-unit scope. Elevate access gives a Global Administrator User Access Administrator at root scope until it is turned off.
  • Trace access with Check access, the (Inherited) Scope column, and az role assignment list --all --include-groups --include-inherited.
How the exam tests this

AZ-104 tests access control with scenarios that hinge on one deciding constraint. Expect to choose between near-twin roles: Owner versus Contributor (and what Contributor cannot do with locks and policy), User Access Administrator versus Role Based Access Control Administrator with a condition, Virtual Machine Contributor versus Contributor versus the VM login roles, and Storage Blob Data or Key Vault data roles versus control-plane roles. Scope questions ask for the narrowest scope that still covers future resources and test inheritance after moves. Interpretation questions combine direct, group and inherited assignments, NotActions and deployment stack deny assignments, and ask which tool or CLI flag reveals where access comes from. The Azure RBAC versus Microsoft Entra role split, including elevate access, appears as well.

Azure Subscriptions, Policy, Locks and Governance (AZ-104)

  • The hierarchy is management group → subscription → resource group → resource; policy and role assignments are inherited downward, and a moved subscription takes its new parent's governance and loses its old parent's.
  • Subscriptions are billing and quota boundaries (vCPU quotas per subscription per region); changing a subscription's Entra directory deletes its role assignments and breaks managed identities, while a same-directory billing transfer does not.
  • Moving a resource changes its resource group, subscription and resource ID but never its region; both groups are locked during the move, dependents move together, and direct role assignments are orphaned.
  • A custom policy definition can be assigned only at or below where it is saved; parameters let one definition serve many scopes, and DoNotEnforce evaluates without enforcing.
  • Exclusions (notScopes) stop evaluation; exemptions (Waiver or Mitigated, optional expiry) keep the resource visible as Exempt.
  • Audit and AuditIfNotExists report, Deny blocks creates and updates, DenyAction blocks deletes, and Modify and DeployIfNotExists remediate through the assignment's managed identity.
  • Locks (subscription, resource group or resource — not management group) override RBAC, cover control-plane operations only, and need Owner or User Access Administrator to manage; ReadOnly blocks POST actions such as VM restarts.
  • Tags are not inherited; built-in Require-a-tag policies Deny, Inherit-a-tag policies Modify, and Cost Management tag inheritance tags usage records, not resources.
  • Budgets only notify unless an action group (subscription or resource group scope) automates a response; the spending limit is a hard stop only on credit-based offers.
How the exam tests this

Expect scenarios that test governance decisions and their side effects. "Reject" or "block" a non-compliant deployment points to Deny, "report only" to Audit, "report a missing companion resource" to AuditIfNotExists, "prevent deletion across many subscriptions" to DenyAction at a management group, and "fix existing resources" to remediation with deployIfNotExists or modify — where the assignment's managed identity needs the definition's roles. Know when to use an exclusion versus a Waiver or Mitigated exemption, where a custom definition can be assigned, and what DoNotEnforce does. Lock questions test what ReadOnly breaks (VM restarts, listing keys), that locks override RBAC but not data-plane operations, that Contributor can't manage them, and that management groups can't be locked. Subscription and resource questions test what a management-group move, a directory change, a resource move or a quota limit actually changes. Cost questions hinge on budgets notifying unless an action group is attached, the spending limit existing only on credit-based offers, which built-in tag policy fits, and how to tune Advisor's lookback period.

Implement and manage storage

19% of the exam

Configure Access to Azure Storage: SAS, Keys & Firewalls (AZ-104)

  • Storage access has two layers: networking (firewall rules, exceptions, private endpoints) and authorization (keys, SAS, Entra RBAC) — decide them separately.
  • Prefer Microsoft Entra ID with Azure RBAC data roles whenever the caller can have an identity; use a SAS only for callers that cannot.
  • IP rules take public addresses only (no RFC 1918, no /31 or /32 prefixes) and never match same-region traffic; use a virtual network rule with a Microsoft.Storage service endpoint, a private endpoint, or a resource instance rule instead.
  • A private endpoint serves one sub-resource (blob, file, queue, table, dfs, web) with its own privatelink DNS zone, which must be linked to every client virtual network.
  • Trusted access for managed-identity services needs managed identity authentication plus a data role; a resource instance rule admits one named resource.
  • Access keys are all-or-nothing; rotate with two keys, and regenerating one immediately invalidates every SAS it signed. A key expiration policy only flags keys; disallowing Shared Key blocks keys, account SAS and key-signed service SAS.
  • A user delegation SAS is signed with an Entra-issued key valid for at most seven days, grants only what both its sp and the signer's RBAC allow, and is revoked by revoking all user delegation keys or the signer's role.
  • A stored access policy makes a service SAS revocable and editable (changes take up to 30 seconds); each of start, expiry and permissions lives in the token or the policy, never both.
  • Azure Files uses one identity source per account; effective SMB access is the more restrictive of the share-level permission and NTFS ACLs, and an identity with both a default share-level permission and its own SMB role gets the higher of the two.
  • A SAS expiration policy applies to every SAS type and is checked when a token is used: Log allows and records out-of-policy requests, Block denies them, and a SAS with no start time counts as out of policy.
How the exam tests this

Expect scenarios with a deciding constraint. A ban on account keys points to Entra RBAC or a user delegation SAS, and rejecting every key-signed request to disallowing Shared Key; changing or revoking issued tokens without reissuing them points to a stored access policy holding the fields. Expect to reason about what limits a user delegation SAS (key lifetime and the signer's data rights) and how a SAS expiration policy is enforced. Firewall items hinge on rule limits: which traffic IP rules can match, one private endpoint and DNS zone per sub-resource, and how trusted-service exceptions differ from resource instance rules. Azure Files items test choosing an identity source for a client type, the default share-level permission, and how share-level roles combine with NTFS ACLs.

Configure & Manage Azure Storage Accounts and Redundancy (AZ-104)

  • Standard GPv2 is the default account kind; premium kinds (block blob, SSD file shares, page blob) give SSD latency but support only LRS and ZRS (page blobs only LRS) — never geo-redundancy.
  • Account names are 3–24 lowercase letters and digits, globally unique; the name, performance tier, region and account-level infrastructure encryption are fixed at creation, while redundancy, default access tier and key source can change.
  • GRS and GZRS copy asynchronously to the paired region, where data is stored as LRS; only RA-GRS and RA-GZRS let you read the secondary (the read-only -secondary endpoint) without a failover.
  • The archive tier works only with LRS, GRS and RA-GRS — not with ZRS, GZRS or RA-GZRS.
  • Unplanned customer-managed failover loses writes after the Last Sync Time, deletes the old primary copy and leaves the account LRS; planned failover needs both regions up, loses nothing and keeps geo-redundancy. Microsoft-managed failover cannot be requested per account.
  • Geo and read-access changes are a setting; zone changes are a conversion (no downtime, same endpoints and keys, no completion SLA) or a manual migration; LRS to GZRS takes two steps.
  • Object replication needs versioning on both accounts and change feed on the source, does not support hierarchical namespace, makes the destination container read-only (409 on writes) and copies only new blobs unless the rule's copy scope includes existing ones.
  • CMK needs a managed identity with get/wrapKey/unwrapKey (user-assigned at creation) and a vault with soft delete and purge protection; omit the key version for automatic rotation pickup. Encryption scopes give per-container keys and can add infrastructure encryption.
  • Storage Explorer is the GUI; AzCopy is the scriptable CLI — with Entra auth it needs a Storage Blob Data role, sync deletes only with --delete-destination, and resumed jobs need their SAS tokens again.
How the exam tests this

Expect scenario questions that combine constraints. Region-outage survival narrows redundancy to the geo options, a read-from-secondary requirement narrows it to RA-GRS or RA-GZRS, and an archive-tier requirement rules out every zone-redundant option; premium accounts never offer geo-redundancy. Failover questions turn on the Last Sync Time, the LRS state after an unplanned failover and when a planned failover applies. Redundancy changes test setting versus conversion versus manual migration and what blocks a conversion. Object replication tests its prerequisites, the read-only destination and the copy scope. Encryption tests the three key options, CMK identity and vault requirements, automatic key-version updates, creation-time infrastructure encryption and encryption scopes. AzCopy tests data-plane roles, sync deletions and resuming jobs.

Configure Azure Files and Azure Blob Storage (AZ-104)

  • Azure Files gives SMB/NFS shares with file locking that many VMs mount at once; Blob Storage gives HTTPS object storage with optional anonymous read — Azure Files never allows anonymous access.
  • NFS 4.1 needs an SSD (premium) FileStorage account and is secured only at the network level (private endpoint or VNet rule); keys, SAS and Kerberos do not authorize NFS mounts.
  • Transaction optimized, hot and cool exist only on pay-as-you-go standard (HDD) shares and are price options, not speed; moving to SSD means a new FileStorage share and a data copy.
  • Share snapshots restore individual files (Previous Versions on Windows); file share soft delete — on by default, 7 days, 1–365 — restores a deleted share with its snapshots.
  • A port 445 block on the client network is fixed with a VPN or ExpressRoute path to a private endpoint, not with storage firewall rules or service endpoints.
  • Container anonymous access needs Allow Blob anonymous access on the account and still obeys the storage firewall; Blob level allows reads by URL, Container level also allows listing.
  • Time-based retention ends after a set period and, once locked, can only be extended; a legal hold has no end date and lasts until cleared.
  • Archive is offline, needs rehydration (Standard up to 15 hours; High can finish under an hour for blobs under 10 GB) and is only on LRS/GRS/RA-GRS; early-deletion charges are prorated and apply to tier changes too.
  • Soft delete expires after its window and Undelete never promotes a version; versioning keeps every prior state until deleted; container soft delete restores only to the original name.
  • Lifecycle prefixes start with the container name, tiering applies to block blobs only, last-access conditions need access tracking, and new rules can take up to 24 hours to act.
How the exam tests this

Questions are scenarios with one deciding constraint, so read for it: whether data must stay instantly readable or can wait hours for rehydration; whether the account's redundancy allows the archive tier at all; whether a deadline applies to archived data; whether recovered history must outlive a retention window; whether a retention end date is known; and whether a deleted share's snapshots matter. You may also be asked for correct restore steps, a lifecycle prefix or condition, the blob type for an append-only or random-write workload, why an anonymous URL or an NFS mount fails (account setting, firewall, private endpoint), or how SMB traffic can reach a share when port 445 is blocked.

Deploy and manage Azure compute resources

24% of the exam

ARM Templates and Bicep: AZ-104 Deployment Guide

  • An ARM template requires only $schema, contentVersion and resources; parameters, variables, functions and outputs are optional.
  • Bicep transpiles to ARM JSON: same engine and resource coverage, no state file, plain expressions and string interpolation instead of bracketed template expressions.
  • Symbolic references create implicit dependencies; a resourceId() string does not, so add dependsOn or switch to the symbolic reference. Use existing with a scope to read resources you must not change.
  • reference() and list*() run only in resource properties and outputs, and references to a conditional resource need an if() guard.
  • Only @secure() keeps a value out of deployment history. Key Vault references need enabledForTemplateDeployment on the vault and deploy/action for the deployer; in Bicep, getSecret() feeds only a @secure() module parameter.
  • Redeploys reapply every declared property, reverting manual drift; declare subnets inside the virtual network, not as separate child resources.
  • Incremental (default) leaves undeclared resources alone; Complete deletes them, but not at subscription scope, not from the portal, not for nested templates and not past a lock. Deployment stacks are the recommended replacement.
  • what-if previews changes, validate checks acceptability, lint checks source quality; --confirm-with-what-if or -Confirm previews and approves in one command.
  • Resource groups are declared at subscription scope (az deployment sub create); scope a module to the new group to fill it.
  • Linked templates are fetched by Resource Manager (SAS needed for private blobs); template specs and modules avoid hosted URIs, and deploying a spec needs Template Spec Reader on the spec plus deploy rights on the target scope.
  • Exporting a resource group captures current state; exporting from deployment history returns the original template. Decompile converts JSON to Bicep; build goes the other way.
How the exam tests this

Most items are scenarios that hinge on predicting Resource Manager's behaviour: which resources survive an Incremental or Complete deployment, what a redeploy does to manual changes or child subnets, and when deployment stacks replace Complete mode. Expect to choose commands by job and scope (what-if versus validate, az deployment group versus sub create, decompile versus build versus decompile-params), to read templates for required elements, runtime-function placement, dependencies, loops and conditions, and to pick the right way to handle secrets (@secure(), Key Vault references and their permissions) and to share templates (linked templates and SAS, template specs and their RBAC, registry modules). The exam also uses multiple-answer items, so learn each command and setting together with the job and scope it belongs to.

Azure Virtual Machines: Sizes, Disks, and Zones (AZ-104)

  • Availability set membership and an ephemeral OS disk are fixed when a VM is created; size, data disk type and caching can change later.
  • SSH public key authentication at creation supplies only the public key and disables password sign-in; VMAccess can add a key without disabling passwords, and Entra ID login uses Entra-issued certificates.
  • cloud-init in custom data configures Linux at first boot; the Custom Script Extension runs scripts on Windows or Linux from a template; Windows does not execute custom data.
  • Generalize with Sysprep or waagent before capture, and keep versioned, region-replicated, RBAC-shared images in Azure Compute Gallery.
  • Spot VMs are deeply discounted, have no SLA and can always be evicted for capacity; max price -1 only removes price eviction.
  • B is burstable on CPU credits, D general purpose, E memory optimized, F compute optimized, L storage optimized; a missing size on a running VM appears after deallocation (all VMs, in an availability set).
  • Premium SSD v2 (up to 80,000 IOPS) and Ultra Disk (up to 400,000) tune IOPS independently and are data disks only; new data disks must be initialized and formatted in the guest.
  • The temp disk survives a reboot but not deallocation, redeploy or a move to new hardware.
  • Zones give 99.99% across datacenters, availability sets 99.95% inside one, a single premium-disk VM 99.9%; zones and sets are mutually exclusive.
  • Scale sets: Flexible orchestration supports Spot Priority Mix; rolling upgrades need a health signal; each autoscale profile needs its own rules.
  • Encryption at host covers temp disk, caches and the host-to-storage flow without guest CPU; register EncryptionAtHost, deallocate existing VMs, and never after ADE, which retires in September 2028.
  • Resource group and subscription moves keep the region but change resource IDs; region moves use Azure Resource Mover (prepare, initiate, commit or discard, delete source).
How the exam tests this

Expect scenario questions built on stated constraints. "Survive a datacenter failure" or "99.99%" points to availability zones; "fault and update domains" or a region without zones points to an availability set, which a VM joins only at creation. Know which choices are fixed at creation (availability set, ephemeral OS disk), how SSH key authentication differs from VMAccess and Entra ID login, and when cloud-init, the Custom Script Extension or an Azure Compute Gallery image fits. Be ready to pick a size family from a workload profile (B burstable, E memory, F compute, L storage), to resize when a size is missing (deallocate; all VMs in an availability set), and to choose between Premium SSD, Premium SSD v2 and Ultra Disk from IOPS and tuning needs. Encryption questions separate encryption at host (temp disk, caches, no guest agent; register the feature, deallocate, never after ADE) from SSE with customer keys, double encryption and Azure Disk Encryption. Scale set questions cover Flexible versus Uniform, Spot Priority Mix, rolling upgrades with a health signal and autoscale profiles that each need their own rules. Move questions test that resource IDs change but the region does not, the ADE and Backup prerequisites, and the Resource Mover states.

Provision and Manage Containers in Azure (AZ-104)

  • Choose ACI to run a container briefly with no orchestration, Container Apps for managed containers that autoscale (including to zero) with revisions, App Service for web apps that need slots, and AKS only when you need full Kubernetes control.
  • ACR stores images; push a local image by tagging it with the login server (<name>.azurecr.io/repo:tag), use az acr build when there is no local Docker, and az acr import to copy an existing image from another registry.
  • Every ACR tier is zone-redundant in supporting regions; geo-replication, private endpoints and dedicated data endpoints are Premium-only.
  • For ACR access, a managed identity with AcrPull is the passwordless least-privilege pull; repository-scoped tokens with scope maps serve clients outside Microsoft Entra; the admin user is for testing only.
  • ACI bills per second on requested vCPU and memory; restart policy Always suits services, OnFailure retries failed jobs, Never runs once; CPU, memory, OS type and restart policy changes need delete and recreate.
  • In ACI, secure environment variables hide values from the portal and API, secret volumes deliver files from RAM, and only Azure Files (Linux, storage key) persists data beyond the container group.
  • A VNet-deployed ACI group has no public IP or DNS label; publish it through Application Gateway or a load balancer, and send its outbound traffic through a NAT gateway.
  • Container Apps: internal vs external environment and custom VNet are fixed at creation; app ingress limited to the environment hides an app from the VNet; external TCP ingress needs a custom VNet.
  • Container Apps scale between min 0 and max 10 replicas by default; CPU and memory rules cannot scale to zero; traffic splitting needs multiple revision mode, and secret changes need a revision restart.
How the exam tests this

Expect scenario questions that make you choose a container service from the wording, then configure it. Run a single or Windows container briefly with no orchestration points to Container Instances; scale to zero, revisions or event-driven scaling point to Container Apps. For ACR, know the Premium-only features, the tag-and-push, build and import paths, and the least-privilege authentication choice. For ACI, know restart policies, volume types, secure environment variables, VNet limits and which changes need delete-and-recreate. For Container Apps, know environment versus app ingress, revision modes and labels, Consumption sizing pairs and Dedicated profiles, and why some scale rules cannot reach zero.

Create and Configure Azure App Service (AZ-104)

  • Every app on a plan runs on every instance of that plan, so isolating a noisy app needs its own plan; an app can move only to a plan in the same resource group, region and OS.
  • Custom domains need Shared; TLS bindings, managed certificates, backups and Always On need Basic; autoscale, slots and IP-based SSL need Standard.
  • Scale up for per-request limits, scale out for aggregate load; Basic tops out at 3 manual instances, and every autoscale scale-out rule needs a paired scale-in rule.
  • Without Always On an idle app unloads after about 20 minutes, stopping continuous WebJobs; HTTPS Only redirects HTTP, minimum TLS version rejects old handshakes, and ARR affinity pins clients to one instance.
  • Subdomain: CNAME to <app>.azurewebsites.net plus TXT asuid.<sub>. Apex: A record to the inbound IP plus TXT asuid. Migrate live names TXT first, CNAME last.
  • Managed certificates are free and self-renewing but no wildcard; Key Vault imports follow vault renewals; SNI keeps the shared inbound IP while IP-based SSL assigns a dedicated one.
  • Automatic backups are hourly, platform-stored for 30 days and not downloadable; custom backups go to your storage account and need Backup/restore over virtual network integration behind a storage firewall.
  • VNet integration is outbound (add route-all plus a NAT gateway for a fixed outbound IP); a private endpoint is inbound and needs public network access disabled to make the app private.
  • A swap applies target settings, warms the source, then switches routing; domains, bindings, access rules, scale and managed identities stay with their slot; x-ms-routing-name controls traffic routing.
How the exam tests this

Expect scenarios built on a constraint such as lowest cost, no downtime or least effort. You match requirements to the lowest App Service tier, tell scale up from scale out (including tier instance caps and how paired autoscale rules behave), and recognise that apps on one plan share every instance, so isolation needs a separate plan in the same resource group, region and OS. General-settings items cover Always On and idle unloading, HTTPS Only versus minimum TLS version, and ARR affinity. Domain and certificate items cover routing and asuid TXT records, moving a domain that already serves traffic, choosing a certificate source and SNI versus IP-based SSL. You may also choose between automatic and custom backups (including to protected storage), match inbound and outbound networking needs to the right feature, and reason about slot swaps, which settings stay with a slot, slot identities and traffic routing.

Implement and manage virtual networking

19% of the exam

Azure Virtual Networks, Subnets, Peering & User-Defined Routes

  • Azure reserves five addresses per subnet (.0, .1 gateway, .2 and .3 DNS, and the last address), so a /24 yields 251 usable hosts, .4 is the first assignable address and /29 is the smallest subnet.
  • A VNet can hold several non-contiguous ranges; add a range to grow it, and change a subnet's range only while it is empty.
  • NSGs, route tables and NAT gateways attach to subnets, ASGs to NICs; static and secondary private IPs are set on the NIC's IP configurations in Azure, never by changing the guest OS address.
  • Peering is non-transitive and works across regions, subscriptions and tenants; it needs non-overlapping ranges and a link on each VNet created with rights on that VNet.
  • Allow forwarded traffic goes on the receiving VNet's link (each spoke's link to the hub for hub-relayed traffic); hub allows gateway transit, spoke uses remote gateways and can't have its own gateway.
  • Resize a peered VNet in place and sync the peering after every resize — never delete and recreate it.
  • Basic public IPs are retired; Standard is static and blocks inbound until an NSG allows it; Standard v2 currently pairs only with the Standard v2 NAT gateway; a NAT gateway is outbound-only.
  • Route choice: longest prefix first, then user-defined > BGP > system at an equal prefix; overridden routes show Invalid, and next hop None drops traffic.
  • Keep an NVA in its own subnet, never route its subnet to itself, and use symmetric UDRs on both subnets to inspect traffic inside a VNet.
How the exam tests this

Expect scenarios that hinge on peering being non-transitive, on which peering link carries Allow forwarded traffic (the receiving spoke's) versus Allow gateway transit (hub) and Use remote gateways (spoke, which then can't have its own gateway), and on peering across subscriptions and tenants with a link on each VNet. Address questions test RFC 1918 boundaries, Azure's five reserved addresses per subnet, non-overlapping growth-ready ranges, adding ranges, and syncing a resized peered VNet instead of recreating the peering. Public IP items assume Basic is retired: Standard is static and blocks inbound without an NSG, zone-redundant versus zonal, Standard v2 only with the v2 NAT gateway, and NAT gateway as outbound-only. Routing items test longest-prefix-then-source selection, Invalid routes in effective routes, default None routes, gateway route propagation, ExpressRoute forced tunnelling over BGP, symmetric UDRs for intra-VNet inspection, and not routing an NVA's own subnet to itself. Troubleshooting items ask you to interpret Next hop and effective routes output.

Azure NSGs, Bastion, Service Endpoints & Private Endpoints

  • NSG priorities run 100-4096, lower is evaluated first, the first match wins, and priorities must be unique per direction within one NSG.
  • NSGs are stateful: return traffic of an allowed flow needs no reverse rule, and removing a rule may not cut existing connections.
  • Default rules allow VirtualNetwork and AzureLoadBalancer inbound, allow internet only outbound, and deny the rest at priority 65500.
  • VirtualNetwork includes peered and gateway-connected ranges; AzureLoadBalancer is only the 168.63.129.16 health-probe source; you cannot define your own service tags.
  • A narrow allow restricts nothing on its own: add an explicit deny above the 65000 defaults to block the remaining VNet or internet traffic.
  • With subnet and NIC NSGs, inbound is checked subnet then NIC, outbound NIC then subnet, and a deny in either wins.
  • ASGs are assigned to NICs, a NIC can join several ASGs, and NICs in a rule's ASGs must share one VNet.
  • Effective security rules are per NIC and list the merged rule set; IP flow verify gives a verdict for one flow; next hop answers routing.
  • Azure Bastion needs AzureBastionSubnet /26 or larger, reaches directly peered VNets from Basic up, and the VM NSG must allow 3389/22 from that subnet.
  • Native client, IP-based connection, shareable links and host scaling need Standard; session recording and private-only need Premium.
  • Service endpoints keep the public endpoint, cover only the enabled subnet (not on-premises) and switch the subnet's source IP for that service.
  • A private endpoint maps one resource sub-resource to a private IP and needs a privatelink DNS zone linked to the VNet; disable public access separately.
How the exam tests this

Questions describe a connectivity requirement and a constraint — lowest cost, no public IP, no DNS changes, on-premises access, or other traffic must stay blocked — and expect you to reason from how the control behaves. Typical setups stack subnet and NIC NSGs with conflicting priorities, rely on what a service tag such as VirtualNetwork or AzureLoadBalancer really matches, or add an allow without the deny needed to block the rest. Bastion items test the subnet name and size, the VM NSG rule, peering reach and which SKU a feature needs. PaaS items test service endpoint scope and side effects versus private endpoint sub-resources and DNS resolution.

Azure DNS and Load Balancer: AZ-104 Networking Guide

  • A public Azure DNS zone becomes authoritative only when the registrar's NS records point at its four Azure name servers; child zones are delegated with an NS record set in the parent zone.
  • The apex cannot hold a CNAME: use an alias A/AAAA record set for a Standard public IP, Traffic Manager, CDN or Front Door; alias records empty themselves when the target is deleted. App Service subdomains use a CNAME.
  • Azure-provided DNS (168.63.129.16) resolves VM names within one VNet only; after changing a VNet's DNS servers, existing VMs need a DHCP renewal or restart.
  • A private zone resolves only for linked VNets — peering shares nothing. Autoregistration is per link, one registration zone per VNet, VMs only; everything else needs manual records.
  • Private endpoints use service-specific privatelink zones linked to the consuming VNets; clients keep the normal FQDN, and on-premises clients forward the public service zone to a DNS Private Resolver inbound endpoint.
  • A same-named private zone overrides the public zone for linked VNets with no fallback; fallback to internet works only for Private Link zones.
  • Basic Load Balancer was retired on 30 September 2025. Standard is secure by default (an NSG must allow inbound internet traffic to a public frontend) and needs a zone-redundant frontend to survive a zone failure.
  • HA ports (internal Standard, port 0, protocol All) suits NVAs; floating IP lets several frontends share a backend port; idle timeout defaults to 4 minutes, up to 100.
  • An internal load balancer gives backends no internet access: add a NAT gateway (preferred, and it wins over instance public IPs and outbound rules) or use outbound rules on a public Standard load balancer.
  • Pick the distributor by layer and scope: Load Balancer for any TCP/UDP in one region, Application Gateway for HTTP path- or host-based routing and WAF in one region, Traffic Manager for DNS-based routing across regions (priority, weighted, performance, geographic), Front Door for global HTTP/S.
  • Probes need a TCP handshake or an HTTP 200; AllowAzureLoadBalancerInBound (65001) loses to a lower-numbered custom deny; use Health Probe Status split by backend IP and Data Path Availability to locate the fault.
How the exam tests this

Scenarios turn on precise DNS and load balancer behaviour. For DNS: registrar NS records versus copying records into the zone; NS record sets for child zones; CNAME versus alias records and the apex rule; peering not sharing private zones; autoregistration being per link, one zone per VNet and VMs only; privatelink zone names, keeping the service FQDN, and on-premises forwarding to a DNS Private Resolver inbound endpoint; split-horizon zones with no public fallback; and custom DNS servers needing a zone link and forwarding to 168.63.129.16. For load balancing: choosing internal or public by where callers are, zone-redundant versus zonal frontends, session persistence modes, inbound NAT versus load-balancing rules, HA ports for NVAs, floating IP for shared backend ports, idle timeout, outbound access via NAT gateway or outbound rules, and diagnosing probes through NSG priorities, HTTP 200 requirements and Azure Monitor metrics. Service-choice items contrast Load Balancer with Application Gateway, Traffic Manager and Front Door. Many items add a constraint such as least administrative effort or no public IPs on NICs.

Monitor and maintain Azure resources

14% of the exam

Azure Monitor: Metrics, Logs, Diagnostic Settings & Alerts (AZ-104)

  • Platform metrics are numeric, agentless and near real time, kept for 93 days; logs are records in a Log Analytics workspace queried with KQL.
  • In metrics explorer, Max exposes spikes that Avg hides, Sum gives totals and Count is the number of samples; filter restricts what is counted, split draws one series per dimension value.
  • The activity log records control-plane operations automatically for 90 days; data-plane reads need resource logs and sign-ins are in Microsoft Entra logs.
  • Resource logs exist only through a diagnostic setting: one destination of each type per setting, category groups pick up new categories, and Azure Policy DeployIfNotExists plus remediation covers resources at scale.
  • Workspace interactive retention defaults to 30 days and goes up to two years; older data in long-term retention is reached with search jobs or restore.
  • Metric and activity log alerts need no workspace; log search alerts query one. Dynamic thresholds learn seasonality, and the number of violations controls persistence.
  • Alert rules reference action groups for recipients and actions; alert processing rules suppress or apply action groups on a scope and schedule without editing rules.
  • Host VM metrics including available memory are agentless; guest disk free space, event logs and syslog need the Azure Monitor Agent and a data collection rule.
  • IP flow verify checks NSG rules only, next hop shows routing (None = dropped), connection troubleshoot is one-off and Connection monitor is continuous; virtual network flow logs replace NSG flow logs.
How the exam tests this

Questions are mostly scenarios that hinge on one distinction. Decide which data source holds the answer (platform metric, activity log, resource log through a diagnostic setting, or guest data through the Azure Monitor Agent), then read the constraint: no workspace or lowest cost favours metric and activity log alerts; history beyond 93 days or KQL over metrics means exporting to a workspace; least ongoing effort at scale means category groups or Azure Policy; without editing rules means an alert processing rule. Expect to choose the right aggregation or splitting in metrics explorer, to read a KQL pattern, and to interpret IP flow verify and next hop results when a connection fails.

Azure Backup & Site Recovery: Vaults, Policies & Failover (AZ-104)

  • Recovery Services vault: Azure VMs, Azure Files, SQL/SAP HANA in VMs, MARS/MABS and Site Recovery. Backup vault: Blobs, managed disks (agentless Disk Backup) and PostgreSQL. Create the vault in the workload's region.
  • Vault redundancy (LRS, ZRS, GRS) locks once backup is configured for any item; changing it later means a new vault. ZRS keeps data in-region across zones; GRS copies to the paired region.
  • Cross Region Restore needs a GRS vault, is enabled in Backup Configuration, and allows paired-region restores at any time, cannot be disabled once on; items can take up to 48 hours to appear there.
  • A backup policy is a schedule plus daily, weekly, monthly and yearly retention ranges; an item is in one policy at a time, and retention changes apply to existing recovery points.
  • Standard policy: one backup a day, 1-5 days of instant restore snapshots. Enhanced policy: every 4-24 hours, 1-30 days of snapshots, required for Premium SSD v2 and Ultra Disks.
  • Create new is quick but fixed, Restore disks gives an editable template (availability set, names), Replace existing keeps the VM's name, NIC and IPs, and File Recovery mounts a point for single files.
  • Soft delete is on by default: 14 days free, 14-180 days per vault. Undelete returns the item to stop-protection-with-retain-data; Resume backup restarts protection in the same vault.
  • Site Recovery uses the Mobility service extension, a source-region cache storage account and a replication policy; recovery plans set order and runbook actions, multi-VM consistency sets a shared point in time.
  • Drill with test failover into an isolated network, then Cleanup test failover. Fail back by commit, re-protect, failover to the primary (original VMs shut down), re-protect again.
  • Built-in backup alerts notify only through an alert processing rule plus an action group; Backup Reports need vault diagnostic settings to Log Analytics, deployed at scale with a DeployIfNotExists policy.
How the exam tests this

Questions describe a business requirement and expect you to map it to the mechanism that meets it: the vault type a workload needs and whether its redundancy can still change; Cross Region Restore versus Site Recovery; Standard versus Enhanced policy, backup frequency and instant restore retention; how retention ranges are laid out and how policy changes affect existing points; which restore option preserves what must be preserved; soft delete states; MARS versus MABS; the Site Recovery components, RPO and RTO, and recovery point types; recovery plans versus multi-VM consistency; test failover and the failback order; and how alerts, Backup Reports and Azure Policy deliver backup monitoring at scale.

Facts fresh? Prove it.
Drill AZ-104 practice questions with an explanation on every option.
Practice now

Where these AZ-104 facts came from

AZ-104 cheat sheet: your questions

Every key takeaway from all 15 AZ-104 revision lessons — 148 facts — pulled onto one page and grouped by exam domain, with the exam pattern behind each topic. It is a compression of the notes, not a separate set of content, so it can never contradict them.

Source

Exam structure, domain weights and scoring on this page come from the official AZ-104 exam guide.