AZ-104 question patterns
Find a pattern
Each row is wording that keeps showing up in questions, with the answer it usually points to in green. Tap a row to see why.
In this list
No pattern matches that. Try a service name, such as CodeDeploy or Config.
Identity and governance
-
Assign the Allowed locations policy at the management group or subscription with Deny effect.
RBAC controls who can act, not what a resource may look like.
-
Add a CanNotDelete lock on the resource group.
Locks apply regardless of role. ReadOnly would also block normal updates.
-
Assign Virtual Machine Contributor (or Contributor) at the resource group.
Contributor can't assign roles; Owner and User Access Administrator can.
-
Assign User Access Administrator (or RBAC Administrator) at the needed scope.
These roles manage access only and carry no resource rights.
-
Put subscriptions in a management group and assign the role or policy there.
Assignments inherit down the hierarchy.
-
Set the user's usage location, then assign the licence.
Licences can't be assigned without a usage location.
-
Create a dynamic user group on the department attribute and assign the licence to the group (Entra ID P1).
Membership and licences follow the attribute.
-
Enable SSPR for the group and turn on password writeback through Entra Connect (P1).
Without writeback the cloud reset doesn't reach on-premises AD.
-
Assign the built-in Inherit a tag from the resource group policy, and remediate existing resources.
Tags aren't inherited by default.
-
Create a budget with an alert at 90% linked to an action group that runs automation.
Budgets alert only; automation does the stopping.
-
Plan to recreate RBAC assignments and managed identities after changing directory.
Changing directory removes them.
Storage
-
Use zone-redundant storage.
It replicates across zones synchronously; GRS costs more and is for regional loss.
-
Use a read-access geo-redundant option.
Plain GRS exposes the secondary only after failover.
-
Issue a service SAS bound to a stored access policy; delete the policy to revoke.
An ad hoc SAS can only be revoked by rotating the account key.
-
Sign the SAS with Entra credentials instead of the account key.
It doesn't expose the key and ties to RBAC.
-
Enable the Microsoft.Storage service endpoint on the subnet, add a VNet rule and set default action Deny.
Traffic is then allowed only from that subnet.
-
Create a private endpoint and a privatelink DNS zone.
Service endpoints don't work from on-premises.
-
Use the public IP of the office, a VNet rule, or a private endpoint.
IP rules reject private address ranges.
-
Enable Allow trusted Microsoft services to access this storage account.
It lets listed first-party services bypass the firewall.
-
Add a lifecycle rule with tierToCool and delete on days since modification.
It runs daily with no manual work.
-
Enable blob versioning and promote the earlier version.
Soft delete alone covers deletes and overwrites only within its retention, versioning is purpose-built.
-
Enable versioning on both accounts and change feed on the source, then add a replication policy.
These are the prerequisites.
-
Enable AD DS, Entra Domain Services or Entra Kerberos auth, give a share-level RBAC role, set NTFS ACLs.
Share roles and file ACLs are two layers.
-
Run azcopy copy or sync with azcopy login or a SAS URL.
AzCopy is built for bulk transfer and doesn't use account keys.
Compute
-
Run az deployment group what-if.
It shows creates, modifies and deletes.
-
Deploy with --mode Complete.
Incremental leaves other resources untouched.
-
Run az bicep decompile --file template.json.
It converts best effort; check the output.
-
Place VMs in an availability set with fault and update domains.
Zones are the choice for datacentre failure.
-
Spread VMs across zones behind a zone-redundant load balancer.
99.99% versus 99.95% for a set.
-
Enable ADE with a vault in the same Region and subscription, enabled for disk encryption.
ADE runs inside the guest using BitLocker or dm-crypt.
-
Enable encryption at host on the VM.
Server-side disk encryption alone doesn't cover the temp disk.
-
Use Azure Resource Mover or replicate with Site Recovery and fail over.
A resource-group or subscription move never changes Region.
-
Autoscale rule on average CPU with min, max and a matching scale-in rule.
Rules need a cooldown and a gap to avoid flapping.
-
Use ACI with the right restart policy.
It's the simplest run-a-container service, but has no autoscale.
-
Deploy to Container Apps with a KEDA HTTP rule and min replicas 0.
ACI can't autoscale.
-
Use the Premium SKU.
Basic and Standard lack geo-replication and private link.
-
Deploy to a staging slot, warm up, swap, swap back if needed (Standard tier or higher).
Swap is near zero downtime.
-
Mark the setting as a deployment slot setting.
Sticky settings stay with the slot.
-
Add an A record to the app IP and a TXT asuid record for verification, then bind a certificate.
Apex names can't use a CNAME.
-
Enable regional VNet integration on a delegated subnet.
It's outbound only. A private endpoint is for inbound access.
Networking
-
Create the peering in both VNets and check Connected status.
Each side needs its own link.
-
Route via the hub firewall with a UDR, enable IP forwarding and allow forwarded traffic on peerings.
Peering isn't transitive.
-
Route table with 0.0.0.0/0 to the firewall as a virtual appliance, attached to the subnet.
Routes attach to subnets, and a user route beats the system route.
-
Inspect effective security rules; a lower-numbered Deny, or the other NSG (subnet or NIC), may block it.
Lowest priority wins and both NSGs must allow.
-
Run Network Watcher IP flow verify.
It names the rule.
-
Use Network Watcher Next hop.
It exposes UDR mistakes.
-
Deploy Bastion in AzureBastionSubnet (/26) and connect from the portal.
RDP and SSH go over TLS 443.
-
Put NICs in ASGs and write the NSG rule between the ASGs.
Rules follow workloads instead of addresses.
-
Create the endpoint, link privatelink DNS zone to the VNet, then disable public access.
DNS must return the private IP.
-
Link the VNet to a private zone with registration enabled.
Resolution-only links don't register records.
-
Create the public zone and set the registrar's NS records to Azure's name servers.
Azure DNS doesn't register domains.
-
Create a Standard load balancer with a health probe and rule.
Layer 4 service for any TCP or UDP port.
-
Use Application Gateway WAF v2 with path-based rules.
Only a layer 7 gateway understands URLs.
-
Priority routing profile across regional endpoints.
DNS-based routing works for any endpoint.
-
Check the probe port is listening, NSG allows AzureLoadBalancer, guest firewall allows 168.63.129.16.
The probe comes from that address.
Monitoring and backup
-
Send logs to a storage account with retention.
Workspace retention costs more for archival.
-
Install AMA with a data collection rule.
Guest metrics aren't platform metrics.
-
Activity log alert on the delete operation with an action group.
Deletes are control-plane events.
-
Create an alert processing rule that suppresses notifications on a schedule.
No need to edit each alert rule.
-
Enable VM insights with the Dependency agent.
Without that agent the Map is empty.
-
Create a Connection Monitor with a test group and alerts.
Connection troubleshoot is a one-time test.
-
Create the vault in the same Region and attach a policy.
Backup vaults cover blobs, disks and PostgreSQL.
-
Use a GRS vault with CRR enabled before the outage.
It can't be enabled afterwards for lost data.
-
Switch redundancy first; once items are protected it's locked.
Only an empty vault can change.
-
Replicate with Site Recovery and use a recovery plan.
Backup restore is slower than failover.
-
Run a test failover into an isolated VNet, then clean up.
Production and replication aren't affected.
-
Commit the failover, then re-protect to reverse replication.
Failback needs reverse replication first.
Now spot them in real questions. Practice sets use the same wording.
Practise 20 questions