AZ-104 Implement and Manage Storage Practice Question
A partner needs temporary read-only access to a single blob in a storage account for the next 24 hours. The partner must not be able to list other blobs or write data. What should you provide?
⚠ Common exam trap
Many exam-takers confuse a service SAS with an account SAS or storage account keys, mistakenly thinking any SAS or key can be scoped, but only a service SAS can be scoped to a single blob with precise permissions and expiry.
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
✓
A service SAS scoped to the blob with read permission and an expiry time.
A service SAS scoped to a specific blob with read permission and an expiry time provides the exact temporary, read-only access required. It restricts access to only that blob, prevents listing other blobs, and automatically expires after 24 hours, meeting all security and functional requirements.
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 storage account access key.
Why it's wrong here
The storage account access key is the 512-bit root key used for Shared Key authorization. It grants full administrative access to every service in the storage account—blobs (all containers, all blobs), queues, tables, and files—and it is valid indefinitely unless rotated. Sharing it with a partner would expose the entire account, far beyond a single blob, and there is no built-in mechanism to restrict it to read-only or to set an expiry. It should be treated like a password and never distributed to third parties; the correct approach for scoped temporary access is a SAS.
When this WOULD be correct
A question that requires full access to all storage account resources (e.g., for backup or migration) and does not restrict listing or write operations, and where temporary access is not a concern.
- ✓
A service SAS scoped to the blob with read permission and an expiry time.
Why this is correct
A service SAS is a signed URI that grants time-limited, delegated access to a specific storage resource. Scoping it to the exact blob and setting only the read permission (and an expiry) follows the least-privilege model: the partner can read only that object, only for the window you define, and no other storage resources are exposed. Because the SAS token is embedded in the URL, it is ideal for giving temporary, extranet access without requiring the partner to have an Azure identity. The expiry and permission parameters are enforced by the storage service, so access is revoked automatically once the time passes.
- ✗
A private endpoint to the storage account.
Why it's wrong here
A private endpoint assigns a private IP address from your VNet to the storage account, making its traffic flow over the Microsoft backbone instead of the public internet. This is a network isolation and connectivity feature—it does not authorize any operations, nor does it grant read or write permissions. Even with a private endpoint, any client still needs an authorization mechanism (e.g., Azure AD credentials, access key, or SAS). A private endpoint also has no concept of blob-level scope or expiry, so it cannot fulfill the requirement of temporary, read-only access to a single blob.
When this WOULD be correct
A question requiring secure, private connectivity to a storage account from a virtual network without exposing it to the public internet, such as 'You need to ensure that a storage account is only accessible from a specific VNet. What should you configure?'
- ✗
Contributor access to the storage account.
Why it's wrong here
Contributor access via Azure RBAC is far broader than what is needed: it grants full management-plane control over the storage account, including the ability to configure network rules, regenerate access keys, and make other administrative changes. While some Contributor-like roles can indirectly read data through key access, this option is not scoped to a single blob and carries no expiration. It also may include data-plane actions depending on the exact role assignment, but either way it violates least privilege because the partner would have excessive, persistent control. A narrow, time-bound SAS token is the secure alternative.
When this WOULD be correct
A question requiring a partner to manage all blobs in a storage account (e.g., upload, delete, modify) for an indefinite period, with no need to restrict listing or scope to a single blob.
Option-by-option analysis
Why each answer is right or wrong
Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The AZ-104 exam frequently reuses these exact scenarios with slightly different constraints.
✓A service SAS scoped to the blob with read permission and an expiry time.Correct answer▾
Why this is correct
A service SAS is a signed URI that grants time-limited, delegated access to a specific storage resource. Scoping it to the exact blob and setting only the read permission (and an expiry) follows the least-privilege model: the partner can read only that object, only for the window you define, and no other storage resources are exposed. Because the SAS token is embedded in the URL, it is ideal for giving temporary, extranet access without requiring the partner to have an Azure identity. The expiry and permission parameters are enforced by the storage service, so access is revoked automatically once the time passes.
✗The storage account access key.Wrong answer — click to see why▾
Why this is wrong here
The storage account access key provides full administrative access to the entire storage account, including the ability to list all blobs and write data, which violates the requirement for read-only access to a single blob and no listing capability.
★ When this WOULD be the correct answer
A question that requires full access to all storage account resources (e.g., for backup or migration) and does not restrict listing or write operations, and where temporary access is not a concern.
Why candidates choose this
Candidates may think the access key is a simple way to grant access, not realizing it provides unrestricted control over the entire storage account, far exceeding the limited permissions needed.
✗A private endpoint to the storage account.Wrong answer — click to see why▾
Why this is wrong here
A private endpoint provides secure network access to the storage account but does not enforce read-only or time-limited access to a single blob; it allows full access to the storage account over a private network.
★ When this WOULD be the correct answer
A question requiring secure, private connectivity to a storage account from a virtual network without exposing it to the public internet, such as 'You need to ensure that a storage account is only accessible from a specific VNet. What should you configure?'
Why candidates choose this
Candidates may think private endpoints inherently restrict access permissions, confusing network-level security with data-level authorization, and assume it provides granular access control.
✗Contributor access to the storage account.Wrong answer — click to see why▾
Why this is wrong here
Contributor access at the storage account level grants full read/write/list permissions to all blobs, violating the requirement to restrict access to a single blob with read-only and no list capability.
★ When this WOULD be the correct answer
A question requiring a partner to manage all blobs in a storage account (e.g., upload, delete, modify) for an indefinite period, with no need to restrict listing or scope to a single blob.
Why candidates choose this
Candidates may confuse Contributor role with read-only access, or assume that assigning a role is simpler than generating a SAS token, overlooking the granularity needed.
Analysis generated from the official AZ-104blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”
Go deeper
Related to this question
Learn chapter
Customer-Managed Keys (CMK) for Storage Encryption
Key term
Storage account
A cloud storage account is a container that holds a set of cloud storage services and their data, providing a unique namespace and access policies for storing and managing unstructured data.
Key term
Security
Security in IT is the practice of protecting systems, networks, and data from unauthorized access, damage, or theft.
About these practice questions
Courseiva writes every AZ-104 question from scratch — 1,049 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
Same concept, more angles
1 more way this is tested on AZ-104
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. You need to grant an external partner temporary read access to a single blob in an Azure storage account without giving access to the account key. What should you create?
medium- A.A storage account access key
- ✓ B.A shared access signature (SAS)
- C.A resource lock
- D.A private endpoint
Why B: A shared access signature (SAS) is the correct solution because it provides delegated, time-limited access to a specific Azure storage resource (such as a single blob) without exposing the storage account key. You can configure the SAS with read-only permissions, an expiration time, and apply it to a specific blob URL, meeting the requirement for temporary external read access.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This AZ-104 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 AZ-104 exam.