Azure - Storage Account
Azure - Storage Account
Introduction
1
2
- An Azure Storage Account is a container that provides a namespace for Azure Storage services, allowing you to store data objects such as blobs, files, queues, tables, and disks.
- It provides a unified way to manage different types of storage resources and ensures data is stored securely, highly available, and scalable.
Types of Storage Account Services
- Azure Storage Accounts support various types of storage services, catering to different use cases:
- Blob Storage
Blob Storage Account: Optimized for storing massive amounts of unstructured data such as text or binary data.Hot: Frequently accessed data.Cool: Infrequently accessed data, stored for at least 30 days.Archive: Rarely accessed data, stored for at least 180 days.
- File Storage
Azure Files: Managed file shares that can be accessed via SMB and NFS protocols. Suitable for replacing on-premises file servers.
- Queue Storage
Queue Storage: Enables the storage of large numbers of messages for asynchronous processing. Ideal for decoupling application components.
- Table Storage
Table Storage: NoSQL key-value store for rapid development using large amounts of structured data. Suitable for structured datasets.
- Disk Storage:
Managed Disks: Managed virtual hard disks for Azure VMs, offering simple, scalable, and high-performance disk storage.
Authentication Methods to Access Storage Account
Shared Key Authorization:- Uses storage account name and key for authentication.
- Provides full access to all resources in the storage account.
- Best for internal or backend services that need unrestricted access, but it should be managed carefully due to security risks.
Shared Access Signatures (SAS):- Offers a secure way to provide granular, temporary access to specific storage account resources.
- Ideal for external clients, partners, or applications needing limited and controlled access.
- Types of SAS:
- User Delegation SAS: Uses Azure AD credentials.
- Service SAS: Grants access to storage services.
- Account SAS: Grants access to resources at the account level.
Azure Active Directory (Azure AD) Authentication:- Uses Azure AD to authenticate and authorize access to storage resources.
- Supports Role-Based Access Control (RBAC) for granular permissions.
Managed Identities for Azure Resources:- Provides an identity for applications to use when connecting to Azure Storage without managing credentials.
- Supports both system-assigned and user-assigned managed identities.
Supported Authentication Types
| Storage Type | Shared Key | Shared Access Signature (SAS) | Microsoft Entra ID | On-premises Active Directory Domain Services | Anonymous Public Read Access |
|---|---|---|---|---|---|
| Azure Blobs | Supported | Supported | Supported | Not supported | Supported |
| Azure Files (SMB) | Supported | Not supported | Supported (with Microsoft Entra Domain Services or Microsoft Entra Kerberos) | Supported (credentials must be synced to Microsoft Entra ID) | Not supported |
| Azure Files (REST) | Supported | Supported | Supported | Not supported | Not supported |
| Azure Queues | Supported | Supported | Supported | Not supported | Not supported |
| Azure Tables | Supported | Supported | Supported | Not supported | Not supported |
Storage Account Access Key vs Shared Access Signatures
| Feature | Storage Account Access Key | Shared Access Signatures (SAS) |
|---|---|---|
| Access Level | Full access to all resources in the storage account | Granular access to specific resources and operations |
| Security | Higher risk if exposed, as it provides full access | More secure, limited access scope, and time-bound |
| Permissions | Unrestricted | Customizable (read, write, delete, list, etc.) |
| Expiration | No expiration | Can set start and end times |
| IP Restrictions | Not available | Can restrict to specific IP ranges |
| Protocol Restrictions | Not available | Can restrict to HTTPS |
| Use Cases | Full access for applications or services | Temporary, limited access for clients, partners, or specific operations |
This post is licensed under CC BY 4.0 by the author.