Tutorials and Guides
Azure Blob Storage offers robust mechanisms to control access to your data. This tutorial explores the primary methods for securing your blobs, ensuring that only authorized users and applications can interact with your storage.
Blob storage offers different access tiers (Hot, Cool, Archive) that influence availability and cost. While not directly an access control feature, choosing the appropriate tier can impact how frequently data is accessed and thus the security considerations.
Shared Access Signatures provide granular delegated access to blobs. You can grant access to specific blobs for a limited time, with specific permissions (read, write, delete, list, etc.), and from specific IP addresses.
az storage blob generate-sas \
--account-name \
--container-name \
--name \
--permissions rwdl \
--expiry 2024-12-31T12:00:00Z \
--output tsv
Replace placeholders with your specific values. The output will be a SAS token that you can append to the blob's URL.
For public blob access, you can set the access level of a container to public. This allows anonymous read access to blobs within the container. Be cautious when making containers public.
Set-AzStorageContainerAcl -Container -Permission blob
This command sets the container's access to allow public blob reads.
For applications and services running on Azure, Managed Identities and Service Principals are the recommended way to authenticate to Azure Storage. This eliminates the need to embed credentials in your code.
RBAC allows you to grant specific permissions to users, groups, and applications at various scopes (subscription, resource group, storage account). This is ideal for managing access for internal users and administrative tasks.
You can use Azure Functions or Logic Apps to programmatically manage access policies, generate time-limited SAS tokens, or grant/revoke permissions based on specific events or schedules.
Explore the following resources to deepen your understanding: