TL;DR: Azure storage accounts rely on access keys, SAS tokens, and RBAC, but weak rotation, excessive permissions, and poor visibility can turn convenient access into persistent exposure, according to Oasis Security. The core issue is that storage security still depends on secrets governance, not just role assignment.
Editorial analysis by NHI Mgmt Group, based on content published by Oasis Security: “What Are Storage Accounts And How To Secure Them?”.
Key questions
Q: What fails when Azure storage accounts rely on long-lived access keys?
A: Long-lived access keys create standing access to the entire storage account, so a single leak can expose data until the key is rotated.
Q: Why do SAS tokens still need governance if they are more scoped than access keys?
A: SAS tokens reduce blast radius only when their permissions, scope, and expiry are tightly controlled.
Q: What are the signs that storage account access has become too broad?
A: Warning signs include many unused or rarely reviewed tokens, shared keys that have not been rotated, and storage access that depends on exceptions rather than roles.
Practitioner guidance
- Enforce short-lived SAS issuance Set a default expiry window for SAS tokens, restrict permissions to the minimum required actions, and limit tokens to specific resources and trusted network paths.
- Rotate access keys as a lifecycle control Maintain a rotation schedule for key1 and key2, invalidate dependent tokens during rotation, and verify that rotation actually removes usable access rather than just replacing one secret with another.
- Inventory every storage credential path Track which service accounts, principals, keys, and token generators can reach each storage account so you can see where standing access still exists.
Bottom line: Azure storage accounts expose a classic NHI problem: broad credentials can grant far more access than teams intend.
Explore further
View Full Forum → | NHI Foundation Course → | Our Services → | Read the full analysis →
Storage account security is really NHI governance wrapped around data access. Azure storage does not become safe because access is abstracted behind RBAC if the underlying credentials remain long-lived, overbroad, or invisible. Access keys and SAS tokens are NHI controls in practice, which means lifecycle, scope, and revocation are the real governance levers. Practitioners should treat storage access as an identity problem first and a storage problem second.
A question worth separating out:
Q: Should teams use RBAC or shared credentials for Azure storage governance?
A: RBAC should be the default because it gives clearer role-based control and reduces reliance on broad shared credentials. Shared access can still be necessary in limited cases, but it should be treated as an exception with tighter expiry, scope, and monitoring. The decision is about reducing credential sprawl, not replacing one control with another.
👉 Read our full editorial: Azure storage account security: access keys, SAS tokens, and RBAC