DP-900 Describe an analytics workload on Azure Practice Question
Exhibit
{
"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
"apiVersion": "2023-01-01",
"name": "[concat(parameters('storageAccountName'), '/default/', parameters('containerName'))]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
],
"properties": {
"publicAccess": "None"
}
}Refer to the exhibit. A team is deploying an Azure Storage container using an ARM template. The template sets publicAccess to 'None'. However, after deployment, users report they cannot access data even with a valid SAS token. What is the most likely cause?
⚠ Common exam trap
A common mix-up: candidates confuse 'publicAccess = None' with disabling all forms of access, including SAS tokens, but in reality, SAS tokens are a separate authorization mechanism that remains functional on private containers.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
The SAS token was generated with insufficient permissions
The ARM template sets publicAccess to 'None', which only disables anonymous public access to the container. It does not affect SAS token access. The most likely cause is that the SAS token was generated with insufficient permissions (e.g., missing read, list, or write permissions) or with a restricted scope (e.g., limited to a specific blob or with a short expiry), preventing users from accessing the data even though the container is private.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
The container disables SAS tokens by default
Why it's wrong here
SAS tokens are not a feature that can be toggled on or off at the container level; they are generated at the storage account level using either the account key or a user delegation. The container's publicAccess='None' setting only disables anonymous public read/write access, not SAS-based authenticated access. Additionally, no container property controls SAS existence or validity, so this option incorrectly attributes a storage-account-level mechanism to the container.
- ✗
The storage account firewall is blocking all traffic
Why it's wrong here
Firewall rules restrict the set of IP addresses or virtual networks that can reach the storage account, but they operate at the network layer rather than the authorization layer. Even if a firewall were misconfigured, a SAS token would still authenticate the request as long as the client's IP is allowed by the firewall rules. Since the exhibit's ARM template does not show any firewall configuration, there is no evidence that network traffic is being blocked, making this an unsubstantiated explanation for SAS failure.
- ✗
The storage account requires RBAC permissions, not SAS
Why it's wrong here
Azure Blob Storage supports multiple independent authorization methods, including shared key, shared access signature (SAS), and Azure AD RBAC, and these are not mutually exclusive. A SAS token is self-contained and carries its own permissions, so no additional RBAC role assignments are required to use it; RBAC would only be necessary if you were using Azure AD-based identity instead of a SAS token. Therefore, the storage account does not 'require' RBAC to the exclusion of SAS, and this option mischaracterizes the relationship between the two mechanisms.
- ✓
The SAS token was generated with insufficient permissions
Why this is correct
A SAS token is only as effective as the permissions it was granted at generation time; if the token lacks the read, write, list, or delete permission needed for the attempted operation, the storage service will deny the request despite the token being properly formatted. The container's publicAccess='None' setting is irrelevant because it only governs anonymous access, not requests authenticated with a valid SAS token. Since the token is evidently present, the most plausible failure point is that the token's permission scope does not match the operation being called.
Go deeper
Related to this question
Learn chapter
Data Roles and Core Concepts
Key term
Data
Data is raw, unprocessed information, like numbers, words, or measurements, that can be stored, processed, and analyzed by computers.
Key term
Report
A report in Azure data services is a structured output that summarizes, visualizes, or details data stored in cloud databases or data warehouses, often used for business intelligence and monitoring.
About these practice questions
One of 820 original DP-900 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DP-900 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DP-900 exam.