You are designing a secure backend service that provides external audit applications with temporary access to read audit logs stored in a specific Azure Blob Storage container. You decide to generate a Shared Access Signature (SAS) token.
The solution must meet the following security requirements:
- Minimize the risk of compromising the storage account's root access keys.
- Prevent the external application from listing other blobs or deleting logs.
- Enforce secure transmission protocols.
- Restrict access to a specific external IP range: 198.51.100.0/24.
Which two of the following configuration options should you implement to meet the requirements?
- Generate a User Delegation SAS using a Microsoft Entra ID user principal or managed identity that has the Storage Blob Data Reader role on the container.Answer
- Set the SAS protocol constraint to HTTPS only and restrict the allowed IP range to 198.51.100.0/24.Answer
- CGenerate an Account SAS signed with the primary storage account key, granting Read, Write, and List permissions.
- DGenerate a Service SAS and retrieve the storage account access key from Azure Key Vault using a managed identity without configuring Key Vault access policies.
Answer
The correct options are generating a User Delegation SAS using a Microsoft Entra ID principal with the Storage Blob Data Reader role, and setting the protocol to HTTPS only with the specified IP range restriction.
Generating a User Delegation SAS secured by Microsoft Entra ID prevents exposure of the storage account key. Restricting the SAS to HTTPS only and scoping the IP address range ensures encrypted data transmission and boundaries to the client's network.
Step-by-Step Solution
Key Concept
Shared Access Signatures and Token-based Storage Security