Account types, performance, and redundancy
Standard general-purpose v2 is the default storage account type and supports all four storage services: blob, file, queue, and table. It uses magnetic hard disk storage and is appropriate for most workloads that do not require premium performance. Premium storage accounts use SSD storage for low latency and high I/O but are more specialized: Premium block blobs for blob workloads requiring sub-millisecond latency, Premium file shares for enterprise file workloads needing high IOPS, and Premium page blobs for high-performance virtual machine disk storage.
Redundancy determines how many copies Azure keeps of your data and where. Locally Redundant Storage (LRS) keeps three synchronous copies within a single datacenter in one region. Zone-Redundant Storage (ZRS) keeps three copies across three Availability Zones within one region, protecting against datacenter failure. Geo-Redundant Storage (GRS) replicates to a paired region asynchronously, protecting against regional disasters, but the secondary is readable only after Microsoft initiates a failover. Read-Access Geo-Redundant Storage (RA-GRS) makes the secondary readable at all times without waiting for a failover. Geo-Zone-Redundant Storage (GZRS) combines ZRS in the primary with geo-replication to the secondary.
Replication options affect your recovery point objective (RPO) and recovery time objective (RTO). ZRS and GZRS protect against zone failures with synchronous replication and zero data loss. GRS and RA-GRS protect against regional disasters but with asynchronous replication, so there is a small potential for data loss in an outage (the replication lag). For data that must survive any failure with zero loss, GZRS with read access is the highest protection tier.
Access authorization and lifecycle management
Storage accounts support several authorization methods. Storage account keys are 512-bit shared secrets that grant full access to the entire account. Anyone who has a storage account key can read, write, and delete everything in the account. Shared Access Signatures (SAS) are signed URLs that grant time-limited, scoped access to specific resources, specific operations, and specific IP ranges. A user delegation SAS is signed with Azure AD credentials rather than account keys, which is the preferred approach for user-facing access because it does not expose account keys.
Azure Active Directory (now Microsoft Entra ID) integration with RBAC (Role-Based Access Control) is the recommended approach for authorizing application and user access to storage. Instead of distributing account keys, you assign roles like Storage Blob Data Reader or Storage Blob Data Contributor to identities. This follows the principle of least privilege and integrates with Conditional Access, audit logs, and identity governance.
Lifecycle management policies automate tier transitions and deletion for blob data. A policy can move blobs that have not been accessed in 30 days from Hot to Cool, move blobs not accessed in 90 days to Cold, archive blobs after 180 days, and delete blobs after 365 days. Policies run daily, apply to all blobs or filtered subsets, and remove the manual overhead of managing data across tiers at scale.
How to choose the correct answer
LRS: three copies in one datacenter, lowest cost, no zone or region protection. Suitable for dev/test or data that can be reconstructed.
ZRS: three copies across three zones, same region, zero data loss on zone failure. No geo-protection.
GRS: copies to paired region, secondary readable only after failover. Protects against region disasters.
RA-GRS: same as GRS but secondary is always readable. Use for read access to replicated data without waiting for failover.
GZRS: ZRS in primary plus geo-replication. Highest protection for production workloads with compliance requirements.
SAS token: time-limited, scoped access. Prefer user delegation SAS over account-key-based SAS.
Account keys: full access to entire account. Rotate regularly, consider switching to Entra ID RBAC instead.
Premium block blob accounts: cannot be changed to general-purpose v2 after creation. Choose correctly upfront.