Chapter 2

Implement and Manage Storage

Microsoft Azure Administrator (AZ-104) Study GuideBased on the Microsoft AZ-104 exam objectives

Storage is one of the most heavily tested areas of the AZ-104, worth roughly 15–20% of your exam score. Microsoft expects you to think like an administrator: choosing the right redundancy for a budget, locking down access with the correct combination of firewalls, SAS tokens, and identity controls, and managing the full lifecycle of blob and file data. This chapter builds that judgment call by call.

Storage Accounts: Types, Performance, and Redundancy

Rows of hard drives and blinking server racks inside a modern data center
Rows of hard drives and blinking server racks inside a modern data center

Every storage decision in Azure starts with the storage account — the container that holds all of your blobs, files, queues, tables, and disks, and the unit at which redundancy, encryption, and network rules are configured. Pick the wrong account type or redundancy option and you either overpay for years or discover too late that your data was never as protected as you assumed.

Storage account types

When you create a storage account you choose a performance tier and an account kind. The common combinations are:

Exam tip

If a question asks which account type supports Azure Files plus queues and tables, the answer is Standard general-purpose v2. Premium block blobs do NOT support files, queues, or tables — that limitation is a favorite exam trap.

Performance tiers

Standard uses magnetic (HDD-based) media and is the economical choice for most data. Premium uses solid-state drives and delivers low, consistent latency. You choose the tier at creation and cannot change it afterward — a Standard account can never become Premium. Match the tier to the workload's latency and throughput requirements, not to the amount of data: a huge archive belongs on Standard, while a small but latency-sensitive database belongs on Premium.

Redundancy options

Redundancy is how Azure copies your data, and it is the single most tested storage topic. There are six options:

OptionWhat it doesBest for
LRS (locally redundant)3 synchronous copies within one datacenterLowest cost; non-critical data, caches, easily recreated data
ZRS (zone-redundant)3 synchronous copies across 3 availability zones in one regionSurvives a datacenter loss; production data that must stay in-region
GRS (geo-redundant)LRS in primary region + 3 async copies in a paired secondary regionSurvives a regional outage; compliance or DR requirements
RA-GRS (read-access geo-redundant)GRS + read access to the secondary copyGRS plus the ability to read data during a primary-region outage
GZRS (geo-zone-redundant)ZRS in primary + async copies in secondary regionHighest durability for data that must survive both datacenter and regional failures
RA-GZRSGZRS + read access to the secondaryGZRS plus read access during an outage

Key behaviors to internalize:

Exam tip

ZRS protects against a datacenter failure; GRS protects against a regional failure. If a question describes a flooded datacenter and asks for the cheapest option that keeps the application running, the answer is ZRS. If it describes an entire region going offline, you need GRS or better.

Exam tip

Premium block blobs and premium file shares support only LRS and ZRS. If a scenario demands geo-redundancy, premium tiers are automatically eliminated — the answer must be a Standard GPv2 account.

Account creation constraints

Several choices are locked in at creation time and cannot be changed later:

Securing Storage Access

Close-up of a padlock on a server cabinet door in a data center corridor
Close-up of a padlock on a server cabinet door in a data center corridor

Storage accounts hold some of an organization's most sensitive data, and the AZ-104 tests your ability to layer defenses: network controls decide who can reach the account, while SAS tokens, keys, and Entra authentication decide what they can do once they arrive. A question will often give you a requirement — "partners need read access to one container for 48 hours" — and expect you to select the most precise, least-privilege mechanism.

Storage firewalls and virtual network rules

Every storage account has a firewall under Networking. The default is to allow access from all networks; hardening it means switching the default action to Deny and then punching precise holes:

Exam tip

A SAS token, an access key, or Entra credentials do NOT bypass the storage firewall. Network rules are evaluated first: if the client's network is denied, authentication never even happens. Exam questions love this — "the partner has a valid SAS but gets an authorization failure" usually means their IP is blocked by the firewall.

Private endpoints vs service endpoints

Both connect a virtual network to storage privately, but they work very differently:

Exam tip

If the requirement is "no public internet access to the storage account, including from on-premises," the answer is a private endpoint. If the requirement is just "only these subnets may access it," a service endpoint with VNet firewall rules is simpler and cheaper.

SAS tokens: the three types

A shared access signature (SAS) is a signed URI that grants delegated access without revealing the account key. There are three types, and confusing them is one of the exam's favorite traps:

  1. User delegation SAS — secured with Microsoft Entra credentials instead of the account key. Scoped to blob storage only (containers and blobs), and the user delegation key used to sign it is valid for a maximum of 7 days. This is the recommended SAS type whenever possible, because it never exposes the account key and it honors Azure RBAC: the user signing it must already have the appropriate data-plane permissions.
  2. Service SAS — secured with the storage account key. Scoped to a specific resource: a container, blob, file share, queue, or table, with granular permissions (read, write, delete, list, and more). Can be bound to a stored access policy for server-side revocation.
  3. Account SAS — secured with the storage account key. Broadest scope: it can delegate access to multiple services (blob, file, queue, table) at the account level. Cannot be bound to a stored access policy. Use it only when a service SAS cannot cover the need.

Best practices the exam expects you to know: always set the shortest expiry the scenario allows, always require HTTPS, restrict to the minimum permissions and narrowest scope, prefer user delegation SAS over account SAS, and never embed a SAS in client-side code where it can be harvested.

Exam tip

User delegation SAS = Entra-secured, blob-only, 7-day maximum. Service SAS = account-key-secured, single resource, revocable via stored access policy. Account SAS = account-key-secured, broadest scope, NO stored access policy support. If a question says "revoke the SAS without regenerating the key," only a service SAS with a stored access policy qualifies.

Stored access policies

A stored access policy groups the start time, expiry time, and permissions for service SAS tokens on a container, file share, queue, or table. Instead of baking those values into each SAS URI, the SAS references the policy by name. The payoff: you can revoke or modify all SAS tokens bound to the policy by changing or deleting the policy — no key regeneration required. Limits to remember: up to 5 stored access policies per container (or share/queue/table), and account SAS tokens cannot use them.

Note the subtle trap: if fifty SAS tokens all reference the same stored access policy, deleting that policy revokes all fifty. Selective revocation requires separate policies per token or per client.

Access key rotation

Every storage account has two access keys (key1 and key2), and either one grants full control — which is why keys should be a last resort, not a daily driver. The safe rotation procedure the exam expects:

  1. Identify which key the application currently uses (say, key1).
  2. Update the application to use the other key (key2) first and verify it works.
  3. Regenerate key1.

There is never a moment when the application's active key is invalid, so rotation causes zero downtime. Regenerating the key the application is actively using is the classic wrong answer.

Microsoft Entra authentication for storage

For human users and managed workloads, Entra authentication is preferred over keys and SAS. It works through Azure RBAC data-plane roles — the management-plane roles you know from earlier chapters are not enough:

The critical distinction: Contributor on a storage account lets you manage the account (rotate keys, change firewall rules) but does not let you read a single blob — blob content lives on the data plane. Assigning Contributor to someone who needs to read blobs is both insufficient and over-privileged; the least-privilege answer is Storage Blob Data Reader.

You can also harden the account itself: disabling shared key access (Allow storage account key access = Disabled) forces all clients to use Entra or SAS-with-policy authentication, and the account keys become unusable. This is the recommended posture for regulated environments.

Exam tip

Management plane vs data plane is tested constantly. "User has Contributor on the storage account but gets Access Denied downloading a blob" — the fix is a data-plane role (Storage Blob Data Reader), not a bigger management role. Owner would work, but it violates least privilege and the exam will mark it wrong when a narrower role fits.

Blob Storage

Aerial view of stacked shipping containers at a port terminal
Aerial view of stacked shipping containers at a port terminal

Blob storage is Azure's object store: massive scale, tiered pricing, and the home of backups, media, logs, datasets, and static websites. The exam focuses less on "what is a blob" and more on the cost-control machinery — access tiers, rehydration, lifecycle policies — and the three mechanisms that protect blob data: versioning, snapshots, and soft delete.

Containers and blobs

Blobs live in containers, which are roughly analogous to folders with access policies. Container names must be lowercase. There are three blob types:

A container's public access level can be Private (default), Blob (anonymous read of blobs only), or Container (anonymous read of blobs and listing). The exam occasionally checks that you know anonymous access is off by default and must be explicitly enabled at both the account and container level.

Access tiers: Hot, Cool, Cold, Archive

Every block blob sits in an access tier that trades storage cost against access cost and retrieval speed:

You can set the tier per blob or set a default account tier (Hot or Cool only — Cold and Archive cannot be the account default). Moving a blob to a cooler tier is free-ish; the early-deletion clock is what punishes mistakes.

Exam tip

Memorize the minimums: Cool = 30 days, Cold = 90 days, Archive = 180 days. A question like "blob stored in Cool for 10 days then deleted — what is billed?" expects you to answer 30 days of Cool storage. These numbers appear on the exam constantly.

Rehydration: getting data out of Archive

An archived blob must be rehydrated to Hot, Cool, or Cold before it can be read. Two methods:

  1. Copy the blob to a new blob in the target tier (or the same blob with a new tier) using the Copy Blob operation, specifying a rehydration priority.
  2. Change the blob's tier to Hot on the existing blob (Set Blob Tier) — this also triggers rehydration.

Priorities and timing:

During rehydration the blob stays in Archive and remains unreadable; only when the copy completes does the target become available. You cannot rehydrate directly within Archive, and you cannot prioritize a tier-change the way you can a copy — priority is set on the copy operation.

Exam tip

Scenario pattern: "legal team needs a file from Archive within 2 hours" — the answer is rehydrate with High priority to Hot (Standard priority's 15-hour window misses the deadline). Also remember: while rehydrating, the source blob is still unreadable.

Lifecycle management policies

Lifecycle management automates tier transitions and deletion for block blobs (in GPv2, BlobStorage, and premium block blob accounts) using JSON rules with two action types:

A typical policy: tier blobs to Cool after 30 days without modification, to Archive after 180 days, delete after 7 years. Filters can target prefixes (e.g., logs/) or blob index tags. Lifecycle management is the exam's expected answer whenever a requirement says "automatically" move or delete aging data — manual tier changes or scripts are the distractors.

Blob versioning vs snapshots vs soft delete

Three different safety nets, three different behaviors — the exam will ask you to pick between them:

Exam tip

Deletion vs overwrite is the decision rule: accidental deletion → soft delete. Overwrite protection → versioning. Deliberate pre-change rollback point → snapshot. The exam phrases scenarios to test exactly this distinction.

Object replication

Object replication asynchronously copies block blobs between containers — in the same account, across accounts, across regions, or across subscriptions. Requirements:

Replication is one-way and eventual; it is a data-distribution and regional-availability mechanism, not a backup — a deleted source blob's delete marker replicates too, so pair it with soft delete or versioning retention for true protection.

Azure Files

Office workers collaborating around computers in a modern workspace
Office workers collaborating around computers in a modern workspace

Azure Files provides fully managed SMB and NFS file shares in the cloud — the lift-and-shift answer for applications that expect a traditional file share, and the backbone of scenarios like shared configuration stores, user profile disks (FSLogix), and hybrid file servers.

File share tiers

Unlike blob tiers, file share tiers are chosen at the share level (or via the account for premium):

The exam's angle is usually cost: a share holding rarely-read archives belongs on Cool, not Premium. And note the asymmetry with blobs — file shares have no Archive tier and no rehydration concept.

Identity-based access

By default, Azure Files authenticates with the storage account key — which grants full admin control and cannot be scoped to a single share. For real user access, Azure supports identity-based authentication so domain users get per-share NTFS-style permissions:

Once identity auth is enabled, you assign share-level RBAC roles (Storage File Data SMB Share Reader/Contributor/Elevated Contributor) and then set NTFS ACLs on folders and files for fine-grained control. Both layers must allow access — RBAC gets you to the share, NTFS decides what you can touch inside it.

Exam tip

If a question asks for Azure Files access for hybrid users "without deploying domain controllers," the answer is Microsoft Entra Kerberos. If it says the environment is cloud-only with no on-prem AD at all, Entra DS is the classic answer. On-prem AD DS is for extending an existing domain.

SMB and NFS protocols

Snapshots and soft delete for shares

Azure File Sync basics

Azure File Sync extends Azure Files to on-premises Windows Servers:

Moving Data into Azure

Forklift loading cardboard boxes onto a freight truck at a warehouse dock
Forklift loading cardboard boxes onto a freight truck at a warehouse dock

Getting data into (and around) Azure efficiently is an administrator's bread and butter. The exam covers three mechanisms: AzCopy for online transfers, Storage Explorer for interactive work, and the Import/Export service for offline bulk ingest.

AzCopy

AzCopy is the command-line utility for high-performance blob and file transfers. Core patterns:

azcopy copy "C:\data\logs" "https://mystorage.blob.core.windows.net/logs<SAS>" --recursive=true
azcopy sync "C:\data\logs" "https://mystorage.blob.core.windows.net/logs<SAS>" --recursive=true --delete-destination=true

Azure Storage Explorer

Storage Explorer is the free, cross-platform GUI for browsing and managing storage accounts: upload/download blobs and files, manage tables and queues, generate SAS tokens, and attach to accounts via key, SAS, or Entra sign-in. On the exam it appears as the answer to "an administrator needs an interactive tool to manage storage without writing code" — or as the tool used to create a SAS in a scenario.

Import/Export service and Data Box

When the dataset is too large for the network (terabytes, or a slow uplink), ship it:

The exam's decision rule is volume and bandwidth: gigabytes over a good link → AzCopy; terabytes or a saturated/expensive link → Import/Export or Data Box.

Encryption

Macro shot of a computer chip with glowing circuit traces
Macro shot of a computer chip with glowing circuit traces

Encryption at rest is on by default for every storage account — but the AZ-104 expects you to know whose key is doing the encrypting, when double encryption applies, and how to scope different keys to different data.

Microsoft-managed keys vs customer-managed keys

CMK requirements worth memorizing: the key vault must have soft delete and purge protection enabled, and the storage account needs a managed identity (system- or user-assigned) with key permissions on the vault. Key rotation can be automatic (set an expiry/rotation policy on the key) or manual (create a new key version and update the account).

Exam tip

"The security team must be able to revoke encryption immediately if a breach is suspected" — that is customer-managed keys in Key Vault, not Microsoft-managed keys. Revocation-by-disabling-the-key is the capability being tested.

Infrastructure encryption

Infrastructure encryption adds a second layer of encryption at the physical infrastructure level, on top of the standard service-level encryption — true double encryption at rest. It must be enabled at storage account creation and cannot be added later. It is only available on certain account configurations. The exam tests the creation-time constraint: "can you enable it on the existing account?" — no.

Encryption scopes

Encryption scopes let you assign different encryption keys to different containers or blobs within one storage account — for example, each department's container encrypted with its own CMK, while the rest of the account uses Microsoft-managed keys. A blob uploaded with an encryption scope inherits that scope; the default scope applies when none is specified. This is the answer to "different keys for different datasets in the same account" without the cost and complexity of separate storage accounts.

Worked Scenarios

IT administrator reviewing backup status screens in a network operations center
IT administrator reviewing backup status screens in a network operations center

Worked scenario 1: Ransomware-proof backup storage

Situation: Your company keeps nightly VM backups as block blobs in a Cool-tier container. After a ransomware scare, leadership requires that (a) backups survive even if an attacker gains Contributor access to the subscription, and (b) storage costs drop because backups older than 90 days are never read.

Reasoning, step by step:

  1. Surviving a compromised Contributor: Soft delete for blobs (with a long retention, e.g., 180 days) means even deleted blobs remain recoverable — but a Contributor could disable soft delete. Stronger: immutability policies (time-based retention) on the container make blobs undeletable until the retention period expires, and no role — not even Owner — can override a locked time-based policy. That directly answers requirement (a).
  2. Cutting cost on old backups: A lifecycle management policy tiers blobs to Archive after 90 days without modification. Archive storage is the cheapest available, and since backups older than 90 days are never read, the retrieval penalty never materializes.
  3. Key hygiene: Disable shared key access and require Entra authentication with Storage Blob Data roles, so a leaked account key alone grants nothing.

Answer in exam terms: time-based immutability policy (locked) + lifecycle policy (Cool → Archive at 90 days) + Entra-only authentication.

Worked scenario 2: Partner access to one container for a weekend

Situation: An external partner must upload analysis files to a single blob container Friday through Sunday. They are outside your network, have no Entra identities in your tenant, and must have zero access afterward without you chasing them to revoke anything.

Reasoning, step by step:

  1. No Entra identities rules out user delegation SAS (it requires the signer to authenticate with Entra, and the partner has no identity). It also rules out RBAC roles.
  2. Single container, write-only need, automatic expiry points to a service SAS scoped to that container with Write (and List, so they can verify uploads) permissions and an expiry of Sunday night.
  3. Zero access afterward without manual revocation: a short-lived SAS simply expires. For defense in depth, bind it to a stored access policy so you can revoke early if the engagement ends Friday — and set the storage firewall to Deny with no exception for the partner's network? No — they need network access. Instead, restrict the SAS to HTTPS only and the minimum permissions.
  4. The partner's IP changes frequently, so IP-restricted SAS is impractical; the short expiry is the control.

Answer in exam terms: service SAS (container-scoped, Write + List, 48–72 hour expiry, HTTPS-only), optionally bound to a stored access policy for early revocation.

Worked scenario 3: File shares for a hybrid workforce

Situation: 400 users — half on domain-joined Windows laptops managed by on-premises AD, half remote-only with Entra ID identities and no domain join — need mapped-drive access to departmental file shares with per-folder permissions. Latency matters; the file server being replaced was all-flash.

Reasoning, step by step:

  1. Mapped-drive semantics with per-folder permissions means Azure Files with SMB and NTFS ACLs — blob storage cannot do this.
  2. All-flash performance points to the Premium file share tier (provisioned IOPS/throughput), not Transaction optimized or Hot.
  3. Mixed identities: the on-prem AD users are covered by joining the storage account to on-premises AD DS; the remote-only Entra ID users are covered by Microsoft Entra Kerberos — both can coexist, giving every user single sign-on with their own identity.
  4. Per-folder permissions: assign the Storage File Data SMB Share Elevated Contributor (or Contributor) role at the share, then set NTFS ACLs on each department folder. RBAC alone cannot express folder-level permissions — a classic exam trap.
  5. Private access: remote users connect over VPN/ExpressRoute to a private endpoint so share traffic never crosses the public internet.

Answer in exam terms: Premium Azure Files + SMB, on-prem AD DS join plus Entra Kerberos, share-level RBAC + NTFS ACLs, private endpoint for network isolation.

End-of-Chapter Test

Student writing notes at a desk with a laptop showing a cloud dashboard
Student writing notes at a desk with a laptop showing a cloud dashboard
  1. You need to store virtual machine disks with geo-redundant replication. Which storage account configuration should you choose?

A) Premium page blobs with GRS B) Standard general-purpose v2 with GRS C) Premium block blobs with GZRS D) Standard general-purpose v2 with ZRS

  1. A company policy requires that no storage account be reachable from the public internet, including from on-premises offices connected via ExpressRoute. What should you deploy?

A) A service endpoint for Microsoft.Storage on each virtual network B) A private endpoint for the storage account with private DNS configured C) Storage firewall IP rules allowing only the ExpressRoute public IPs D) A service SAS restricted to the on-premises IP range

  1. You must grant a contractor read access to blobs in one container for exactly 7 days. The contractor has no Entra identity in your tenant, and you want the ability to revoke access early without regenerating the account key. What should you use?

A) An account SAS with a 7-day expiry B) A user delegation SAS with a 7-day expiry C) A service SAS bound to a stored access policy D) The storage account key shared via a secure channel

  1. A blob in the Cool tier was uploaded 10 days ago and is deleted today. For how many days of Cool storage will you be billed?

A) 10 days B) 30 days C) 90 days D) 180 days

  1. The legal team needs a 4 GB blob restored from the Archive tier within 3 hours. What should you do?

A) Copy the blob to the Hot tier using Standard priority rehydration B) Copy the blob to the Hot tier using High priority rehydration C) Change the blob's access tier to Cool and wait D) Enable blob versioning and restore the previous version

  1. A nightly ETL process overwrites blobs in a container, and auditors require every previous version of each blob to be preserved automatically. What should you enable?

A) Soft delete for blobs with a 90-day retention period B) Blob versioning on the storage account C) Manual snapshots before each ETL run D) A lifecycle management policy that deletes old blobs

  1. You need different encryption keys for the finance container and the marketing container within the same storage account. What should you use?

A) Two separate storage accounts with different Microsoft-managed keys B) Infrastructure encryption with two key vaults C) Encryption scopes with a customer-managed key per container D) A lifecycle management policy with key rotation rules

  1. An application running on-premises needs to read blobs. The storage firewall denies all public networks, and the application cannot use Entra authentication. The application presents a valid SAS token but receives an authorization failure. What is the most likely cause?

A) The SAS token has expired B) The SAS permissions do not include Read C) The application's public IP is blocked by the storage firewall D) The SAS was created as a user delegation SAS instead of a service SAS

  1. You are designing storage for a database workload that requires single-digit millisecond latency and must survive the loss of an entire datacenter without leaving the region. Which redundancy option fits at the lowest cost?

A) LRS on a Premium block blob account B) ZRS on a Premium block blob account C) GRS on a Standard general-purpose v2 account D) RA-GZRS on a Standard general-purpose v2 account

  1. A storage account contains both frequently accessed web content and regulatory archives that must be kept for 7 years but are almost never read. What is the most cost-effective design?

A) Store everything in the Hot tier on a Premium block blob account B) Store web content in Hot and use a lifecycle management policy to tier archives to Archive after a set period C) Store everything in the Cool tier and manually rehydrate archives when needed D) Create two storage accounts, both using the Archive tier

  1. Your security team requires the ability to instantly render all data in a storage account unreadable in the event of a suspected breach, without deleting the data. What should you implement?

A) Microsoft-managed keys with automatic rotation B) Customer-managed keys in Azure Key Vault with the ability to disable the key C) Infrastructure encryption enabled on the storage account D) A storage firewall with default action set to Deny

  1. Remote users with only Microsoft Entra ID identities (no on-premises domain) need mapped-drive access to Azure file shares with single sign-on, and you cannot deploy domain controllers. Which identity solution should you use?

A) Join the storage account to on-premises AD DS B) Microsoft Entra Domain Services C) Microsoft Entra Kerberos D) Storage account key authentication with SMB

Answer Key

Red pen circling a correct answer on a printed exam sheet
Red pen circling a correct answer on a printed exam sheet
  1. B — Page blob (VM disk) storage with geo-redundancy requires a Standard GPv2 account: premium page blobs support LRS only, and premium block blobs support only LRS/ZRS.
  2. B — A private endpoint gives the storage account a private VNet IP and, with private DNS, removes all public-internet reachability, including over ExpressRoute. Service endpoints still use the public endpoint address.
  3. C — A service SAS is container-scoped and, bound to a stored access policy, can be revoked early without key regeneration. User delegation SAS requires Entra identities; account SAS cannot use stored access policies.
  4. B — Cool tier carries a 30-day minimum storage duration; deleting after 10 days still bills 30 days.
  5. B — Standard priority rehydration can take up to 15 hours, missing the 3-hour deadline; High priority completes in under an hour for blobs under 10 GB.
  6. B — Blob versioning automatically preserves a prior version on every overwrite. Soft delete protects against deletion, not overwrites; snapshots are manual.
  7. C — Encryption scopes assign different customer-managed keys to different containers in one account. Separate accounts are unnecessary overhead for this requirement.
  8. C — Network rules are evaluated before authentication: a valid SAS cannot bypass the storage firewall, so a blocked client IP produces an authorization failure.
  9. B — ZRS replicates synchronously across three availability zones in-region, surviving datacenter loss; premium block blobs deliver the required latency. LRS cannot survive datacenter loss; GRS/GZRS add unneeded geo cost.
  10. B — Lifecycle management automatically tiers aging blobs to Archive (cheapest long-term storage) while web content stays Hot. Archive-tier data is unreadable without rehydration, so putting web content there (D) breaks the site.
  11. B — Disabling a customer-managed key in Key Vault instantly renders the data cryptographically inaccessible without deleting it. Microsoft-managed keys offer no customer revocation switch.
  12. C — Microsoft Entra Kerberos gives Entra ID-only users Kerberos SSO to Azure Files without domain controllers or Entra DS. On-prem AD DS requires an existing domain; account keys provide no single sign-on.

Answer key