Creating and Configuring Storage Accounts
To create an Azure storage account, administrators can use the Azure portal, PowerShell, or the Azure CLI. Choosing the correct account type is critical because it dictates the underlying capabilities and supported data services. For general workloads, General-purpose v2 accounts support blobs, files, queues, and tables. Specialized workloads may require premium performance, which offers options like Premium block blob for fast blob access, Premium page blob for virtual machine disks, or Premium file share for high-performance file storage.
To create a general-purpose v2 storage account with read-access geo-redundant storage and infrastructure encryption enabled using the Azure CLI, you can execute the following command:
az storage account create \
--name \
--resource-group \
--location \
--sku Standard_RAGRS \
--kind StorageV2 \
--allow-blob-public-access false \
--require-infrastructure-encryption
Managing Replication and Access Tiers
Data durability depends on the chosen replication strategy, which copies data to protect against hardware failures or regional disasters. Options include Locally-redundant storage (LRS), which keeps three copies in a single data center, and Geo-redundant storage (GRS), which replicates data to a secondary region. For immediate read access to the secondary region, administrators can use Read-access geo-redundant storage (RA-GRS). To optimize costs, data can be assigned to different access tiers: Hot for frequently accessed data, Cool for infrequently accessed data, and Archive for long-term storage where latency is acceptable.
Network and Identity Security
Protecting storage accounts requires a combination of network restrictions and identity verification. Enabling secure transfer (HTTPS) enforces encrypted communication, while infrastructure encryption adds a second layer of encryption at the service level. To control access, administrators should configure network rules that restrict traffic to trusted IP addresses or specific virtual networks. Utilizing private endpoints secures traffic by routing it through a private IP address within a virtual network instead of exposing the account to the public internet.
Implement Robust Security and Data Lifecycle Policies
Secure Data Access and Authentication
Implementing robust access control relies on the principle of least privilege to ensure users only access necessary resources. Administrators should use Microsoft Entra ID (formerly Azure Active Directory) for authentication rather than shared keys, as it supports fine-grained role-based access control. To reduce security risks, you should disable anonymous read access to containers and disallow shared key authorization entirely. When temporary access is required, generate user delegation SAS tokens signed with Entra credentials instead of using storage account keys. For cases where account keys must be used, store them securely in Azure Key Vault and rotate them regularly.
Network Security and Data Encryption
Securing the network boundary involves reducing the public attack surface of your storage accounts. Administrators should disable public network access and deploy private endpoints so traffic travels securely over Azure Private Link. Firewalls should be configured with a default-deny rule, allowing traffic only from specific virtual networks or trusted IP ranges. For transit security, enforce the secure transfer required option and mandate a minimum of TLS version 1.2. While Azure encrypts data at rest by default, you can manage your own encryption keys by configuring customer-managed keys stored in Azure Key Vault.
Data Protection and Lifecycle Management
To protect against accidental deletions and data corruption, Azure provides several built-in safety features. Enabling blob soft delete and container soft delete allows deleted items to be recovered within a configured retention period. Activating blob versioning tracks historical changes to blobs, while point-in-time restore lets you revert block blobs to a healthy previous state. For strict compliance requirements, immutability policies can enforce legal holds or time-based retention to prevent any data modification or deletion. To control costs, configure lifecycle management policies that automatically move blobs to cooler access tiers or delete them based on age.
Monitoring and Compliance
Continuous monitoring ensures that security configurations remain compliant and that threats are quickly identified. Enabling Microsoft Defender for Storage detects anomalous activities and potential threats in real time. Configuring auditing tracks exactly how data access requests are authorized, whether through Entra ID, shared keys, or SAS tokens. Administrators should use Azure Policy to enforce organizational standards across all storage accounts, such as blocking public access or requiring HTTPS. Regular reviews of security recommendations from Microsoft Defender for Cloud and Azure Advisor help administrators identify and remediate potential vulnerabilities.
Determine Optimal Storage Account Creation Parameters
Choosing Storage Account Types and Redundancy
Selecting the correct parameters during provisioning is critical because you cannot change the account type after creation. For most standard workloads, a Standard General-purpose v2 account is the default choice as it supports blobs, files, queues, and tables. Workloads requiring low latency and high transaction rates should use the Premium performance tier, which uses solid-state drives. Redundancy options must be evaluated against the organization's Recovery Point Objective (RPO) and data residency rules. Locally-redundant storage (LRS) protects against local hardware failure, Zone-redundant storage (ZRS) replicates data across zones, and Geo-redundant storage (GRS) protects against regional disasters by copying data to a secondary region.
Selecting Networking and Connectivity Options
Administrators must determine how users and applications will connect to the storage account during the initial provisioning phase. There are three primary connection options available: