Every Exam PrepFREE EXAM PREP
Ask AI

AZ-104 Practice Test

160 free AZ-104 practice questions with answers and explanations.

No signup required.

The AZ-104 exam is administered by Microsoft, with a time limit of 1 hour 40 minutes and a 700/1000 result.

About these practice questions
Verified against the official content outline

These are original study questions written from published exam objectives—not recalled, copied, or confidential live-exam items. Always confirm current coverage with the official sources linked on this page.

Difficulty
QUESTION 1 / 100Implement and manage storageHard0/0
A storage account is configured with RA-GZRS. During a regional outage affecting the primary region, an application needs to keep serving read requests for existing blobs. What must the application do to achieve this?
0/0session
Browse all questions & answers

Loading the remaining 60 questions…

Implement and manage storage

19 questions
  1. 1. A storage account is configured with RA-GZRS. During a regional outage affecting the primary region, an application needs to keep serving read requests for existing blobs. What must the application do to achieve this?

    • A. Nothing changes for the application; requests sent to the normal primary endpoint automatically keep succeeding throughout the entire regional outage
    • B. Trigger a full manual account failover of the storage account first, since that step is documented as required before any read at all can succeed
    • C. Redirect read requests to the account's explicit secondary (-secondary) endpoint hostname, since RA- prefixed redundancy exposes a separate read-only endpoint
    • D. Switch the account's redundancy setting from RA-GZRS down to plain LRS, since that change is what actually enables reads from the secondary region
    Show answer & explanation

    Answer: C
    Read-access geo-zone-redundant storage exposes a distinct secondary endpoint, identified by a -secondary suffix on the account hostname, that serves read requests from the secondary region, and an application must be coded to redirect to that endpoint (typically after detecting failures against the primary) to keep reading during a primary-region outage. Requests to the normal primary endpoint will fail during a primary-region outage; there is no automatic silent redirection to the secondary without the application using the distinct secondary hostname. A full account failover changes which region is primary and is a heavier, explicit administrative action; RA- redundancy specifically allows read access to the secondary without requiring a failover first. Switching to LRS removes all geographic redundancy and eliminates the secondary region and its read endpoint entirely, the opposite of what is needed.

  2. 2. An administrator accidentally deletes an entire blob container, including all blobs inside it, and needs a way to recover the whole container without restoring from a separate backup system. Which feature must have been enabled beforehand?

    • A. Blob snapshots taken manually for every blob in the container shortly before the accidental deletion occurred
    • B. The archive access tier, which is documented to prevent an entire container from ever being deleted by design
    • C. Container soft delete, which retains a deleted container in a recoverable state for a configured retention period
    • D. A resource lock of type CanNotDelete, applied to the container only after it had already been deleted by the administrator
    Show answer & explanation

    Answer: C
    Container soft delete specifically protects against accidental container deletion by retaining the deleted container, and the blobs inside it, in a recoverable state for a configured retention window, allowing an undelete operation to restore the whole container. Manual snapshots protect individual blobs, not the container as a structural object, and would not exist automatically unless someone had taken them beforehand for every blob. The archive tier only changes how a blob is stored and billed; it has no effect on preventing or reversing container deletion. A resource lock must be applied before the deletion to have any effect; applying one afterward cannot undo an action that has already completed.

  3. 3. A team keeps overwriting a configuration blob and later needs to recover the exact contents as they existed before each specific overwrite, going back several revisions, and wants this to happen automatically without any manual action at write time. What feature provides this?

    • A. Blob snapshots, since a manual snapshot is documented as being created automatically on every single write with no configuration needed
    • B. Soft delete for blobs, which reconstructs prior contents whenever a blob is overwritten
    • C. The cool access tier, which preserves prior blob content indefinitely by design
    • D. Blob versioning, which automatically creates a new version every time the blob is modified or overwritten
    Show answer & explanation

    Answer: D
    Blob versioning, once enabled on the storage account, automatically preserves every prior state of a blob as a new version each time it is overwritten or deleted, with no manual action required at write time, directly matching the need to recover any prior revision automatically. Snapshots capture a blob's state at a specific point, but they must be created explicitly (manually or via a script) at the time worth preserving; they are not created automatically on every write. Soft delete protects against deletion, not overwrites; it does not preserve the previous content each time an existing blob is overwritten in place. The cool tier only affects storage cost and access latency; it has no relationship to preserving prior blob content across overwrites.

  4. 4. A media archive stores 50 TB of blobs that are almost never read after 60 days, and the team wants Azure to automatically move them to progressively cheaper tiers and eventually delete them, without any manual intervention each month. What should be configured?

    • A. A blob lifecycle management policy with rule-based transitions to cooler tiers and an expiration action based on last-modified or last-access time
    • B. Manually reviewing blob access logs every month and moving each qualifying blob to a cheaper tier by hand, one blob at a time, forever
    • C. Enabling the premium block blob tier, which is documented to automatically demote aging data to cheaper tiers over time on its own
    • D. A resource lock of type ReadOnly placed on the container, which is documented to reduce storage billing for rarely modified blob data
    Show answer & explanation

    Answer: A
    Lifecycle management policies define rules that automatically transition blobs between access tiers, and eventually delete them, based on conditions like days since modification or days since last access, which removes the need for any manual monthly review and matches the fully automated tiering and deletion described. Manually reviewing logs and moving blobs by hand is exactly the manual, recurring effort the team wants to eliminate. The premium block blob tier is a high-performance tier for latency-sensitive workloads and does not automatically demote data to cheaper tiers over time; that is lifecycle management's job regardless of starting tier. A ReadOnly lock only restricts who can modify the storage account's configuration; it has no effect on billing or automated tiering.

  5. 5. A developer needs a read-only, point-in-time copy of a single blob preserved before a batch job modifies it, billed only for the data that is unique to that captured moment rather than a full independent copy. What should be created?

    • A. A full copy of the blob to a separate container, billed as an entirely independent blob
    • B. A blob version, which can only be created automatically on the next overwrite, not on demand
    • C. A blob snapshot, taken immediately before the batch job runs
    • D. An immutability policy, which prevents the batch job from running instead of preserving prior content
    Show answer & explanation

    Answer: C
    A blob snapshot captures a read-only, point-in-time state of a blob on demand and is billed only for the blocks that are unique to that snapshot compared to the base blob, which matches both the on-demand timing and the space-efficient billing described. Copying the blob to a separate container does preserve its state, but the copy is billed as a fully independent blob rather than sharing storage with the original the way a snapshot does. Versions are created automatically whenever the blob is next modified rather than on demand at a moment the developer chooses, so relying on the next overwrite would not guarantee the exact pre-batch state is captured deliberately. An immutability policy enforces write-once-read-many behavior and would block or complicate the batch job's own writes rather than simply preserving a prior state for reference.

  6. 6. An administrator needs to visually browse blob containers, queues, and tables across several storage accounts and subscriptions, occasionally dragging and dropping a handful of files, rather than scripting a repeatable bulk transfer job. Which tool is the better fit?

    • A. Azure Data Box, which is designed for interactive, small-scale ad hoc file browsing
    • B. Azure Storage Explorer, for its graphical, cross-account browsing and ad hoc file operations
    • C. Azure Import/Export service, for quick drag-and-drop transfers within the portal
    • D. AzCopy, since it provides the only graphical interface for browsing multiple storage accounts
    Show answer & explanation

    Answer: B
    Storage Explorer is a graphical desktop application designed for browsing and interacting with blobs, queues, tables, and files across multiple storage accounts and subscriptions, including simple drag-and-drop operations, which matches an administrator's need for visual, occasional, small-scale interaction rather than a scripted bulk job. AzCopy is a command-line tool optimized for large, repeatable, scriptable transfers; it has no graphical browsing interface at all. Azure Data Box is a physical device service for shipping large offline data sets into Azure and is not an interactive browsing tool. The Import/Export service ships physical disks to a datacenter for bulk data movement; it has no drag-and-drop portal experience for casual file management.

  7. 7. An analytics platform needs an ordered, guaranteed, durable record of every create, update, and delete operation performed on blobs in a storage account, to drive a downstream processing pipeline, rather than periodically listing and diffing the container. What should be enabled?

    • A. Blob storage change feed, which logs blob-level changes in the order they occur for a consumer to read
    • B. Diagnostic settings sending only aggregate metrics to a Log Analytics workspace
    • C. The Activity log, which is documented as recording blob-level create, update, and delete operations for every storage account by default
    • D. Blob storage lifecycle management, which logs every change to a separate audit container
    Show answer & explanation

    Answer: A
    The change feed provides an ordered, guaranteed, and durable log of changes to blobs in an account that downstream consumers can read sequentially, which is exactly the kind of reliable change stream an analytics pipeline needs instead of repeatedly listing and diffing a container. Lifecycle management defines tiering and expiration rules; it does not produce a change log for consumers to process. The Activity log records subscription-level control-plane operations such as resource creation and configuration changes; it does not capture individual blob data-plane writes by default. Diagnostic settings sending only aggregate metrics provide numeric counters over time, not a per-blob, ordered record of individual operations suitable for driving a processing pipeline.

  8. 8. A team wants to protect an Azure file share against accidental deletion of individual files inside it, taking periodic read-only, share-level point-in-time captures they can browse and restore specific files from, similar to Windows Previous Versions. What should be used?

    • A. Soft delete for the storage account, which restores individual files without any snapshot involved
    • B. Azure Files share snapshots, taken on a schedule and browsable for individual file restore
    • C. Blob versioning enabled on the storage account, which also applies automatically to Azure file shares
    • D. Geo-redundant storage, which lets users browse prior file states directly from the Azure portal
    Show answer & explanation

    Answer: B
    Azure Files share snapshots capture a read-only, point-in-time state of the entire share that can be mounted and browsed to restore individual files, functioning much like Windows Previous Versions, which matches the described requirement precisely. Soft delete for file shares protects a deleted share as a whole for a retention period, but it is not the mechanism for restoring an individual file from a point-in-time browsable capture. Blob versioning applies specifically to blobs in blob containers and does not extend to Azure file shares, which use a different protocol and feature set. Geo-redundant storage protects against regional failure by replicating data; it provides no browsable, point-in-time, per-file restore experience for end users.

  9. 9. A storage account holding sensitive data must reject all requests from the public internet, while still allowing traffic from VMs inside a specific application subnet within the company's own VNet. What should be configured?

    • A. A network security group rule blocking inbound port 443 traffic on the storage account's own dedicated network interface
    • B. Shared access signatures issued only to the application team's service accounts, with public network access left enabled
    • C. Azure Storage firewall rules with public network access restricted and a virtual network rule for that subnet
    • D. Azure Policy with an audit effect that simply flags publicly reachable storage accounts after the fact, without blocking them
    Show answer & explanation

    Answer: C
    Storage account firewall settings let an administrator deny public network access by default and add virtual network rules that permit specific subnets (via service endpoint), which directly implements the network-level allow-list described. Storage accounts do not have their own network interface that an NSG attaches to in this way; NSGs secure subnets and VM NICs, not the storage account's public endpoint. SAS tokens control who can authenticate to specific resources but do nothing to block network-level access if public access remains enabled. An audit-effect policy only reports on non-compliant accounts after the fact; it does not itself restrict network access from the internet.

  10. 10. A finance application must read from a storage account exclusively through a private IP address inside the VNet, with no route to the account's public endpoint at all, even from other Azure services. What should be deployed?

    • A. A service endpoint on the subnet, which removes the storage account's public endpoint entirely
    • B. A public IP address assigned directly to the storage account for VNet-only use
    • C. A NAT gateway attached to the application subnet
    • D. A private endpoint for the storage account, mapped into the application's subnet
    Show answer & explanation

    Answer: D
    A private endpoint provisions a network interface with a private IP address from the VNet for the storage account, and traffic to it stays on the Microsoft backbone without touching the account's public endpoint, matching the requirement for strictly private-IP access. A service endpoint optimizes routing and can restrict access to selected subnets, but the storage account's public endpoint still exists and traffic still traverses it; it does not create a private IP for the storage service the way a private endpoint does. Storage accounts do not accept a directly assigned VNet-only public IP address as a way to hide the public endpoint. A NAT gateway provides outbound internet connectivity for a subnet; it does not create inbound private connectivity to a PaaS service.

  11. 11. A media company wants blobs uploaded to a storage account in East US to automatically and asynchronously appear in a storage account in West Europe for regional read locality, with both accounts remaining independently writable. What should be configured?

    • A. An object replication policy from the East US account to the West Europe account, with change feed enabled on the source and versioning on both accounts
    • B. Geo-redundant storage (GRS) enabled on the East US account, which is documented to already make the West Europe copy independently writable
    • C. A lifecycle management rule that automatically moves blobs to the archive tier once they arrive in the destination account in West Europe
    • D. AzCopy configured to run as a continuous background service that recopies the entire source account's contents once every single hour
    Show answer & explanation

    Answer: A
    Object replication asynchronously copies block blobs between a designated source and destination storage account and requires change feed enabled on the source plus blob versioning enabled on both accounts, and unlike geo-redundancy, both accounts remain separately accessible and writable, matching the two-account, independently-writable design described. GRS replicates to a secondary region for disaster recovery, but that secondary copy is not independently writable or even readable without RA-GRS and a failover; it is not a second, independently usable storage account. A lifecycle rule changes access tiers on a schedule; it does not copy data between two separate storage accounts. Running AzCopy hourly as a full-account copy is a manual, inefficient substitute that does not provide the built-in, near-continuous per-blob replication object replication offers.

  12. 12. A healthcare company must encrypt storage account data with encryption keys that its own security team generates, rotates, and can revoke at will, stored in a vault the company controls, rather than relying on Microsoft-managed keys. What should be configured?

    • A. Microsoft-managed keys, since Azure already rotates and generates these on the company's behalf
    • B. Customer-managed keys, using a key stored in Azure Key Vault (or Managed HSM) that the company owns
    • C. Azure Disk Encryption, which is documented as the only mechanism that stores its keys in a company-owned Azure Key Vault
    • D. A shared access signature scoped to encryption operations only
    Show answer & explanation

    Answer: B
    Customer-managed keys let an organization supply and control the key used for Azure Storage encryption from its own Azure Key Vault or Managed HSM, including rotation and the ability to revoke access to the key, which matches full customer control of key lifecycle. Microsoft-managed keys are generated, rotated, and stored by Microsoft, not the customer, so they do not satisfy a requirement for the security team to control the keys directly. Azure Disk Encryption is a VM disk encryption feature using BitLocker or DM-Crypt and is unrelated to Azure Storage account encryption at rest. A SAS token is a delegated access credential for storage operations; it has no role in configuring encryption-at-rest key management.

  13. 13. A vendor is issued multiple short-lived SAS tokens over several months for the same container, and the security team wants the ability to revoke all of them instantly at once if the vendor relationship ends, without regenerating the storage account keys. What should be used?

    • A. Individually tracking every SAS token's expiry date in a spreadsheet and simply waiting for each one to lapse naturally
    • B. A stored access policy on the container, with each SAS referencing it so all can be revoked together by modifying or deleting the policy
    • C. Regenerating the storage account's primary access key every single time a new SAS token is issued to the vendor
    • D. Enabling public container access for the vendor's container, which removes the need for SAS tokens entirely going forward
    Show answer & explanation

    Answer: B
    A stored access policy defines shared constraints such as permissions and expiry on the server side, and SAS tokens issued against that policy can all be invalidated together by modifying or deleting the policy, without needing to rotate the account keys or wait out each token's individual expiry, which is exactly the instant, bulk-revocation capability requested. Manually tracking expiry dates in a spreadsheet provides no way to revoke tokens early; it only tells you when they will eventually lapse on their own. Regenerating the account key would invalidate every SAS derived from that key, including ones used by unrelated applications, and is a blunt, disruptive substitute for scoped revocation. Public container access removes access control altogether and is the opposite of a controlled, revocable delegation mechanism.

  14. 14. A storage account's primary access key may have been exposed in a leaked configuration file, and applications must keep functioning with zero downtime while the compromised key is replaced. What is the correct approach?

    • A. Regenerate the primary key immediately while every application is still actively authenticating with it in production
    • B. Delete the storage account entirely and recreate it under a brand-new name purely to force the generation of new access keys
    • C. Switch all applications to use the secondary access key, then regenerate the primary key so the exposed one is invalidated
    • D. Wait until the next scheduled maintenance window before taking any action at all on the already-exposed primary key
    Show answer & explanation

    Answer: C
    Because a storage account has two independent access keys, applications can be switched to the secondary key first, and once none of them depend on the primary, the primary can be regenerated to invalidate the exposed key without any application losing connectivity at any point. Regenerating the primary key while applications still authenticate with it immediately breaks every one of those applications the moment the old key becomes invalid, causing an outage rather than avoiding one. Deleting and recreating the storage account destroys existing data and endpoints and is a drastic, unnecessary step when key rotation achieves the same security outcome without data loss. Leaving a known-exposed key active until a future maintenance window leaves the account vulnerable for an unacceptable period given the exposure has already been confirmed.

  15. 15. A company currently authenticates Azure file share access using on-premises Active Directory Domain Services credentials, but wants to retire its on-premises AD DS entirely and instead authenticate cloud-only users straight from Microsoft Entra ID for SMB access. What should be enabled?

    • A. Microsoft Entra Domain Services, kept running permanently alongside the on-premises AD DS deployment just for SMB access
    • B. Nothing further is needed, since a single storage account can have AD DS and Entra Kerberos both active at the same time
    • C. Anonymous access configured on the file share, since Microsoft Entra ID has no way to authenticate SMB clients directly
    • D. Microsoft Entra Kerberos authentication for hybrid and cloud-only identities, after disabling the AD DS identity source
    Show answer & explanation

    Answer: D
    Microsoft Entra Kerberos authentication lets Azure Files authenticate hybrid and cloud-only Microsoft Entra identities directly over SMB without any on-premises AD DS or Microsoft Entra Domain Services dependency, and because a storage account supports only one identity source for Azure Files at a time, the AD DS source must be disabled before switching to it. Microsoft Entra Domain Services is a separate managed domain service that still represents a domain-joined dependency, which does not match the goal of retiring on-premises AD DS in favor of direct Entra ID authentication. A storage account can only have one Azure Files identity source enabled at a time, not AD DS and Entra Kerberos simultaneously. Anonymous access would remove authentication entirely rather than authenticate specific Entra ID identities, which is the opposite of the stated goal.

  16. 16. A nightly job must copy only the files that changed since the previous run from an on-premises folder to a blob container, and remove any destination blobs whose source files were deleted, mirroring the source exactly. Which AzCopy command fits?

    • A. azcopy sync, which mirrors the source and destination and can delete extraneous destination files
    • B. azcopy copy, run nightly, which mirrors the destination and removes files no longer present in the source
    • C. azcopy list, scheduled nightly to transfer only new files automatically
    • D. azcopy make, which creates the destination container and copies all files into it every run
    Show answer & explanation

    Answer: A
    azcopy sync is purpose-built to make the destination match the source, transferring only changed or new files and, when the delete-destination option is used, removing files at the destination that no longer exist at the source, exactly matching a mirroring, delta-only nightly job. azcopy copy transfers files from source to destination but does not delete extraneous destination files by default and is not designed as a mirroring operation the way sync is. azcopy list only enumerates the contents of a location; it does not transfer or delete any data on its own. azcopy make simply creates a new container or file share resource; it performs no file comparison or copy operation at all.

  17. 17. A storage account has both container soft delete and blob versioning enabled. A user permanently deletes a container that held several blobs with multiple versions each. What happens to those blob versions during the soft-delete retention window?

    • A. Only the current version of each blob remains recoverable after the deletion; every older version is purged immediately once the container itself is deleted
    • B. The entire container, including every blob and its versions, is retained in a recoverable, soft-deleted state until the retention period expires or it is explicitly restored
    • C. Blob versioning and container soft delete are mutually exclusive features in Azure Storage, so only one of the two could ever actually be active at once
    • D. The container and every blob inside it are deleted immediately with no recovery option at all, since soft delete is documented to never apply at the container level in Azure
    Show answer & explanation

    Answer: B
    Container soft delete preserves the deleted container as a recoverable unit, and because versioning had captured every prior state of each blob before deletion, those versions travel with the container into the soft-deleted state and become available again if the container is restored within the retention window. Container soft delete does not selectively discard older versions on deletion; it retains the container's contents, versions included, as they existed at the time of deletion. Blob versioning and container soft delete are independent, complementary features that are commonly enabled together, not mutually exclusive alternatives. Soft delete does apply at the container level (in addition to the blob level), which is precisely why the deleted container in this scenario is recoverable rather than gone immediately.

  18. 18. A legacy application can only transfer files using SFTP and needs to write directly into a container in a storage account, authenticating with per-user credentials scoped to specific folders. What storage account prerequisite must be enabled first?

    • A. Setting the archive access tier as the storage account's configured default access tier for all new blobs
    • B. Enabling blob versioning on the storage account first, since SFTP support internally depends on version history
    • C. Attaching a NAT gateway to the storage account's own network interface to permit inbound port 22 connections
    • D. Hierarchical namespace (Data Lake Storage Gen2), which SFTP support requires before it can be enabled
    Show answer & explanation

    Answer: D
    SFTP support for Azure Blob Storage requires hierarchical namespace to be enabled on the account, since SFTP is one of the protocols layered on top of the Data Lake Storage Gen2 hierarchical namespace, and local user identities are then used to scope per-folder access. The archive tier is unrelated and, in fact, is not even a valid default tier setting for a storage account. Blob versioning is an independent feature and has no dependency relationship with SFTP support. Storage accounts do not have their own attachable network interface for a NAT gateway; NAT gateways provide outbound connectivity for VNet subnets, not inbound SFTP protocol support for a PaaS storage endpoint.

  19. 19. A security review finds that a storage account can still be accessed using its account key even though every application has been migrated to use Microsoft Entra ID authorization. The team wants to eliminate the account-key attack surface entirely going forward. What should be done?

    • A. Disable Shared Key authorization on the storage account, forcing all requests to authenticate through Microsoft Entra ID
    • B. Regenerate the account keys on a recurring schedule, which removes the ability to authenticate with a key
    • C. Delete the storage account's connection string from application settings only
    • D. Enable soft delete, which automatically disables Shared Key authorization as a side effect
    Show answer & explanation

    Answer: A
    Disabling Shared Key authorization at the storage account level rejects any request authenticated with the account key or a key-derived SAS, forcing every client to authenticate through Microsoft Entra ID and role-based access control, which is the documented way to eliminate the account-key attack surface entirely. Regenerating keys on a schedule still leaves a valid key usable between rotations; it reduces exposure window but does not eliminate key-based access as a method. Removing a connection string from one application's settings does not disable the key itself, which remains valid and could still be used elsewhere, including by an attacker who already has it. Soft delete protects against accidental deletion of data; it has no relationship to, and does not disable, Shared Key authorization.

Deploy and manage Azure compute resources

25 questions
  1. 20. A company wants to bind a wildcard TLS certificate for *.contoso.com to their App Service, so any subdomain automatically gets HTTPS without issuing a certificate per subdomain. Which certificate option should they use?

    • A. The free App Service Managed Certificate, which is documented to natively support wildcard domains out of the box with no extra configuration
    • B. The default *.azurewebsites.net certificate, which App Service documentation says can simply be extended to cover a company's custom apex domain
    • C. A private certificate stored only in the App Service file system, requiring no Key Vault reference and no certificate upload step at all
    • D. A certificate purchased or brought from a third-party certificate authority, since the free App Service Managed Certificate does not support wildcard domains
    Show answer & explanation

    Answer: D
    The free App Service Managed Certificate explicitly does not support wildcard certificates, so a wildcard requirement must be met with a certificate purchased from a third-party certificate authority or otherwise brought in and uploaded (or referenced from Key Vault) to the App Service. The free managed certificate is documented as unsupported for wildcard domains, which directly contradicts using it for this scenario. The built-in *.azurewebsites.net default certificate only covers the platform's own default hostname, not a customer's custom apex or wildcard domain. Certificates for custom domains must be properly provisioned through App Service's certificate management (upload or Key Vault reference); simply placing a file in the app's file system is not how TLS bindings are configured.

  2. 21. A batch analytics job can tolerate having its VMs interrupted with little notice and wants the lowest possible compute price, capping what it is willing to pay per hour and having interrupted instances deallocated (not deleted) so they can be restarted later at the same configuration. What should be configured?

    • A. Reserved Instances with the eviction policy set to Deallocate, since reservations offer the lowest possible hourly price
    • B. Azure Spot Virtual Machines with a maximum price set and the eviction policy set to Deallocate
    • C. Azure Spot Virtual Machines with the eviction policy set to Delete, which preserves the VM for a later restart
    • D. A Virtual Machine Scale Set with Uniform orchestration, since only Uniform mode supports Spot pricing and eviction policies
    Show answer & explanation

    Answer: B
    Azure Spot Virtual Machines offer access to unused Azure capacity at a significantly reduced price with the tradeoff that Azure can evict the instance when it needs the capacity back, and the eviction policy can be set to Deallocate so the VM stops (retaining its disks) rather than being permanently deleted, letting it be restarted later once capacity is available again. Reserved Instances are a one- or three-year capacity and pricing commitment for steady-state workloads; they do not offer the deepest possible discount the way interruptible Spot capacity does, and they are not associated with an eviction policy at all. Setting the eviction policy to Delete removes the VM and its disks entirely on eviction, which is the opposite of preserving it for a later restart. Both Flexible and Uniform orchestration modes for scale sets can use Spot instances, so Spot pricing is not exclusive to Uniform mode.

  3. 22. A team is designing a new scale set for a mixed workload of B-series and D-series VM sizes with different operating systems in the same set, and also wants the individual instances manageable with standard VM APIs, RBAC, and Azure Backup. Which orchestration mode should they choose?

    • A. Flexible orchestration mode, which supports mixing VM sizes and operating systems and manages standard Azure IaaS VMs
    • B. Uniform orchestration mode, which is the recommended mode for mixed VM sizes and operating systems
    • C. An availability set, which natively provides autoscaling across mixed VM sizes
    • D. Uniform orchestration mode, since its VM API is documented as fully compatible with standard IaaS VM commands, RBAC, and Backup
    Show answer & explanation

    Answer: A
    Flexible orchestration is Microsoft's recommended mode for scale sets and explicitly supports mixing VM sizes and operating systems within the same set, while managing standard Azure IaaS VM resources that are directly compatible with standard VM APIs, Azure Resource Manager tagging, RBAC, and Azure Backup. Uniform orchestration is optimized for large-scale, identical instances and does not support mixing different VM sizes and operating systems in one scale set. Availability sets group VMs for fault- and update-domain distribution but provide no built-in autoscaling; that requires a scale set. Uniform orchestration's instances are managed through the separate Virtual Machine Scale Set VM API and are explicitly documented as incompatible with standard IaaS VM API commands, RBAC, and Azure Backup, the opposite of what is claimed.

  4. 23. A latency-sensitive SAP HANA workload requires disk performance in the range of hundreds of thousands of IOPS with sub-millisecond latency and the ability to adjust performance independently of disk size at runtime. Which managed disk type should be selected?

    • A. Standard HDD, which offers the highest IOPS ceiling among all managed disk types
    • B. Ultra Disk, which allows independent, dynamic adjustment of IOPS and throughput apart from provisioned size
    • C. Standard SSD, which is purpose-built for sub-millisecond, high-IOPS workloads like SAP HANA
    • D. Premium SSD, which allows IOPS and throughput to be tuned independently of disk size at runtime
    Show answer & explanation

    Answer: B
    Ultra Disk is designed for the most demanding, latency-sensitive workloads such as SAP HANA, offering sub-millisecond latency and the ability to independently adjust IOPS and throughput at runtime without changing the provisioned disk size, matching every requirement stated. Standard HDD is the lowest-performance, highest-latency managed disk tier, intended for infrequently accessed data, not high-IOPS latency-sensitive workloads. Standard SSD targets budget-friendly workloads with moderate, consistent performance; it is not marketed or suited for sub-millisecond, hundreds-of-thousands-of-IOPS scenarios. Premium SSD offers strong, predictable performance tied to disk size and tier, but unlike Ultra Disk, its IOPS and throughput are fixed by the selected disk size rather than independently and dynamically adjustable at runtime.

  5. 24. A security review requires that temporary disk data and disk cache traffic between the VM and storage cluster be encrypted, not just the persisted OS and data disk content, without deploying BitLocker or DM-Crypt inside the guest. What should be enabled?

    • A. Server-side encryption with platform-managed keys, which is documented to already encrypt temp disks and caches by default
    • B. Azure Disk Encryption, since it is documented as the only Azure encryption option that avoids deploying BitLocker or DM-Crypt inside the guest OS
    • C. Encryption at host, which extends server-side encryption to cover temp disks, caches, and the data flow between compute and storage
    • D. Confidential disk encryption, which is available and enabled by default on every Azure VM size without any restriction
    Show answer & explanation

    Answer: C
    Encryption at host is a VM-level setting that extends the always-on server-side encryption to also cover temporary disks, disk caches, and the data as it flows between compute and storage, achieving end-to-end encryption without requiring any in-guest encryption agent like BitLocker or DM-Crypt. Standard server-side encryption with platform-managed keys is always on for OS and data disks, but it explicitly does not cover temp disks or disk caches, which is the gap this scenario needs closed. Azure Disk Encryption is precisely the option that relies on BitLocker (Windows) or DM-Crypt (Linux) running inside the guest, the opposite of what is being avoided here. Confidential disk encryption is restricted to specific confidential computing VM series, not available on every VM size without restriction.

  6. 25. A two-node SQL Server failover cluster instance needs a shared managed disk that both cluster nodes can attach to simultaneously, arbitrated using SCSI Persistent Reservations by the cluster software itself. What Azure managed disk feature enables this?

    • A. Availability zones, which allow a single managed disk to attach to two VMs across zones automatically
    • B. Encryption at host, which is a prerequisite that automatically enables multi-VM disk attachment
    • C. Host caching, which must be enabled first before a disk can be shared across multiple VM nodes
    • D. Shared disks, enabled by setting maxShares to 2 or more on a supported Premium SSD, Premium SSD v2, or Ultra Disk
    Show answer & explanation

    Answer: D
    Azure shared disks let a single managed disk (Ultra Disk, Premium SSD v2, Premium SSD, or Standard SSD) be attached to multiple VMs at once by setting the maxShares value to the number of nodes, with the clustered application, such as Windows Server Failover Clustering, coordinating write access through SCSI Persistent Reservations. Availability zones distribute resources for resilience but do not themselves make a single disk attachable to multiple VMs simultaneously; disk sharing is a distinct, separately configured capability. Encryption at host is a data-at-rest encryption feature unrelated to whether a disk can be attached to more than one VM. Host caching is explicitly not available on Premium SSDs configured with maxShares greater than 1, so enabling it is not a prerequisite for sharing; if anything, the two features are incompatible in that configuration.

  7. 26. A company needs to relocate a running production VM, along with its disks, from the East US region to the West US 2 region, keeping the same configuration and minimizing manual rebuild work. What Azure service is purpose-built for this VM-to-different-region move?

    • A. Azure Resource Mover, which orchestrates moving supported resources such as VMs between Azure regions
    • B. The standard 'move resources' operation used for moving a VM between resource groups, which also moves it between regions
    • C. A resource lock of type CanNotDelete, applied to prevent the VM from ever needing a regional move
    • D. Azure Advisor, which physically relocates flagged VMs to a lower-cost region automatically
    Show answer & explanation

    Answer: A
    Azure Resource Mover is the dedicated service for moving supported resources, including VMs and their dependencies, from one Azure region to another, orchestrating the process and reducing manual rebuild effort. The standard move-resources operation relocates resources between resource groups or subscriptions within the same region; it does not move a resource's underlying deployment to a different Azure region. A CanNotDelete lock only prevents deletion of a resource; it has no relationship to enabling or performing a cross-region move. Azure Advisor issues recommendations for administrators to act on, such as suggesting cost or reliability improvements; it does not automatically relocate VMs between regions on its own.

  8. 27. A web application currently runs on an App Service plan's Standard tier and its traffic has grown enough that response times are degrading under load, even though CPU on the single instance is not maxed out. The team wants more capacity by adding instances rather than a bigger machine. What should they do?

    • A. Scale up to a larger App Service plan tier, since only a larger single instance can add capacity
    • B. Scale out by increasing the App Service plan's instance count or enabling autoscale rules based on a metric
    • C. Enable a deployment slot, which automatically adds compute capacity behind the same endpoint
    • D. Move the app to Azure Container Instances, since App Service plans are documented as having a hard limit of one running instance
    Show answer & explanation

    Answer: B
    Scaling out increases the number of instances running the App Service plan, distributing load across more machines, which is the appropriate response when a single instance's CPU is not maxed but overall throughput needs to grow, and it can be automated with autoscale rules tied to metrics like CPU or request queue length. Scaling up changes the tier or size of the underlying instance (more CPU/RAM per instance) rather than adding instances, which is a different axis of scaling from what was requested. A deployment slot is a separate staging environment for release management, such as swap-based deployments; it does not add compute capacity to the running production app. App Service plans support multiple instances natively (the count is a configurable setting, not fixed at one), so moving to a different compute service is not required to add capacity.

  9. 28. A team performing a slot swap on their App Service wants the newly promoted production slot to already have its application fully warmed up and passing custom health checks before it starts receiving live traffic, avoiding a cold-start delay for the first users. What should they configure?

    • A. A standard swap, since it already guarantees full warm-up and health validation before traffic is redirected
    • B. Deployment slot backup, which pre-warms an app before any swap by default
    • C. Swap with preview, which warms up the target slot and lets the team validate it before completing the swap
    • D. Scaling out the production slot to more instances, which eliminates cold starts during any future swap
    Show answer & explanation

    Answer: C
    Swap with preview (multi-phase swap) applies the target slot's settings to a clone of the source slot first, allowing the app to warm up and be validated, including custom warm-up logic or health checks, before the team completes the swap and sends live traffic to it, directly matching the requirement to avoid a cold start for the first users. A standard swap does perform some default warm-up of the swapped app, but it completes the traffic switch immediately afterward without a pause for the team to validate custom health checks before go-live, which is the gap swap with preview closes. Deployment slot backup is not a feature that pre-warms an application; backup and restore address data protection, not swap warm-up behavior. Scaling out production adds instance count for capacity; it does not itself add a warm-up-and-validate step to the swap process.

  10. 29. After a VM is deployed, an administrator needs to run a one-time PowerShell script inside the guest to install an internal monitoring agent and register it with a central server, without connecting over RDP. Which mechanism should be used?

    • A. Encryption at host, enabled to trigger a first-boot script automatically
    • B. The Custom Script Extension, deployed to run the script inside the guest OS after provisioning
    • C. A resource lock of type CanNotDelete, which also runs a startup script when applied
    • D. An availability set membership change, which triggers guest script execution
    Show answer & explanation

    Answer: B
    The Custom Script Extension downloads and executes a specified script inside the VM's guest operating system after deployment, which is the standard Azure mechanism for post-provisioning configuration tasks like installing and registering an agent without an interactive RDP session. Encryption at host is a disk encryption feature for data at rest and has no scripting or automation capability. Resource locks only control whether a resource can be deleted or modified through Azure Resource Manager; they do not execute anything inside a guest operating system. Changing availability set membership is a placement and fault-domain operation; it has no mechanism for running scripts inside a VM.

  11. 30. An administrator wants performance counters and event logs collected from a fleet of Azure VMs and sent to a Log Analytics workspace for KQL querying, using the currently recommended data collection mechanism rather than a legacy agent. What should be deployed?

    • A. The Log Analytics agent (MMA/OMS), which remains Microsoft's current recommended collection method
    • B. The Custom Script Extension, configured to manually forward Windows Event Viewer logs
    • C. The Azure Monitor Agent extension, configured with a data collection rule targeting the VMs
    • D. A NAT gateway attached to each VM's subnet to enable telemetry upload
    Show answer & explanation

    Answer: C
    The Azure Monitor Agent is the current, actively developed agent for collecting telemetry such as performance counters and event logs, deployed as a VM extension and governed by data collection rules that define exactly what is collected and where it is sent, such as a Log Analytics workspace for KQL querying. The legacy Log Analytics (MMA/OMS) agent is the one Azure Monitor Agent supersedes and is being retired, so it is not the recommended path going forward. The Custom Script Extension can run arbitrary scripts but is not a purpose-built, supported telemetry pipeline with structured data collection rules the way Azure Monitor Agent is. A NAT gateway provides outbound internet connectivity for a subnet and has no role in collecting or shipping VM telemetry.

  12. 31. A production VM currently running the D4s_v3 size needs to move to the E8s_v5 size, a different VM series, to get more memory per core. What should the administrator expect?

    • A. The resize always completes instantly while the VM keeps running, with absolutely no possibility of any downtime ever occurring at all
    • B. Resizing to a different VM series is never possible in Azure; only sizes within the exact same series can ever be resized
    • C. The VM's public IP address is always permanently lost whenever any resize between two different series is performed
    • D. The VM may need to be deallocated first if the target size and series is not available on the current hardware cluster hosting it
    Show answer & explanation

    Answer: D
    A VM can sometimes be resized to another size in the same cluster while running, but moving to a size in a different series or one unavailable on the current hardware cluster typically requires the VM to be stopped and deallocated so Azure can reallocate it to compatible hardware, after which it is resized and restarted. Resizing does not always complete instantly without any possibility of downtime; cross-cluster or cross-series moves specifically can require a stop/start cycle. Resizing across VM series and families is supported, provided the target size is available in the region and cluster; it is not restricted to staying within the same series. A dynamic public IP is released on deallocation and a new one may be assigned on restart, but a static public IP (Standard SKU) is retained across a stop/deallocate and resize cycle, so a permanent loss is not the general rule.

  13. 32. An architect configuring an availability set for a two-tier application needs to know the default number of fault domains a newly created availability set spreads VMs across in most regions. What is the default?

    • A. Five fault domains by default, matching the default number of update domains
    • B. Twenty fault domains by default, the maximum allowed for any resource in Azure
    • C. One fault domain by default, since fault domains must be manually enabled first
    • D. Two fault domains by default, with some regions supporting up to three
    Show answer & explanation

    Answer: D
    Azure availability sets default to two fault domains, representing groups of hardware that share a common power source and network switch, though the maximum configurable fault domain count can be up to three depending on the region, which is distinct from the default update domain count. Five is the default number of update domains, not fault domains, so conflating the two produces the wrong figure here. Fault domains are not something that must be manually enabled from a starting value of one; every availability set is created with a fault domain configuration already in effect by default. Twenty is the default (and maximum) number of update domains configurable for an availability set, not a fault domain figure.

  14. 33. A platform team wants to author infrastructure as code with less verbose syntax than ARM JSON, while still being able to reuse the same deployment logic across projects as a discrete, versioned component. What Bicep construct supports reusable, packaged deployment logic?

    • A. A Bicep parameter file, which is the mechanism for packaging reusable deployment logic
    • B. A Bicep module, referenced from a parent file and optionally published to a registry for reuse
    • C. An ARM template function such as resourceId(), used to package logic for reuse across files
    • D. A resource group, since resource groups are themselves the unit of reusable deployment logic in Bicep
    Show answer & explanation

    Answer: B
    Bicep modules encapsulate a set of resource definitions in a separate file that a parent Bicep file can reference with inputs and outputs, and modules can be published to a registry, making them the construct for versioned, reusable deployment logic across projects. A parameter file only supplies input values for a deployment; it contains no reusable resource-definition logic of its own. ARM template functions like resourceId() compute values such as resource IDs within a template; they are not a packaging mechanism for entire blocks of reusable deployment logic. Resource groups are a management and deployment scope for resources, not a code-reuse construct within Bicep or ARM authoring.

  15. 34. A template author needs to compute a storage account's fully qualified resource ID inside an ARM JSON template, to reference it from another resource's properties, without hardcoding the subscription and resource group into the string. Which construct should be used?

    • A. A hardcoded string literal built by manually concatenating the subscription ID and resource group name
    • B. The outputs section, which is only used to hardcode resource IDs into child templates
    • C. The resourceId() template function, referencing the resource's type and name
    • D. The apiVersion property, which resolves to the current resource's ID automatically
    Show answer & explanation

    Answer: C
    The resourceId() function computes the fully qualified resource ID for a resource based on its type and name (and optionally subscription and resource group), which is the standard, portable way to reference a resource without manually hardcoding subscription or resource group values into a string. Manually concatenating a hardcoded string is fragile, error-prone, and defeats the purpose of a portable, parameterized template. The outputs section returns values from a completed deployment for use by the caller or a linked template; it is not itself a function for computing a resource ID inline within properties. apiVersion specifies which version of a resource provider's schema to use for a resource definition; it has no role in generating a resource ID string.

  16. 35. A team has an existing ARM JSON template for a web app and wants to convert it into Bicep syntax to take advantage of the more concise authoring experience, without manually rewriting every resource block by hand. What should they use?

    • A. The Bicep build command, which converts a Bicep file back into ARM JSON, not the other direction
    • B. The az deployment group create command, which performs the ARM-to-Bicep conversion during deployment
    • C. Azure Policy's remediation task, which rewrites templates automatically as part of compliance enforcement
    • D. The Bicep decompile command, which converts an existing ARM template into an equivalent Bicep file
    Show answer & explanation

    Answer: D
    The Bicep CLI's decompile command takes an existing ARM JSON template and produces an equivalent Bicep file, giving the team a starting point they can refine rather than hand-translating every resource block. The build command does the opposite conversion, compiling a Bicep file down into ARM JSON for deployment, not converting ARM into Bicep. Deployment commands like az deployment group create submit a template for deployment; they do not convert a template's authoring language from one format to another. Azure Policy remediation tasks bring existing resources into compliance with a policy's effect; they have no function for converting template file formats.

  17. 36. An App Service app needs to call a database on a private VNet-integrated subnet, while a separate feature requires clients on that VNet to reach the App Service app itself over a private IP rather than its public endpoint. Which two features respectively satisfy the outbound and inbound halves of this requirement?

    • A. VNet integration for the app's outbound calls, and a private endpoint for inbound access from the VNet
    • B. A private endpoint for the outbound calls, and VNet integration for inbound access from the VNet
    • C. VNet integration for both the outbound calls and the inbound private access requirement
    • D. A NAT gateway for the outbound calls, and Azure Bastion for the inbound private access requirement in this scenario
    Show answer & explanation

    Answer: A
    VNet integration lets an App Service app make outbound calls into a virtual network, such as reaching a database on a private subnet, while a private endpoint gives the app itself a private IP address in a VNet so inbound clients on that network can reach it without using its public endpoint, so the two features cover the outbound and inbound directions respectively as the scenario requires. Swapping them (private endpoint for outbound, VNet integration for inbound) reverses their actual purposes, since a private endpoint is about inbound reachability of the app, not the app reaching out. VNet integration only affects outbound connectivity from the app; it does not provide inbound private access to the app itself, so it cannot satisfy both halves. A NAT gateway provides outbound internet connectivity for a subnet, not app-to-database VNet reachability, and Azure Bastion is a browser-based RDP/SSH jump host for VMs, unrelated to private inbound access to an App Service app.

  18. 37. An app running on an App Service plan's Free tier needs scheduled, automatic backups of its content and configuration retained for 30 days with no setup required. What must the team do first?

    • A. Nothing; automatic backups with 30-day retention are already documented as active by default on every App Service tier, including Free
    • B. Scale the App Service plan up to at least the Basic tier, since automatic backups are not available on Free or Shared tiers
    • C. Enable custom backups instead, which work on the Free tier with no storage account required
    • D. Enable deployment slots, which is the prerequisite that unlocks automatic backups on the Free tier
    Show answer & explanation

    Answer: B
    Automatic backups, with their fixed 30-day retention schedule, are supported starting at the Basic tier and above (Basic, Standard, Premium, Isolated); the Free and Shared tiers are not included, so the plan must first be scaled up to at least Basic before automatic backups become available. Automatic backups are explicitly not available on every tier; Free and Shared are excluded, so assuming they are already active there is incorrect. Custom backups also require a supported pricing tier (Basic or higher) and a storage account to hold the backup files; they are not a Free-tier workaround that skips the tier and storage requirements. Deployment slots are a separate feature for staged releases and have no role in unlocking or enabling the backup feature.

  19. 38. A team wants their container images automatically rebuilt and pushed to their Azure Container Registry whenever a commit lands on the main branch of their Git repository, without maintaining a separate CI server. What should they configure?

    • A. Azure Container Instances with a restart policy of Always, which rebuilds images on every restart
    • B. A registry-level resource lock, which triggers a rebuild whenever it is applied
    • C. An ACR Task with a source-code trigger watching the Git repository's commits
    • D. Azure Container Apps revisions, which automatically rebuild the image from source on each new revision
    Show answer & explanation

    Answer: C
    ACR Tasks can be configured with a source-code (Git) trigger so that a commit to a watched branch automatically kicks off a build of the container image and pushes the result to the registry, providing the described CI capability without a separate build server. Azure Container Instances is a runtime for running already-built container images; a restart policy governs whether a stopped container restarts, and has nothing to do with building images from source. A resource lock only affects whether a resource can be deleted or modified through Resource Manager; it has no relationship to triggering an image build. Azure Container Apps revisions represent a new deployed version of an already-built container image; creating a revision does not itself rebuild an image from source code.

  20. 39. A container running in Azure Container Instances should automatically restart if the application inside it crashes, but should not restart if the container exits successfully after finishing a one-time task. Which restart policy achieves this?

    • A. Always, which restarts the container only when it exits with a non-zero status and leaves it stopped otherwise
    • B. Never, which restarts the container automatically after any crash but not after a clean exit
    • C. A resource lock of type CanNotDelete, which governs whether a crashed container restarts
    • D. OnFailure, which restarts the container only when it exits with a non-zero (failure) status
    Show answer & explanation

    Answer: D
    The OnFailure restart policy restarts the container specifically when it exits with a failure (non-zero) status, and leaves it stopped after a successful, clean exit, which exactly matches the requirement to restart on crash but not after a completed one-time task. Always restarts the container regardless of how it exits, including after a successful completion, which is the opposite of the selective behavior wanted here. Never means the container is not automatically restarted under any circumstance, including after a crash, so it fails the requirement to restart on failure. A resource lock only controls whether the ACI resource itself can be deleted or modified through Azure Resource Manager; it has no relationship to a container's restart behavior.

  21. 40. An event-driven workload should scale its container app down to zero instances entirely during idle periods to avoid any compute cost, then automatically scale back up in response to incoming HTTP requests or queue messages. Which Azure compute service natively supports this KEDA-based scale-to-zero behavior?

    • A. Azure Container Apps, using its built-in KEDA-based scaling rules for HTTP traffic or event sources
    • B. Azure App Service Basic tier, which is billed only while an active HTTP request is being processed
    • C. Azure Kubernetes Service Standard node pools, which scale nodes to zero automatically with no extra configuration
    • D. Azure Container Instances, which natively scales a single container group to zero and back based on KEDA rules
    Show answer & explanation

    Answer: A
    Azure Container Apps is built on Kubernetes and KEDA under the hood and natively supports scaling rules driven by HTTP traffic, queue depth, or other event sources, including scaling all the way down to zero instances during idle periods and back up automatically as events arrive. Azure Container Instances runs one or more containers as a fixed group without a built-in KEDA-based autoscaling or scale-to-zero mechanism triggered by event sources. AKS node pools can use a cluster autoscaler to add or remove nodes based on pod scheduling pressure, but scaling application replicas to zero based on event sources still requires an add-on like KEDA configured explicitly, and it is not a default, zero-configuration behavior of a Standard node pool. App Service plans, including Basic tier, bill for allocated instance capacity continuously regardless of whether a request is actively being processed; only Consumption-based hosting models scale to true zero cost during idle time.

  22. 41. A cluster administrator creates a new AKS cluster and needs to host both the critical system pods, such as CoreDNS, and a set of customer-facing application pods with very different scaling needs. What is the recommended node pool design?

    • A. Run everything on the system node pool only, since AKS does not support creating additional user node pools
    • B. Keep the default system node pool for critical system pods and add one or more separate user node pools for application workloads
    • C. Delete the system node pool once the cluster is running, since only user node pools are needed after initial setup
    • D. Create a second system node pool for the application pods, since AKS requires every node pool to be a system pool
    Show answer & explanation

    Answer: B
    AKS creates a system node pool by default to host critical system pods like CoreDNS, and the recommended practice is to add separate user node pools dedicated to application workloads, isolating application scaling and resource needs from the components the cluster itself depends on. AKS fully supports creating additional user node pools beyond the initial system pool; running everything on a single system pool is possible but not the recommended separation of concerns. The system node pool should not be deleted, since it (or an equivalent system-mode pool) is required to host the critical system pods the cluster depends on to function. AKS does not require every node pool to be a system pool; user node pools are explicitly the recommended place for application workloads, distinct from system pools.

  23. 42. An AKS application experiences a spike in incoming requests, and pods start hitting CPU limits, but the existing nodes have no spare CPU capacity left to schedule additional pod replicas. Simply adding more pod replicas via the Horizontal Pod Autoscaler will not help unless what else happens?

    • A. The Horizontal Pod Autoscaler automatically provisions new nodes itself whenever it decides to create more pod replicas
    • B. AKS pricing tier is changed from Standard to Premium, which is what actually adds node capacity
    • C. The cluster autoscaler adds more nodes to the node pool so there is capacity to schedule the additional pods
    • D. A resource lock of type CanNotDelete is removed from the node pool to unblock new pod scheduling
    Show answer & explanation

    Answer: C
    The Horizontal Pod Autoscaler adjusts the number of pod replicas based on metrics like CPU, but it has no ability to add compute capacity itself; when existing nodes are full, the cluster autoscaler is the component that adds nodes to the pool so the scheduler has room to place the additional replicas the HPA requested. The HPA operates purely at the pod-replica level and does not provision infrastructure; without the cluster autoscaler (or a manual node addition), extra replicas it creates would simply remain unschedulable. AKS pricing tiers (Free, Standard, Premium) affect the cluster management SLA and feature set, not whether nodes are automatically added for capacity; that is the cluster autoscaler's job regardless of tier. A resource lock only affects whether the node pool resource can be deleted or modified via Resource Manager; it has no relationship to pod scheduling capacity.

  24. 43. A scale set applies configuration changes to its VM model, such as a new image version, and the team wants existing instances updated automatically by Azure in controlled batches, rather than requiring an administrator to trigger every instance's update manually or updating all instances simultaneously with no control. Which upgrade policy fits?

    • A. Manual upgrade policy, which automatically updates instances in controlled batches with no administrator action
    • B. Automatic upgrade policy, which requires an administrator to manually trigger every single instance's update
    • C. A resource lock of type ReadOnly, which is the mechanism that controls batch-based automatic upgrades
    • D. Rolling upgrade policy, which updates instances in batches automatically according to configured batching and health settings
    Show answer & explanation

    Answer: D
    A rolling upgrade policy applies model changes to instances automatically in configurable batches, respecting settings like the maximum batch size and pause time between batches, which matches the requirement for automatic, controlled, staged updates rather than an all-at-once or fully manual process. Manual upgrade policy is the opposite of automatic: with it, each instance must be explicitly triggered by an administrator (or via API call) to pick up the latest model, so it does not batch-update automatically. Automatic upgrade policy applies changes to all instances essentially at once, without the batching and staged control that rolling upgrade provides, and does not require manual per-instance triggering the way the distractor describes. A resource lock only governs whether a resource can be deleted or modified through Resource Manager; it plays no role in how a scale set applies model upgrades to its instances.

  25. 44. A latency-sensitive trading application splits its workload across three VMs that must communicate with each other with the lowest possible network latency, and the team wants Azure to physically co-locate the underlying hardware for those VMs within a datacenter. What should be configured?

    • A. A proximity placement group containing all three VMs, reducing inter-VM network latency through physical co-location
    • B. An availability set, which physically co-locates VMs to minimize latency between them by design
    • C. Availability zones, which guarantee the lowest possible latency between VMs placed in different zones
    • D. A route table with a lower-latency user-defined route between the three VMs' subnets
    Show answer & explanation

    Answer: A
    A proximity placement group is specifically designed to co-locate VMs physically close together within an Azure datacenter to minimize the network latency between them, which is exactly what a latency-sensitive, tightly coupled workload like this trading application needs. An availability set groups VMs across fault and update domains for resiliency against hardware and maintenance failures; it does not optimize for physical proximity or minimal latency between instances, and can in fact spread them further apart. Availability zones intentionally place resources in physically separate datacenters within a region for fault tolerance, which increases inter-zone latency compared to co-location, the opposite of the goal here. A user-defined route changes the next hop for traffic; it cannot alter the physical distance or hardware placement that determines network latency between VMs.

Monitor and maintain Azure resources

14 questions
  1. 45. A network team needs to continuously monitor connectivity and latency between an on-premises office and an Azure VM over time, alerting if reachability degrades, as opposed to a single on-demand connectivity check run once during troubleshooting. Which Network Watcher capability fits the continuous monitoring need?

    • A. Connection troubleshoot, which performs the same continuous, scheduled monitoring as Connection Monitor
    • B. IP flow verify, which is documented as designed for continuous, long-running connectivity monitoring rather than a single check
    • C. NSG diagnostics, which is the feature name for Network Watcher's continuous connectivity monitoring capability
    • D. Connection Monitor, which performs ongoing, scheduled connectivity checks and can alert on degraded reachability over time
    Show answer & explanation

    Answer: D
    Connection Monitor is built for continuous, scheduled monitoring of network connectivity and latency between endpoints (including hybrid on-premises to Azure paths) over time, with alerting on degraded reachability, matching the ongoing monitoring requirement rather than a single check. Connection troubleshoot performs a one-time, on-demand connectivity test between a source and destination and reports the result immediately; it is not a continuous, scheduled monitoring capability the way Connection Monitor is. IP flow verify checks whether a specific packet, given source, destination, port, and protocol, would be allowed or denied by NSG rules at a single point in time; it is a one-off diagnostic rather than an ongoing monitor. There is no separate Network Watcher feature named 'NSG diagnostics' serving as the continuous monitoring tool; continuous connectivity monitoring is Connection Monitor's specific role.

  2. 46. A security team wants to analyze traffic patterns through NSGs across a subscription, visualizing top talkers, blocked flows, and traffic trends over time, built on top of raw NSG flow log data rather than reading the raw JSON logs directly. What should they enable?

    • A. Traffic Analytics, layered on NSG flow logs to provide visualized traffic patterns, top talkers, and trend analysis
    • B. NSG flow logs alone, which already render visualized top-talker and trend dashboards without any additional configuration
    • C. IP flow verify, which aggregates historical flow log data into visual traffic trend dashboards
    • D. Connection troubleshoot, which is the Network Watcher feature that visualizes historical NSG flow patterns
    Show answer & explanation

    Answer: A
    Traffic Analytics is a cloud-based solution built on top of NSG flow logs that processes the raw log data into rich visualizations, including top talkers, traffic distribution, and trends over time, exactly matching the analytical dashboard capability requested. NSG flow logs by themselves are raw JSON records of allowed and denied flows; they do not include built-in visualization or trend dashboards without Traffic Analytics processing that data. IP flow verify answers a single point-in-time question about whether a specific flow is allowed or denied; it does not aggregate historical flow logs into trend visualizations. Connection troubleshoot performs an on-demand connectivity test between two endpoints; it has no capability to visualize historical NSG flow log patterns across a subscription.

  3. 47. A company wants to keep 90 days of detailed diagnostic logs from an Azure SQL Database for compliance auditing, queryable later if needed, at the lowest ongoing cost. Where should the diagnostic settings send the logs?

    • A. An Azure Storage account configured with the desired retention
    • B. A Log Analytics workspace only, queried continuously in real time
    • C. An Event Hub with no downstream consumer
    • D. The Activity log, which already retains data indefinitely
    Show answer & explanation

    Answer: A
    Sending diagnostic logs to a storage account is the most cost-effective option for long-term archival when logs are needed only occasionally for auditing rather than real-time analysis, and retention policies can be configured on the storage. Log Analytics workspaces provide powerful real-time querying but incur higher per-GB ingestion and retention costs, which is unnecessary if the logs are mainly for later compliance lookups. Sending to an Event Hub with no consumer just streams data without any retention or storage, so the logs would be lost. The Activity log captures control-plane subscription events and has its own fixed retention; it is not a destination for resource-level diagnostic logs like SQL Database query/audit logs.

  4. 48. A team wants to be alerted whenever anyone assigns the Owner role to a new principal in their subscription, distinct from a threshold being crossed on a performance metric or a custom log query matching. Which Azure Monitor alert type is designed for this kind of control-plane event?

    • A. An Activity log alert, triggered by a specific control-plane operation such as a role assignment being created
    • B. A metric alert, which is the correct alert type for detecting role assignment operations
    • C. A log search alert, which cannot be configured to detect Activity log events under any circumstance
    • D. An action group, since action groups are themselves a distinct type of alert rule
    Show answer & explanation

    Answer: A
    Activity log alerts are specifically designed to fire based on the occurrence of a particular control-plane operation recorded in the Activity log, such as a new role assignment being created, matching the requirement to react to that administrative event rather than a metric threshold or log query result. Metric alerts evaluate numeric time-series signals like CPU percentage against a threshold; they are not built to detect discrete control-plane events like a role assignment. A log search alert can, in fact, be configured against Activity log data ingested into a Log Analytics workspace, so claiming it can never detect Activity log events is incorrect, though the purpose-built Activity log alert type is the more direct fit here. An action group defines the notification and automation actions an alert rule invokes; it is not itself a type of alert rule or a way to detect an event on its own.

  5. 49. During a planned four-hour maintenance window, an operations team wants to prevent a specific set of existing alert rules from sending notifications, without disabling or deleting the alert rules themselves, and have notifications automatically resume afterward. What should be configured?

    • A. Deleting the alert rules before the maintenance window and recreating them afterward from scratch
    • B. An alert processing rule that suppresses notifications for the selected alerts during the scheduled maintenance window
    • C. A resource lock of type CanNotDelete on the alert rules, which suppresses their notifications temporarily
    • D. Disabling the associated action groups permanently, since there is no time-bound suppression option
    Show answer & explanation

    Answer: B
    Alert processing rules can be scoped to specific alerts or resources and configured with a schedule, such as a four-hour maintenance window, to suppress notifications during that period while leaving the underlying alert rules fully intact and automatically resuming notifications afterward. Deleting and recreating alert rules is a destructive, error-prone workaround that loses rule history and configuration, when a purpose-built suppression feature already exists for exactly this scenario. A CanNotDelete lock only prevents deletion of the locked resource; it has no relationship to whether an alert's notifications are suppressed. Disabling action groups permanently would stop all notifications indefinitely for every alert using them, not just for the maintenance window, and would require manual re-enabling rather than automatically resuming as requested.

  6. 50. An administrator wants a visual dependency map showing how a set of Azure and on-premises VMs communicate with each other and with external processes, correlated with performance data, rather than just raw performance counters in a table. What should be deployed?

    • A. Network Watcher's topology view, described as building a process-level dependency map correlated with VM performance counters
    • B. VM insights, which uses the Azure Monitor Agent together with the Dependency Agent to build a dependency map alongside performance data
    • C. The Azure Monitor Agent by itself, described as building the full dependency map without requiring any additional agent
    • D. Azure Advisor, described as generating a visual dependency map automatically as one of its cost and reliability recommendations each week
    Show answer & explanation

    Answer: B
    VM insights combines the Azure Monitor Agent for performance and log telemetry with the Dependency Agent, which specifically discovers process-level network connections between machines, to render a visual map of dependencies correlated with performance data, matching the scenario precisely. The Azure Monitor Agent alone collects metrics, logs, and events, but it does not by itself discover inter-process network dependencies; that discovery is the Dependency Agent's specific job as part of VM insights. Network Watcher's topology view visualizes the layout of network resources like VNets, subnets, and NICs within a resource group; it does not build a process-level, performance-correlated dependency map across VMs. Azure Advisor issues best-practice recommendations for cost, reliability, security, and performance; it does not generate a visual dependency map of VM communications.

  7. 51. An administrator writing a Log Analytics query needs to return only the rows from the Heartbeat table where the Computer field equals 'WebVM01', and then produce a count of matching rows grouped by OSType. Which two KQL operators accomplish this?

    • A. where to filter rows on Computer, piped into summarize count() by OSType to aggregate
    • B. take to filter rows on Computer, piped into distinct to aggregate the count by OSType
    • C. join to filter rows on Computer, piped into render to aggregate the count by OSType
    • D. project to filter rows on Computer, piped into order by to aggregate the count by OSType
    Show answer & explanation

    Answer: A
    The where operator filters rows based on a condition such as Computer == 'WebVM01', and summarize with an aggregation function like count() grouped by a column such as OSType produces the requested grouped counts, which together match the two required steps exactly. project selects which columns to keep or computes new ones; it does not filter rows based on a condition, so it cannot perform the Computer-equality filter. take (or limit) returns a specified number of rows from the result set without any filtering condition, and distinct returns unique combinations of specified columns rather than counts grouped by a column. join combines rows from two tables based on matching keys and is unrelated to single-table row filtering, while render only affects how results are visualized, not how they are aggregated.

  8. 52. A dashboard needs a KQL query that returns only the TimeGenerated and Computer columns, limited to the first 20 rows of the result set, without needing every column the source table contains. Which two operators achieve this?

    • A. summarize to select the TimeGenerated and Computer columns, piped into where to limit the result to 20 rows
    • B. project to select the TimeGenerated and Computer columns, piped into take to limit the result to 20 rows
    • C. extend to select only the TimeGenerated and Computer columns, piped into distinct to limit to 20 rows
    • D. render to select the TimeGenerated and Computer columns, piped into join to limit the result to 20 rows
    Show answer & explanation

    Answer: B
    project explicitly selects a subset of columns to return, such as TimeGenerated and Computer, and take (or limit) restricts the result set to a specified number of rows, such as 20, which together produce exactly the narrowed, row-limited output requested. summarize aggregates data into summary rows based on grouping and aggregation functions; it does not simply pass through a chosen subset of original columns, and where filters rows by condition rather than limiting a row count. extend adds new computed columns to the result rather than restricting to only the chosen existing columns, and distinct removes duplicate rows rather than capping the total row count. render is a visualization-only operator that has no filtering or projection effect, and join merges two tables together rather than limiting a single result set's row count.

  9. 53. An operations team needs to detect a VM's CPU spike within a minute or two of it happening, but is comfortable with the underlying raw log data used for deeper investigation arriving with a delay of several minutes. Which Azure Monitor data type should the near-real-time alert be based on?

    • A. Logs sent to a Log Analytics workspace, which are always available with the same near-real-time latency as metrics
    • B. Diagnostic settings archived to a storage account, which provide the lowest-latency data source for alerting
    • C. The Activity log, which captures per-second CPU utilization data suitable for near-real-time alerting
    • D. Metrics, which are collected and available for near-real-time alerting typically within one to two minutes
    Show answer & explanation

    Answer: D
    Azure Monitor metrics are a lightweight, time-series data type collected and stored in a way that supports evaluation and alerting on a near-real-time basis, typically within a minute or two, making them the right choice when detection speed matters more than deep analytical flexibility. Logs sent to a Log Analytics workspace generally have higher and more variable ingestion latency than metrics, so assuming identical near-real-time latency to metrics is inaccurate for this use case. The Activity log records control-plane management operations like resource creation or deletion; it does not capture VM-level performance data such as CPU utilization at all. Diagnostic settings sending data to a storage account are intended for low-cost archival and are the slowest, least suitable option for near-real-time alerting, not the fastest.

  10. 54. A new Log Analytics workspace is created with no custom retention configuration applied. A compliance officer asks how many days of data will be retained in the workspace's Analytics tables by default before any changes are made. What is the default?

    • A. 90 days for every single table in the workspace by default, with no table-specific exceptions of any kind documented
    • B. 7 days for every table by default, requiring immediate manual reconfiguration before the workspace is useful for anything
    • C. Unlimited retention by default for every table, until an administrator manually sets a cap on a table-by-table basis
    • D. 30 days for most Analytics tables, except tables like Usage and AzureActivity which default to 90 days at no extra charge
    Show answer & explanation

    Answer: D
    A newly created Log Analytics workspace defaults to 30 days of retention for most Analytics tables, with specific exceptions such as the Usage and AzureActivity tables (and several Application Insights tables) that default to 90 days of free retention, which is the documented out-of-the-box behavior. Not every table defaults to 90 days; that duration applies only to the specifically documented exception tables, while most tables default to 30 days. 7 days is not the default retention period for a new workspace's Analytics tables, and would understate the actual documented default significantly. Retention is not unlimited by default; a defined default period (30 or 90 days depending on the table) applies from the start, and any extension beyond that requires explicit configuration up to the supported maximum.

  11. 55. A team wants to start protecting a new Azure Database for PostgreSQL flexible server and an Azure Disk with Azure Backup, alongside their existing Azure VM and SQL Server-in-VM backups already stored in a Recovery Services vault. Where should the PostgreSQL and disk backups be configured?

    • A. In the same existing Recovery Services vault, since it is documented to support every current and future Azure Backup workload type
    • B. In a Backup vault, but only because Recovery Services vaults have supposedly been fully retired and accept no new backups at all
    • C. In neither vault type, since Azure Database for PostgreSQL flexible server and managed disks cannot be protected by Azure Backup
    • D. In a Backup vault, since newer workloads such as Azure Database for PostgreSQL and Disk backup use Backup vaults rather than Recovery Services vaults
    Show answer & explanation

    Answer: D
    Azure Backup uses Backup vaults for newer workloads such as Azure Blob, Azure Database for PostgreSQL flexible server, and Azure Disk backup, which are distinct from the Recovery Services vault used for VMs, SQL Server in a VM, SAP HANA in a VM, and Azure Files, so the PostgreSQL and disk backups belong in a Backup vault rather than the existing Recovery Services vault. A single Recovery Services vault does not support every workload type Azure Backup offers; newer datasource types specifically require a Backup vault instead. Recovery Services vaults have not been retired and continue to be used for their supported workloads like VMs and SQL Server in a VM; the reason PostgreSQL and disks go elsewhere is workload-type routing, not deprecation of Recovery Services vaults. Both Azure Database for PostgreSQL flexible server and managed disks are explicitly supported Azure Backup datasource types, just through the Backup vault rather than a Recovery Services vault.

  12. 56. A backup administrator configures a policy that keeps daily recovery points for 30 days, weekly points for 12 weeks, monthly points for 12 months, and yearly points for 7 years, all within one Azure Backup policy. What is this layered retention structure called?

    • A. Retention tiers within a single backup policy, applying different retention lengths to daily, weekly, monthly, and yearly recovery points
    • B. Instant restore, described as the specific feature name for defining daily, weekly, monthly, and yearly retention lengths
    • C. Soft delete, described as the feature that lets a single backup policy define different retention periods per recovery point type by default
    • D. Cross Region Restore, described as the feature that structures a policy's daily, weekly, monthly, and yearly retention settings
    Show answer & explanation

    Answer: A
    Azure Backup policies support layered retention tiers so that within one policy, daily, weekly, monthly, and yearly recovery points can each be kept for a different configured length of time, which is exactly the structure described. Instant restore refers to a short-term, snapshot-based capability that enables fast restores without immediately moving data to the vault; it is a distinct mechanism from the long-term daily/weekly/monthly/yearly retention tier structure of the policy. Soft delete protects backup data from accidental or malicious deletion by retaining it recoverably for a period after a delete request; it is not the feature that defines differentiated retention lengths per recovery point cadence. Cross Region Restore allows restoring from a secondary region's replicated recovery points; it does not define or structure the daily/weekly/monthly/yearly retention tiers within a policy.

  13. 57. Replication for an Azure Site Recovery-protected VM begins falling significantly behind its configured recovery point objective, and the team wants to be proactively notified rather than discovering this only when a failover is attempted. What should they configure?

    • A. A resource lock of type CanNotDelete on the replicated VM, which alerts on RPO breaches as a side effect
    • B. Site Recovery alerts and notifications, configured to trigger when replication health or RPO thresholds are breached
    • C. Blob lifecycle management, which is the mechanism that monitors Site Recovery replication health
    • D. A stored access policy, which reports RPO breaches for protected items in a recovery plan
    Show answer & explanation

    Answer: B
    Azure Site Recovery provides built-in alerting and notification capability tied to replication health and RPO thresholds, so the team can configure alerts that fire proactively when replication falls behind its target objective, rather than discovering the gap only during an actual failover attempt. A resource lock only controls whether the VM resource can be deleted or modified via Resource Manager; it has no monitoring or alerting relationship to replication health or RPO. Blob lifecycle management governs tiering and expiration of blob data in a storage account; it has no connection to Site Recovery replication monitoring. A stored access policy defines shared SAS constraints for blob or file access; it has no role in reporting on Site Recovery replication health or RPO status.

  14. 58. Before performing an actual failover of a Site Recovery-protected application to the secondary region, the team wants to validate that the failed-over VMs boot and function correctly, without impacting ongoing replication or affecting the production environment. What should they perform?

    • A. An unplanned failover, which is specifically described as designed to validate recovery without affecting production replication
    • B. A planned failover, which always runs in an isolated, non-disruptive test network by default
    • C. A test failover, which runs the recovery plan in an isolated network without disrupting ongoing replication or production
    • D. A resource lock of type ReadOnly, applied to simulate a non-disruptive failover test
    Show answer & explanation

    Answer: C
    A test failover creates and runs the recovery plan in an isolated network that does not interfere with ongoing replication or the live production environment, which is precisely the safe, non-disruptive validation exercise the team wants to perform before a real failover. An unplanned failover is used for actual disaster scenarios (such as an unexpected outage) and does affect the live environment and ongoing replication; it is not a validation-only exercise. A planned failover is used for expected, orchestrated failovers such as scheduled maintenance and does involve the real environment and typically requires stopping the source VMs, rather than running in an isolated test network by default. A resource lock only prevents deletion or modification of the locked resource via Resource Manager; it has no capability to simulate or perform a failover of any kind.

Implement and manage virtual networking

19 questions
  1. 59. A VM cannot be reached on port 22 for SSH, and NSGs exist at both the subnet and NIC level with several rules each. Rather than manually tracing every rule in both NSGs by hand, the administrator wants Azure to compute and display the single combined outcome for that VM's network interface. What should be used?

    • A. IP flow verify, described as displaying the full combined subnet- and NIC-level ruleset as a static, browsable list on demand
    • B. Connection Monitor, described as the feature that computes and displays a NIC's effective, combined NSG ruleset over time
    • C. The effective security rules view for the network interface, which aggregates subnet- and NIC-level NSG rules into the combined result
    • D. NSG flow logs, described as showing the final combined allow/deny outcome for a NIC without ever needing to test any specific traffic at all
    Show answer & explanation

    Answer: C
    The effective security rules feature evaluates every NSG applied at both the subnet and the NIC for a given network interface and presents the combined, prioritized ruleset that actually governs its traffic, exactly the aggregated view the administrator wants instead of manually cross-referencing two rule sets. IP flow verify answers whether one specific described packet (a given source, destination, port, and protocol) would be allowed or denied; it is a targeted test of one flow, not a static aggregated listing of every effective rule on the NIC. Connection Monitor performs ongoing, scheduled reachability and latency checks between endpoints; it does not compute or display a NIC's combined NSG rule set. NSG flow logs record which individual rule matched each observed traffic flow over time; they show outcomes for actual traffic that occurred, not a precomputed, complete combined rule listing for the NIC independent of any specific traffic.

  2. 60. A company has VMs in VNet-A (10.0.0.0/16) in East US and VNet-B (10.1.0.0/16) in West Europe that need to communicate using private IP addresses with low latency, without traversing the public internet. What should be configured?

    • A. Global virtual network peering between VNet-A and VNet-B
    • B. A site-to-site VPN using public internet-facing endpoints
    • C. Two separate NAT gateways, one in each VNet
    • D. Public IP addresses assigned directly to each VM with NSG rules allowing the peer's IP
    Show answer & explanation

    Answer: A
    Global VNet peering connects VNets across regions using the Microsoft backbone network, enabling low-latency private IP communication without traversing the public internet, which is exactly what's needed here. A site-to-site VPN, while it can connect networks, typically uses IPsec tunnels over the public internet (or ExpressRoute) and is more commonly used for on-premises-to-Azure connectivity, adding unnecessary encryption/tunneling overhead compared to native peering for VNet-to-VNet in the same cloud. NAT gateways provide outbound internet connectivity for private resources; they do not establish private connectivity between two VNets. Assigning public IPs to VMs and exposing them via NSG rules routes traffic over the public internet and increases the attack surface, which conflicts with the requirement to avoid the public internet.

  3. 61. Name resolution is required between resources in a virtual network using custom hostnames. What provides this?

    • A. A public DNS zone containing records that point at the internal private IP addresses directly
    • B. Manually editing the hosts file entry by entry on every single virtual machine each time a record changes
    • C. A private DNS zone linked to the virtual network, providing resolution without exposing records publicly
    • D. A network security group rule that simply permits outbound DNS traffic on port 53 to pass
    Show answer & explanation

    Answer: C
    Private DNS zones resolve names within linked virtual networks and can register records automatically, keeping internal topology unpublished. C is correct. A is wrong because publishing private addresses in a public zone discloses internal network structure to anyone who queries it. B is wrong because maintaining hosts files by hand does not scale and drifts out of date immediately as addresses change. D is wrong because permitting DNS traffic through an NSG only allows queries to reach a resolver; it creates no records and provides no custom hostname resolution by itself.

  4. 62. A company needs its Azure VMs to resolve custom internal hostnames (e.g., app1.corp.internal) that are not registered in public DNS, consistently across multiple VNets. What should be implemented?

    • A. The default Azure-provided DNS with no zone configuration
    • B. A public DNS zone with records set to 'private' visibility
    • C. An Azure Private DNS zone linked to the relevant virtual networks
    • D. An NSG rule permitting port 53 outbound
    Show answer & explanation

    Answer: C
    Azure Private DNS zones allow custom domain names to be resolved within linked virtual networks without exposing those records to the public internet, and the same zone can be linked to multiple VNets for consistent internal name resolution. The default Azure-provided DNS only resolves Azure-internal hostnames automatically assigned to resources; it does not support custom private domain names like corp.internal. Public DNS zones are designed for internet-facing name resolution; there isn't a 'private visibility' toggle that turns a public zone into an internal-only one — that is what Private DNS zones are for. Simply opening port 53 outbound via an NSG rule does not create or host any DNS records; it only permits DNS traffic to flow, which is unrelated to actually defining the custom names.

  5. 63. VNet-A is peered with VNet-B, and VNet-B is separately peered with VNet-C. A VM in VNet-A tries to reach a VM in VNet-C using its private IP address. What happens by default?

    • A. The connection succeeds automatically, because VNet peering is transitive across any number of hops by default
    • B. The connection succeeds only if both peerings were created on the same calendar day
    • C. The connection fails, because VNet peering is non-transitive and does not automatically chain through VNet-B
    • D. The connection fails only if VNet-B has a network security group applied to any of its subnets
    Show answer & explanation

    Answer: C
    VNet peering is explicitly non-transitive: a direct peering only connects the two VNets it was created between, so VNet-A having no direct peering with VNet-C means traffic does not automatically flow through VNet-B, and reaching VNet-C from VNet-A would require either a direct peering between them or a routing/NVA-based hub-and-spoke design. Peering is not transitive regardless of how many hops separate the VNets; each pair needs its own explicit peering relationship for direct connectivity. The date peerings were created has no bearing on whether traffic can transit through an intermediate VNet; transitivity is an architectural property of peering, not a time-based one. An NSG in VNet-B could additionally block traffic, but the connection already fails by default due to non-transitivity even before considering whether any NSG rules exist.

  6. 64. A Standard Load Balancer's backend pool has four VMs, but health probes report one of them as unhealthy due to a failed application dependency, even though the VM itself is still running. What happens to new connections directed at the load balancer's frontend?

    • A. The load balancer continues sending an equal share of new connections to all four instances regardless of probe results
    • B. The load balancer takes the entire frontend offline until every backend instance reports healthy again
    • C. The unhealthy instance is automatically deleted and replaced by the load balancer without administrator action
    • D. The load balancer stops sending new connections to the unhealthy instance and distributes them only among the three healthy instances
    Show answer & explanation

    Answer: D
    Health probes continuously check each backend instance, and the load balancer removes instances that fail the probe from the pool of eligible targets for new connections, distributing new traffic only among instances currently reporting healthy, which keeps the application available despite one failing instance. The load balancer does not ignore probe results; instances failing the probe are specifically excluded from receiving new connections, so an equal four-way split regardless of health status is incorrect. A single unhealthy backend instance does not take the entire frontend offline; the load balancer continues serving traffic through the remaining healthy instances. A Standard Load Balancer does not delete or replace VM instances itself; that kind of self-healing behavior belongs to constructs like a Virtual Machine Scale Set's instance repair policy, not the load balancer.

  7. 65. A three-tier application has many VMs across two subnets, and the team wants NSG rules to reference 'WebTier' and 'DataTier' as logical groups rather than maintaining lists of individual IP addresses as VMs are added or removed. What should be used?

    • A. Network security groups applied only at the subnet level, which group VMs logically by name automatically
    • B. Application security groups, referenced inside NSG rules instead of explicit IP address ranges
    • C. Route tables, which allow NSG rules to reference named VM groups instead of IP ranges
    • D. Availability sets, since VMs in the same availability set are automatically grouped in NSG rules by name
    Show answer & explanation

    Answer: B
    Application security groups let administrators group VM network interfaces under a logical name, such as WebTier or DataTier, and reference that group directly in NSG rules, so the rule's meaning stays correct automatically as VMs are added to or removed from the group, without hand-maintained IP lists. NSGs applied at the subnet level still filter by IP-based rules unless application security groups are used within them; subnet-level application alone does not create logical, name-based grouping. Route tables control next-hop routing for traffic and have no concept of referencing named security groups inside NSG rules. Availability sets are a compute placement construct for fault and update domain distribution; VM membership in one has no automatic effect on NSG rule grouping.

  8. 66. An administrator is provisioning a VpnGw2AZ zone-redundant gateway SKU and needs to size the GatewaySubnet appropriately, planning some headroom for possible future coexistence configurations. What subnet size should be used?

    • A. /29, which is the recommended size for every VPN gateway SKU including VpnGw2AZ
    • B. /24 exactly, since Azure requires this precise size for all zone-redundant gateway SKUs
    • C. /27 or larger, since only the Basic SKU supports a gateway subnet as small as /29
    • D. Any size is acceptable, since GatewaySubnet has no minimum size requirement for non-Basic SKUs
    Show answer & explanation

    Answer: C
    Microsoft documents that while a gateway subnet as small as /29 is possible, that minimum applies only to the Basic SKU, and all other gateway SKUs, including VpnGw2AZ, require a gateway subnet of /27 or larger, with a larger size recommended to leave room for future configurations such as ExpressRoute coexistence. A /29 subnet is only sufficient for the Basic SKU; using it for VpnGw2AZ would not meet the documented minimum for that SKU. Azure does not mandate an exact /24 size for zone-redundant SKUs; /27 or larger is the requirement, and /24 is simply one valid larger option, not a mandated exact size. GatewaySubnet does have documented minimum size requirements tied to the SKU in use; it is not unconstrained for non-Basic SKUs.

  9. 67. A company already has a policy-based VPN gateway using the Basic SKU and now needs point-to-site VPN support, which requires a route-based gateway. What must they do?

    • A. Change the existing gateway's VPN type from policy-based to route-based directly in its settings
    • B. Enable point-to-site on the existing policy-based gateway without any type change, since the Basic SKU is documented to support both simultaneously
    • C. Upgrade the gateway's SKU only, which automatically converts it from policy-based to route-based
    • D. Delete the existing policy-based gateway and create a new route-based gateway, since a policy-based gateway cannot be converted in place
    Show answer & explanation

    Answer: D
    Policy-based and route-based gateways are built on different underlying platforms, and Microsoft's own guidance is explicit that a policy-based gateway cannot be converted to route-based in place; the existing gateway must be deleted and a new route-based gateway created to get route-based capabilities like point-to-site. There is no in-place settings toggle that converts the VPN type from policy-based to route-based; the platform difference means a new gateway resource is required. Point-to-site VPN specifically requires a route-based gateway, so enabling it on an unconverted policy-based gateway is not supported regardless of SKU. Changing the SKU alone does not change the underlying VPN type; SKU and VPN type (policy-based versus route-based) are separate settings, and no SKU change automatically performs the conversion.

  10. 68. A company has 200 remote employees working from home, each needing individual, on-demand VPN connectivity into an Azure VNet from their own laptop, rather than a fixed network-to-network tunnel. Which VPN Gateway connection type fits this?

    • A. Point-to-Site (P2S), letting each individual client establish its own VPN connection to the VNet
    • B. Site-to-Site (S2S), which connects individual laptops directly using each device's own public IP as a site
    • C. VNet-to-VNet, which connects an individual remote laptop to a VNet the same way it connects two VNets
    • D. ExpressRoute, which is designed for connecting individual remote laptops over a private circuit
    Show answer & explanation

    Answer: A
    Point-to-Site VPN is designed exactly for this scenario: individual client devices establish their own VPN connection into a virtual network on demand, without requiring a dedicated on-premises VPN device or fixed site-to-site tunnel, which fits 200 individually connecting home laptops. Site-to-Site VPN connects an entire on-premises network (behind a VPN device with a stable public IP) to a VNet as a persistent network-to-network tunnel; it is not designed for individual roaming laptops each acting as their own site. VNet-to-VNet connects two Azure virtual networks to each other using gateway-to-gateway connections; it has no role in connecting an individual client device to a VNet. ExpressRoute provides a private, dedicated circuit between on-premises infrastructure and Azure via a connectivity provider; it is not used for ad hoc individual client connections from home laptops.

  11. 69. A team provisions a new public IP address for a VM and wants it to support being placed in a specific availability zone and to have no inbound traffic allowed by default until an NSG explicitly permits it. Which public IP SKU meets both expectations?

    • A. Basic SKU, which supports zonal deployment and is documented to be secure by default in exactly the same way Standard is
    • B. Standard SKU, which supports zonal deployment and is secure by default, requiring an explicit NSG rule to allow inbound traffic
    • C. Basic SKU, described as the only public IP SKU that allows inbound traffic by default without any NSG configuration needed at all
    • D. Standard SKU, described as permitting all inbound traffic by default unless an NSG rule explicitly blocks it first
    Show answer & explanation

    Answer: B
    The Standard public IP SKU supports availability zone placement and is secure by default, meaning inbound traffic must be explicitly allowed by an associated NSG rather than being open by default, matching both stated requirements. Basic SKU does not support the same zonal guarantees as Standard and is not secure by default in the same way; it is also being retired in favor of Standard. Basic SKU is not the one associated with default openness in a way that matters here, and it lacks the zonal support requested regardless. Standard SKU is documented as secure by default, requiring explicit NSG permission for inbound traffic, which is the opposite of allowing all inbound traffic unless explicitly blocked.

  12. 70. A global retail company wants HTTP/HTTPS traffic for its web app routed to the origin currently under 30 ms network latency from the user's Front Door edge, and if two origins tie within that range, traffic should split according to configured weight values. Which Front Door routing method matches this behavior?

    • A. Priority routing, which is the method that applies weights whenever two origins have equal registered priority
    • B. Weighted routing exclusively, which ignores origin latency entirely when selecting an origin
    • C. Latency routing, with the latency sensitivity threshold set so weights break ties among origins within range
    • D. Session affinity routing, which selects an origin purely based on measured network latency to each origin
    Show answer & explanation

    Answer: C
    Front Door's Latency routing method selects origins within an acceptable latency sensitivity range of the fastest measured origin and then, if origins tie within that range, applies each origin's configured weight to split traffic between them, exactly matching the tie-breaking behavior described. Priority routing selects the highest-priority healthy origin as primary and only falls to a lower priority origin if the higher one is unavailable; it is not the mechanism that applies weights to origins tied on latency. Weighted routing alone distributes traffic purely by weight, without first narrowing the candidate origins by a latency sensitivity range, which is not what is described here. Session affinity keeps a given user's subsequent requests on the same origin they were first routed to; it is not itself a routing method based on measured latency to select the initial origin.

  13. 71. A company needs to publish an application to users worldwide with HTTP-layer routing, edge caching, and a web application firewall, while a separate internal team needs simple DNS-based routing across two independently managed cloud endpoints with no Azure-side traffic inspection. Which two services fit these respective needs?

    • A. Azure Traffic Manager for the global HTTP application, and Azure Front Door for the DNS-based routing
    • B. Azure Front Door for both scenarios, since it also performs DNS-only routing with no HTTP inspection
    • C. Azure Load Balancer for both scenarios, since it operates globally across independently managed endpoints
    • D. Azure Front Door for the global HTTP application, and Azure Traffic Manager for the DNS-based multi-endpoint routing
    Show answer & explanation

    Answer: D
    Azure Front Door is a global, layer-7 service offering HTTP/HTTPS routing, edge caching, and web application firewall capabilities, suiting the public-facing application, while Azure Traffic Manager works purely at the DNS level to direct clients to one of several endpoints without inspecting or proxying the actual traffic, suiting the internal, endpoint-agnostic DNS routing need. Swapping the two reverses their actual capabilities: Traffic Manager has no edge caching, WAF, or HTTP-layer routing, and Front Door does inspect and proxy traffic rather than being a pure DNS mechanism. Front Door operates as an HTTP-aware reverse proxy, not a DNS-only mechanism, so it does not fit a scenario explicitly requiring no Azure-side traffic inspection. Azure Load Balancer operates within a single region at layer 4 for backend pools in one VNet; it is not a global, cross-cloud DNS or HTTP routing service for independently managed endpoints.

  14. 72. A team migrates a subnet's VMs from relying on Azure's default outbound access to an explicit NAT gateway for outbound internet connectivity, while a Standard Load Balancer with outbound rules is also still attached to the same subnet. Which outbound path do new connections use?

    • A. The NAT gateway, since it takes precedence over load balancer outbound rules and other explicit outbound methods for new connections
    • B. The load balancer's outbound rules, which are documented to always take precedence over an attached NAT gateway resource
    • C. Default outbound access, which is documented to remain the highest-precedence outbound path even after a NAT gateway is fully attached
    • D. Whichever outbound path happens to have been configured first chronologically, regardless of which methods are attached now
    Show answer & explanation

    Answer: A
    Azure NAT Gateway explicitly takes precedence over other outbound connectivity methods, including a load balancer's outbound rules, instance-level public IPs, and default outbound access, for all new connections once it is attached to a subnet, so new flows use the NAT gateway. Load balancer outbound rules are documented as being superseded by an attached NAT gateway for new connections, not the other way around. Default outbound access is the lowest-precedence, implicit fallback and is overridden by any explicit outbound method, including a NAT gateway, once one is configured. Precedence among outbound methods is determined by which explicit methods are attached and Azure's documented precedence order, not by which was configured chronologically first.

  15. 73. A regulated company needs all outbound traffic from a subnet to be inspected by a network virtual appliance before reaching the internet, overriding the subnet's normal default route to the internet. What should be configured?

    • A. A system route, since the built-in default system route already forces all traffic through an NVA automatically
    • B. A user-defined route sending 0.0.0.0/0 traffic to the network virtual appliance's private IP as the next hop
    • C. A network security group rule denying direct internet access, which alone reroutes traffic through the NVA
    • D. A service endpoint for the NVA's subnet, which forces 0.0.0.0/0 traffic through it
    Show answer & explanation

    Answer: B
    A user-defined route (UDR) that targets the 0.0.0.0/0 address prefix with the NVA's private IP address as the next hop overrides the subnet's default system route to the internet, forcing all outbound traffic through the appliance for inspection, which is the standard forced-tunneling pattern. The built-in system default route sends traffic with destination 0.0.0.0/0 directly to the internet; it does not route through an NVA unless a UDR explicitly overrides it. An NSG rule can block or allow traffic based on rules, but it cannot redirect traffic to a different next hop; only routing constructs like UDRs control the path traffic takes. Service endpoints optimize and secure routing to specific Azure PaaS services over the Microsoft backbone; they do not implement general-purpose forced tunneling of all outbound traffic through an NVA.

  16. 74. An organization deploying Azure Bastion wants to use custom RDP/SSH ports, the native client experience, and shareable links for users without direct Azure portal access. Which Bastion SKU tier is the minimum required?

    • A. Basic SKU, which already includes custom ports, native client support, and shareable links
    • B. Basic SKU, since these features are available on every Bastion SKU including Basic
    • C. Standard SKU, since custom ports, native client support, and shareable links all require Standard or higher
    • D. Developer SKU, which is documented as the recommended tier specifically because it includes all of the premium feature set
    Show answer & explanation

    Answer: C
    Custom port configuration, native client support, and the shareable link feature are all documented as requiring the Standard SKU or higher; the Basic SKU does not include them. Basic SKU is the entry-level tier and explicitly lacks custom ports, native client connectivity, and shareable links, so it does not meet the stated requirements. Because these are Standard-and-above features, they are not available on every SKU including Basic, contradicting that claim directly. The Developer SKU is a lightweight, browser-only offering intended for individual quick access scenarios and does not carry the full premium feature set (like shareable links or session recording) the way Standard or Premium tiers do.

  17. 75. An NSG rule needs to allow inbound HTTPS traffic from three separate application security groups and two specific IP ranges to two different destination ports, all in a single rule rather than creating many nearly identical rules. What NSG capability supports this?

    • A. Effective security rules, described as an authoring feature for writing rules with multiple sources and destinations in one entry
    • B. Augmented security rules, which allow multiple source/destination prefixes, ports, and application security groups within one rule
    • C. Service tags used alone, described as allowing multiple ports and multiple application security groups within a single rule
    • D. Basic (classic) security rules, which support the exact same multi-value source, destination, and port lists as augmented rules do
    Show answer & explanation

    Answer: B
    Augmented security rules let a single NSG rule specify multiple source and destination IP prefixes, multiple ports or port ranges, and multiple application security groups together, collapsing what would otherwise require many near-duplicate rules into one, matching the scenario exactly. Classic (non-augmented) rules are limited to a single source prefix, destination prefix, and port per rule, so they do not support combining three application security groups, two IP ranges, and two ports in one entry. Effective security rules is a reporting view that shows the combined result of NSGs applied at subnet and NIC level for a given VM; it is not an authoring capability for writing rules with multiple values. Service tags represent a predefined group of IP prefixes for an Azure service, such as Storage or Sql; a service tag alone does not provide the ability to combine multiple ports and multiple application security groups in a single rule.

  18. 76. A company registers contoso.com with Azure DNS and needs internet resolvers worldwide to correctly resolve records in that zone. What must be configured at the domain registrar for this to work?

    • A. The registrar's NS records for contoso.com updated to point to the name servers assigned by the Azure DNS public zone
    • B. Nothing at all needs to change at the registrar; Azure DNS public zones resolve globally with no registrar-side configuration
    • C. An A record created at the registrar that points contoso.com directly at the Azure DNS zone's Azure resource ID string
    • D. A private DNS zone virtual network link configured at the registrar, replacing the need for any NS record delegation
    Show answer & explanation

    Answer: A
    When an Azure DNS public zone is created, Azure assigns a set of name servers, and the domain must be delegated to Azure DNS by updating the NS records at the domain registrar to those assigned name servers, which is what allows global resolvers to find and query the zone. Registrar-side delegation is required; without updating the NS records at the registrar, global resolvers have no way to know that Azure DNS is authoritative for the domain. An A record maps a name to an IPv4 address and is not how delegation to a different DNS zone/name server set is configured; delegation is done via NS records, not a resource-ID-based A record. Private DNS zones are for name resolution within linked virtual networks and have no registrar delegation mechanism at all, since they are not intended to be resolvable from the public internet.

  19. 77. A team is deciding between a service endpoint and a private endpoint for restricting a subnet's access to an Azure SQL Database. They specifically need the database to be reachable using a private IP address from within the VNet, rather than merely restricting which subnets may use the service's public IP. Which should they choose, and why?

    • A. A service endpoint, described as assigning the PaaS service a private VNet IP address in exactly the same documented way a private endpoint is described to work
    • B. A private endpoint, since it assigns the PaaS service a private IP address inside the VNet, unlike a service endpoint which keeps the service on its public IP
    • C. Either option works equally well for this purpose, since a service endpoint and a private endpoint are documented to assign the same private IP
    • D. A private endpoint, chosen here only because it happens to be cheaper than a service endpoint, with no real IP-addressing difference between the two
    Show answer & explanation

    Answer: B
    A private endpoint provisions a network interface with a private IP address from the VNet's address space for the PaaS resource, letting it be reached over a private IP, while a service endpoint instead optimizes routing and restricts access over the service's existing public IP to only the selected subnets, without giving the service a private VNet address. A service endpoint explicitly does not give the PaaS service a private IP; it keeps traffic on the service's public endpoint while tightening which subnets can reach it, the opposite of what's claimed. The two mechanisms behave differently with respect to private IP addressing, so they are not functionally equivalent for this specific requirement. The distinguishing factor relevant to this scenario is the private-IP-addressing capability, not relative cost, and cost is not the reason a private endpoint is required here.

Manage Azure identities and governance

23 questions
  1. 78. Two partner organizations want their users to access each other's Microsoft Entra-secured applications without going through individual guest invitations for every person, and with mutual trust settings that both tenants control. What should be configured?

    • A. Cross-tenant access settings establishing a mutual B2B collaboration or B2B direct connect trust between the two tenants
    • B. Manually inviting every user from both organizations as an individual guest, one invitation sent at a time by hand
    • C. Merging both organizations into a single shared Microsoft Entra tenant that everyone signs in to going forward
    • D. Assigning both organizations' users the Global Administrator role directly inside each other's Microsoft Entra tenant permanently
    Show answer & explanation

    Answer: A
    Cross-tenant access settings let two Microsoft Entra tenants define organization-level trust and collaboration defaults, including B2B direct connect for seamless access without individual invitations, which is the intended mechanism for ongoing, mutually governed access between partner organizations. Inviting each user individually as a guest is the standard B2B flow for smaller-scale, ad hoc collaboration, but it does not scale to an organization-wide trust relationship and still requires per-person invitations. Granting Global Administrator in each other's tenant is a severe overprivilege that has nothing to do with establishing collaborative trust and would violate least-privilege principles. Merging into a single shared tenant is a drastic identity consolidation, not a form of cross-tenant collaboration, and is not what was requested.

  2. 79. A tenant administrator wants to prevent regular members from inviting external users into the Microsoft Entra tenant, while still allowing a small Partnerships team to send guest invitations. Where is this configured?

    • A. Conditional access, blocking every external identity provider for all users regardless of department
    • B. A resource lock of type ReadOnly applied to the tenant root management group to stop external invitations
    • C. External collaboration settings, restricting guest invitations to specific roles or a designated group
    • D. Azure Policy with a deny effect targeting the Microsoft.Authorization/roleAssignments resource type
    Show answer & explanation

    Answer: C
    External collaboration settings control who in the tenant is allowed to invite B2B guest users, and can be restricted to admins and users in specific roles, or to members of a designated group such as Partnerships, which matches the requirement precisely. Conditional access governs sign-in conditions for identities that already exist and does not control who is authorized to send an invitation. A ReadOnly management group lock only blocks changes to Azure resource configuration, not directory invitation permissions. A Policy deny effect on role assignments blocks RBAC changes on Azure resources and has no bearing on Entra ID guest invitations.

  3. 80. A finance team wants an automatic email sent to the subscription owner as soon as spending reaches 80 percent of a defined monthly amount, before the month's spending is finalized. What should be configured?

    • A. An Azure Advisor cost recommendation, which emails the owner automatically once a fixed spending threshold is crossed
    • B. A resource lock of type CanNotDelete placed on the subscription itself to stop any further spending from accruing
    • C. Azure Policy with an audit effect targeting any resource whose list price exceeds a configured dollar amount
    • D. A budget in Cost Management with an alert condition set at 80 percent, tied to an action group or recipient email
    Show answer & explanation

    Answer: D
    Cost Management budgets let an administrator define a spending amount and one or more percentage-based alert conditions, such as 80 percent, that trigger an email notification (optionally through an action group) as soon as the threshold is crossed, which is exactly the proactive alerting requested. Azure Advisor generates best-practice and cost-optimization recommendations for review; it does not send threshold-crossing alerts tied to a specific budget amount. A CanNotDelete lock only prevents resource deletion; it does not track spending or stop new charges from accruing. Azure Policy audits resource configuration against rules; it has no native concept of a monthly spending threshold or budget alert.

  4. 81. A university wants an IT coordinator to manage passwords and licenses only for users in the Engineering department, without granting rights over the rest of the Microsoft Entra tenant. Which feature scopes this delegation?

    • A. An administrative unit containing the Engineering users, with a scoped role assigned over that unit
    • B. A dynamic security group with a Contributor role assigned at the subscription scope
    • C. The Global Administrator role, since department-level scoping is documented as being configured separately per individual user
    • D. A management group containing only the Engineering department's Azure subscriptions
    Show answer & explanation

    Answer: A
    Administrative units restrict a directory role, such as Helpdesk Administrator or User Administrator, to a defined subset of users or groups, which is exactly the department-scoped delegation requested. A dynamic group with a subscription-level Contributor role controls Azure resource management, not Entra ID user and license administration, and does not scope directory roles. Global Administrator has no per-department scoping option and would grant tenant-wide control, far exceeding the requirement. Management groups organize Azure subscriptions for governance and have no relationship to Microsoft Entra directory role delegation over users.

  5. 82. A company assigns Microsoft 365 E3 licenses to 400 employees and wants new hires added to the Marketing group to be licensed automatically, with the license removed automatically if they leave the group. What should be configured?

    • A. A conditional access policy that automatically grants a Microsoft 365 license once a user completes MFA and enrolls a compliant device
    • B. Group-based licensing, assigning the license product directly to the Marketing group in Microsoft Entra ID
    • C. An Azure Policy assignment with a modify effect, scoped to the Marketing team's Azure resource group
    • D. A scheduled PowerShell runbook that reassigns licenses to the Marketing group once per fiscal quarter
    Show answer & explanation

    Answer: B
    Group-based licensing lets an administrator assign a license product to a security group, so Microsoft Entra ID automatically licenses members added to the group and removes the license when they are removed, matching the automatic add and remove requirement exactly. Conditional access policies control sign-in requirements such as MFA and have no mechanism to assign product licenses. Azure Policy governs Azure resource compliance and deployment, not Microsoft 365 or Entra ID license assignment. A quarterly script would not react to membership changes in real time and defeats the automatic requirement.

  6. 83. Self-service password reset is enabled for all users, but the security team wants users to prove control of two different registered methods before a reset is accepted, rather than just one. What should be changed?

    • A. The tenant's password expiration policy, extending the maximum password age
    • B. The Conditional Access sign-in frequency setting for the SSPR portal
    • C. The SSPR authentication methods policy's number of methods required to reset a password, raised from one to two
    • D. The number of methods a user must register, since that configured value alone also controls reset-time verification by itself
    Show answer & explanation

    Answer: C
    The SSPR policy separately configures how many authentication methods a user must register and how many of those registered methods must be verified at the moment of reset, so raising the reset-time requirement to two methods forces a stronger check without touching registration. Registration count only determines how many methods are on file; it does not by itself change how many are challenged during an actual reset unless the reset requirement is also raised. Password expiration controls how often a password must change, not how a reset is authenticated. Sign-in frequency affects how often Conditional Access re-prompts for authentication to an application, not the SSPR verification requirement itself.

  7. 84. An IT team needs to update the department and office location attributes for 3,000 Microsoft Entra ID user accounts in one operation, sourced from an HR export. What is the appropriate approach?

    • A. Create a new administrative unit for each department and rename it to match the HR export's labels
    • B. Apply an Azure Policy definition targeting Microsoft.Compute virtual machine resources with a modify effect on each one
    • C. Edit each of the 3,000 user profiles individually through the Azure portal, one attribute at a time
    • D. Bulk import the changes using a CSV template through the Microsoft Entra admin center or Microsoft Graph PowerShell
    Show answer & explanation

    Answer: D
    Bulk operations import a CSV file of user attribute changes and apply them in one pass, which is the supported, auditable way to update thousands of accounts from an HR export. Editing 3,000 profiles individually in the portal is not a reasonable bulk method and multiplies the chance of manual error. Azure Policy with a modify effect operates on Azure Resource Manager resources like virtual machines and storage accounts, not on Microsoft Entra ID user object attributes. Renaming administrative units changes a container's display name, not the department or office attributes stored on user objects.

  8. 85. A contractor needs Contributor-equivalent access to a single storage account, and nothing else in the resource group that contains it. What RBAC scope should the role assignment target?

    • A. The resource group containing the storage account, since Azure cannot assign roles below that level
    • B. The storage account resource itself, rather than the resource group or subscription
    • C. The subscription, with a condition manually restricting it afterward in the portal
    • D. The tenant root management group, since roles always inherit downward regardless of the assignment point
    Show answer & explanation

    Answer: B
    Azure RBAC supports assigning a role at the individual resource scope, and doing so grants access to only that resource, which is the narrowest and correct scope for a contractor who should touch nothing else in the resource group. Assigning at the resource group would grant Contributor over every resource in that group, exceeding the stated need. Azure has no built-in mechanism to retroactively narrow a subscription-scoped assignment down to one resource after the fact; the scope must be chosen correctly when the assignment is created. Assigning at the tenant root management group is the broadest possible scope and would cascade far beyond a single storage account, the opposite of least privilege.

  9. 86. A compliance team must apply a bundle of 12 related Azure Policy definitions covering encryption, network access, and logging for ISO 27001 in one assignment, and track combined compliance as a single percentage. What should they use?

    • A. 12 separate policy assignments, each evaluated and tracked individually with no combined compliance score
    • B. A single custom RBAC role listing all 12 ISO 27001 requirements as NotActions on the subscription
    • C. A policy initiative (policy set definition) that groups the 12 definitions and is assigned as one unit
    • D. A resource lock of type CanNotDelete applied individually to every resource in scope of the 12 rules
    Show answer & explanation

    Answer: C
    A policy initiative bundles multiple individual policy definitions into a single assignable set and reports one combined compliance percentage across all of them, matching the requirement for grouped tracking against a standard like ISO 27001. Assigning 12 policies separately works technically but produces 12 separate compliance results rather than the single combined score requested. A custom RBAC role controls who can perform which management actions and has no concept of policy compliance evaluation. A CanNotDelete lock only prevents deletion of resources; it does not evaluate configuration against encryption, network, or logging requirements.

  10. 87. A team wants new storage accounts to always have HTTPS-only traffic enabled, automatically fixing the setting at creation time rather than merely blocking non-compliant deployments. Which Azure Policy effect fits this?

    • A. deny, which blocks the storage account deployment outright instead of correcting the property for the requester
    • B. audit, which only records a compliance flag on the resource without changing any property at all
    • C. disabled, which turns off evaluation of the policy assignment entirely across every scoped resource
    • D. modify, using a managed identity to set the required property during resource creation or update
    Show answer & explanation

    Answer: D
    The modify effect can add, update, or remove a specified property on a resource as it is created or updated, using a policy-assigned managed identity, which is exactly how an administrator would force HTTPS-only to be enabled automatically rather than just rejecting non-compliant requests. deny effects stop the deployment from happening at all if it violates the rule, which is not the same as silently fixing the property for the requester. audit effects only mark a resource as non-compliant in the compliance dashboard and take no corrective action. disabled effects turn off the policy rule entirely, which would evaluate and correct nothing.

  11. 88. An administrator wants to flag any virtual machine that is missing the required monitoring agent extension as non-compliant, without blocking the VM from being created. Which policy effect evaluates a related resource like this?

    • A. append, which adds a fixed field value to the request before it is submitted
    • B. auditIfNotExists, checking for the extension and marking the VM non-compliant if it is absent
    • C. deployIfNotExists without a remediation task, which corrects the resource immediately on its own
    • D. deny, which blocks VM creation until the extension is manually attached first
    Show answer & explanation

    Answer: B
    auditIfNotExists evaluates whether a related resource, such as a VM extension, exists and marks the parent resource as non-compliant if it does not, without preventing the original deployment, which matches the requirement to flag rather than block. append only inserts a specified field or value into the request body during creation; it does not check for a separate related resource like an extension. deny would stop VM creation entirely until the extension is present, which is explicitly not wanted here. deployIfNotExists can deploy a related resource to fix non-compliance, but it does not correct anything automatically without an associated remediation task providing the permissions and trigger to run it.

  12. 89. An enterprise's management group tree currently has five levels of custom groups below the tenant root, and an architect wants to add three more nested levels for finer departmental grouping. What constraint applies?

    • A. Up to three more levels can still be added, since Azure is documented to allow a maximum of eight total custom management group levels beneath the root
    • B. Only one more level can be added, since Azure supports a maximum of six levels of management groups beneath the root and subscription levels
    • C. There is no depth limit at all; management groups can be nested indefinitely as the organization's structure grows larger over time
    • D. No more levels can be added at all, since five is already documented as the maximum depth Azure allows for any management group hierarchy
    Show answer & explanation

    Answer: B
    Microsoft documents a management group hierarchy limit of six levels of depth, and that limit does not include the root level or the subscription level itself, so with five custom levels already in place, only one further level fits before the limit is reached. Azure does not support eight custom levels; the documented cap is six. The hierarchy is not unlimited in depth, unlike some other Azure grouping constructs. Five levels is not the maximum; up to six levels of custom management groups are supported before the limit is hit.

  13. 90. A governance team wants a CostCenter tag applied on a resource group to automatically appear on every resource created inside it going forward, without administrators having to remember to add the tag by hand each time. What accomplishes this?

    • A. Setting the tag directly on the subscription, which automatically propagates to child resource groups
    • B. Renaming the resource group to include the CostCenter value in its name
    • C. An Azure Policy assignment using the modify effect to inherit the tag from the resource group onto new resources
    • D. A resource lock of type ReadOnly on the resource group, which is documented to force child resources to match its tags automatically
    Show answer & explanation

    Answer: C
    Built-in policy definitions with the modify effect can inherit a tag value from a parent scope, such as a resource group, and apply it automatically to resources as they are created, removing the need for manual tagging. Tags set on a subscription do not automatically propagate down to resource groups or resources; each Azure Resource Manager object holds its own independent set of tags. Renaming the resource group changes only its display name, not the tags attached to the resources created inside it. A ReadOnly lock prevents changes to the locked resource group itself and has no effect on tagging of newly created child resources.

  14. 91. A subscription has several virtual machines that have shown less than 5 percent average CPU utilization for the past month, and the team wants Azure's own analysis to suggest more cost-effective sizes. Where should they look?

    • A. Azure Advisor's cost recommendations, which analyze usage and suggest resizing or shutting down underutilized VMs
    • B. The Activity log, filtered to show only virtual machine resize operations performed over the past calendar month for the team
    • C. Azure Policy compliance results for the subscription, filtered down to only the virtual machine resource type
    • D. A Recovery Services vault's backup job history, filtered to show only jobs from the affected virtual machines
    Show answer & explanation

    Answer: A
    Azure Advisor continuously analyzes resource utilization telemetry and surfaces cost recommendations such as resizing or shutting down virtual machines that are consistently underutilized, which is precisely the kind of proactive right-sizing guidance requested. The Activity log is an audit trail of control-plane operations that already happened; it does not analyze utilization or generate forward-looking suggestions. Policy compliance results show adherence to governance rules, not utilization-based cost recommendations. A Recovery Services vault's job history reports on backup and restore activity, unrelated to VM sizing or cost efficiency.

  15. 92. A company is acquired and must move an existing Azure subscription, along with all its resources, so that it is billed and administered under the acquiring company's Microsoft Entra tenant. What is required?

    • A. Simply moving each resource group to the target tenant's root management group using the standard move-resource operation, since that also works fine across two separate tenants
    • B. Transferring the subscription to the target Microsoft Entra tenant, then reviewing role assignments and service principals that do not automatically carry over
    • C. Nothing extra is required; subscriptions automatically follow whichever Microsoft Entra tenant last signed in to the Azure portal
    • D. Deleting the subscription entirely and asking the acquiring company to recreate identical resources under their own tenant from scratch
    Show answer & explanation

    Answer: B
    Changing a subscription's associated Microsoft Entra directory (transferring it to another tenant) keeps the subscription's resources intact, but role assignments, some resource-level Azure AD dependencies, and service principals tied to the original tenant do not automatically transfer and must be reviewed and recreated in the new tenant. A standard resource-group move operation works only within the same tenant hierarchy and cannot relocate a subscription to a different Microsoft Entra tenant. Subscriptions are explicitly bound to one Entra tenant at a time; they do not shift based on which account last signed in. Deleting and recreating every resource is unnecessarily destructive and risks data loss when a supported subscription transfer process exists.

  16. 93. A custom RBAC role needs to grant a user the ability to read and write blob data inside a storage account, not merely manage the storage account resource itself. Which part of the role definition must be used?

    • A. Actions alone, since Actions already cover both control-plane management of the storage account and the blob data stored inside it
    • B. AssignableScopes, since that property determines which data-plane operations a custom role is permitted to perform on blob content
    • C. DataActions, since actions on the data plane (like reading or writing blob content) are separate from control-plane Actions
    • D. NotActions, since granting a new permission in a custom role always requires listing it under the NotActions section instead
    Show answer & explanation

    Answer: C
    DataActions is the dedicated section of an RBAC role definition for permissions on the data plane, such as reading or writing blob content, which is distinct from Actions covering control-plane management of the storage account resource itself, so granting blob read/write requires listing the relevant Microsoft.Storage/storageAccounts/blobServices/containers/blobs DataActions. Actions alone governs control-plane operations like creating or configuring the storage account and does not extend to the data inside it. AssignableScopes only restricts where the role definition can be assigned, such as a particular subscription; it has no bearing on what operations are permitted. NotActions subtracts permissions from what Actions grants; listing something there removes access rather than granting it.

  17. 94. A managed application deployed from Azure Marketplace prevents the customer's own subscription administrators from modifying its internal resources, even though those administrators hold the Owner role on the subscription. What mechanism explains this?

    • A. A resource lock of type ReadOnly, manually applied by the customer's own subscription administrators after deployment
    • B. The Owner role's permissions on managed applications, which silently expire automatically 90 days after assignment
    • C. A custom RBAC role that automatically overrides the Owner role with fewer permissions inside every managed resource group
    • D. A deny assignment automatically created for the managed resource group, which blocks specified actions regardless of RBAC role assignments
    Show answer & explanation

    Answer: D
    Deny assignments, which Azure creates automatically for managed applications and some Blueprint-deployed resources, block specified actions on a scope even for principals who hold an Owner or Contributor role assignment there, which is how a vendor can protect a managed application's internals from the customer's own administrators. A ReadOnly lock is something administrators apply themselves and would not have been set up by the customer to restrict their own access unintentionally. RBAC role assignments do not expire automatically after 90 days by default; that is not how Owner permissions work. Custom roles do not silently override other role assignments; RBAC assignments are additive, and only an explicit deny assignment can block access that a role assignment would otherwise allow.

  18. 95. A company wants a team of five on-call engineers to be able to activate membership in a group that already holds Contributor rights on a subscription, with approval and automatic expiration, rather than granting each engineer a standing role assignment individually. What feature supports this?

    • A. Privileged Identity Management for Groups, making the group membership itself an eligible, time-limited assignment
    • B. A dynamic security group that adds the five engineers automatically based on their job title attribute
    • C. Five separate PIM-eligible role assignments made directly to each engineer on the subscription
    • D. A conditional access policy requiring a compliant device before subscription access is granted
    Show answer & explanation

    Answer: A
    PIM for Groups extends just-in-time activation to group membership itself, so eligible members can activate membership in a group that already carries the Contributor role, with approval workflows and automatic expiration, meeting the requirement to manage this at the group level instead of five individual assignments. A dynamic group based on job title still grants standing, always-on membership and access, which is the opposite of time-limited elevation. Making five separate PIM-eligible role assignments on the subscription achieves just-in-time access but does not use the group-based approach the scenario asks for and multiplies administrative overhead. Conditional access controls sign-in conditions like device compliance; it does not provide time-limited activation or approval workflows for role or group membership.

  19. 96. An administrator tries to assign an Azure RBAC role to a Microsoft Entra distribution list so its members inherit access to a resource group, but the group does not appear as an assignable option. What is the most likely reason?

    • A. Distribution lists work fine for RBAC role assignment, but only once Conditional Access is disabled tenant-wide first
    • B. The distribution list simply has too many members, which is the actual condition blocking the role assignment here
    • C. RBAC roles can only ever be assigned to individual user accounts directly, never to any kind of Microsoft Entra group
    • D. Distribution lists cannot be used for Azure RBAC role assignment; only security groups and mail-enabled security groups are supported
    Show answer & explanation

    Answer: D
    Azure RBAC role assignments support security groups and mail-enabled security groups as principals, but plain distribution lists are not a supported principal type for role assignment, which explains why it does not appear as an option. RBAC assignment is not limited to individual users; security groups, service principals, and managed identities can all be assigned roles. Membership size is not the blocking factor for distribution lists; the group type itself is unsupported regardless of how many members it has. Conditional Access governs sign-in conditions and has no relationship to which group types can receive RBAC role assignments.

  20. 97. An organization wants all employees in the Contoso Sales department to automatically receive access to a set of Azure resources through group membership, based on their department attribute in Microsoft Entra ID, without manual additions or removals. What group type should be used?

    • A. An assigned membership group, since assigned groups also update automatically from directory attributes
    • B. A dynamic membership security group with a rule matching the department attribute to Sales
    • C. A Microsoft 365 group configured only for email distribution
    • D. An administrative unit with automatic membership disabled
    Show answer & explanation

    Answer: B
    Dynamic membership groups evaluate a rule against user or device attributes, such as department equals Sales, and automatically add or remove members as those attributes change, which is exactly the hands-off, attribute-driven membership described. Assigned membership groups require an administrator to manually add or remove each member; they do not react to attribute changes on their own. A Microsoft 365 group configured only for email distribution is aimed at collaboration and mailing, not automated RBAC-style resource access management. An administrative unit with automatic membership disabled would require manual management, which again fails the automatic requirement.

  21. 98. A company runs a steady baseline of 50 D-series virtual machines around the clock in East US for the next three years and wants to reduce compute cost without being locked to those exact VM sizes if workloads shift. What should they purchase?

    • A. A one-year reserved instance for the exact D-series size and region, locking the discount to that specific VM SKU only
    • B. Azure Spot pricing applied to all 50 VMs, which is documented to guarantee the single lowest possible hourly rate with no eviction risk
    • C. An Azure savings plan for compute, committing to an hourly spend that applies flexibly across eligible VM sizes and services
    • D. A three-year Azure Hybrid Benefit license transfer, which reduces licensing cost independent of actual compute usage
    Show answer & explanation

    Answer: C
    A savings plan commits to a fixed hourly dollar amount rather than a specific VM size or region, and that commitment automatically applies across eligible compute usage as sizes or regions shift, which suits a team that wants savings without being locked to today's exact SKU. A one-year reserved instance for the exact D-series size does reduce cost, but it is scoped to that SKU and offers less flexibility if the workload later needs a different VM family or size. Spot pricing offers deep discounts but instances can be evicted with little notice, which is not appropriate for a workload that must run continuously. Azure Hybrid Benefit reduces licensing cost for eligible Windows Server or SQL Server workloads by reusing on-premises licenses; it does not itself provide a compute-usage discount the way a savings plan or reservation does.

  22. 99. A management group-level Azure Policy assignment enforces an allowed-locations restriction, but one specific test subscription legitimately needs to deploy resources in a region outside that list for a time-limited pilot. What should be used instead of removing the whole assignment?

    • A. Deleting the policy assignment at the management group so every descendant subscription is unaffected
    • B. A resource lock of type ReadOnly on the test subscription to override the policy silently
    • C. Assigning the same policy again at the test subscription with a deny effect flipped to audit
    • D. A policy exemption scoped to the test subscription, with an expiration date for the pilot period
    Show answer & explanation

    Answer: D
    A policy exemption excuses a specific scope, such as one subscription, from an inherited policy or initiative assignment, and can be given an expiration date so the exception automatically lapses after the pilot period, which precisely matches a time-limited, narrowly scoped exception. Deleting the assignment at the management group removes the location restriction for every subscription under it, far broader than intended and undermining governance elsewhere. A ReadOnly lock affects who can modify a resource; it has no relationship to Azure Policy evaluation and cannot override a policy's effect. Reassigning the same policy with a different effect at the subscription does not exempt it from the inherited management-group assignment, since both would still be evaluated together.

  23. 100. You need to grant a user permission to manage all resources within a single resource group, but that user must not be able to grant access to other users. Which built-in role satisfies this requirement?

    • A. User Access Administrator
    • B. Owner
    • C. Reader
    • D. Contributor
    Show answer & explanation

    Answer: D
    Contributor grants full read/write management of resources in scope but explicitly excludes the ability to modify role assignments, which matches the requirement. Owner includes everything Contributor has plus the ability to assign roles to other users, exceeding the requirement. Reader only allows viewing resources, not managing them. User Access Administrator manages role assignments but does not by itself grant broad resource management rights.

2026 statistics

Key facts: AZ-104 exam

Time limit
1h 40m
Passing score
700/1000
Governing body
Microsoft

This free AZ-104 practice test has 160 original questions written to Microsoft's official content outline, last checked against it on July 18, 2026, 100 of them listed on this page and the rest loaded by the drill. Every question shows a worked explanation, and nothing here requires a signup.

The questions are grouped under five outline areas: Implement and manage storage, Deploy and manage Azure compute resources, Monitor and maintain Azure resources, Implement and manage virtual networking and Manage Azure identities and governance.

How the AZ-104 practice bank covers the outline

160 questions across 5 outline areas — the same areas the page's sections use.

Counts are the live question bank, grouped by the outline area each question was written to.

160 questions across five outline areas. The largest, Deploy and manage Azure compute resources, holds 38 questions (24%); the page's sections follow the same split.
Exam format and study resources

Get a free AZ-104 study plan

A week-by-week plan plus new practice questions, straight to your inbox.

Official sources

Primary documents used to verify the exam details shown on this page.

Last verified against the official exam content outline:

Frequently asked questions

What score do I need to pass the AZ-104 exam?

<p>You need a score of 700 or greater to pass AZ-104. Microsoft reports all technical exam scores on a scale of 1 to 1,000, so 700 is a scaled score — it does not simply mean answering 70% of the questions correctly, since question difficulty factors into scoring.</p><p>Importantly for test-day strategy, there is no penalty for guessing: no points are deducted for incorrect answers, so you should answer every single question, even if you have to guess. Practice this habit now — never leave a question blank in your practice sessions. After the exam, your score report shows your overall numeric score, your pass/fail status, and a bar chart of performance on each skill area, which is your roadmap for targeted review.</p>

Which AZ-104 domains should I spend the most practice time on?

<p>AZ-104 measures your skills across five functional groups, each with a published weighting range:</p><ul><li>Manage Azure identities and governance (20–25%)</li><li>Deploy and manage Azure compute resources (20–25%)</li><li>Implement and manage storage (15–20%)</li><li>Implement and manage virtual networking (15–20%)</li><li>Monitor and maintain Azure resources (10–15%)</li></ul><p>Identities and governance plus compute together can account for up to half the exam, so weakness in either is hard to overcome elsewhere — prioritize them if your practice scores are uneven. That said, even the lightest domain (monitoring, at 10–15%) carries enough weight to swing a borderline attempt, so don't skip it entirely.</p><p>Also practice under realistic conditions: you have 100 minutes for the exam, which is proctored and may include interactive components, so timed practice with hands-on-style questions is more valuable than untimed multiple-choice drilling alone.</p>

How soon can I retake AZ-104 if I fail my first attempt?

<p>If you fail AZ-104, you can retake it 24 hours after your first attempt. The exam is scheduled through Pearson VUE, and the price is based on the country or region where the exam is proctored — so budget for the possibility of paying a regional exam fee again on a retake.</p><p>Before rebooking, use your score report: it includes a bar chart showing your performance on each skill area assessed. Match the shortest bars against the domain weightings — a weak area in a heavily weighted domain like identities and governance or compute should be the focus of your practice before the second attempt, rather than re-reviewing everything equally.</p>

How often do I need to renew the Azure Administrator Associate certification, and is the renewal exam like the original?

<p>This role-based certification has a renewal frequency of 12 months, so plan on renewing annually — but the renewal is much lower-stakes than the original exam. There is no cost to renew the certification, and the renewal assessment is shorter than the original exam, unproctored, and open book. In practice, that means no Pearson VUE appointment, no proctor, and you can reference documentation while you take it.</p><p>You get a six-month renewal window to take the renewal assessment, and passing it extends your certification one year from the expiration date — so renewing early inside the window doesn't cost you any certification time. The practical takeaway: earning AZ-104 is the hard part; keeping it current is a free, annual, open-book check-in.</p>