AZ_STORAGE_CONTRIBUTOR
Summary
Forestall ACL Alias
AZ_STORAGE_CONTRIBUTOR
Azure Alias
Storage Account Contributor
Affected Object Types
Storage Accounts
Exploitation Certainty
Certain
Severity
Critical
Azure RBAC Roles
Storage Account Contributor (17d1049b-9a84-46fb-8f53-869881c3d3ab)
Custom Role Actions:
Microsoft.Storage/storageAccounts/*
Description
AZ_STORAGE_CONTRIBUTOR represents broad management-plane control over an Azure Storage Account. A principal with this edge can manage account configuration, networking, encryption, lifecycle policies, containers, and access-related settings. In many environments this also leads to storage account key extraction and full data-plane access.
This edge is critical because storage accounts commonly contain application data, logs, backups, deployment artifacts, and files that may hold credentials. Even when direct data-plane permissions are not assigned, management-plane control can enable a pivot through account keys, SAS generation, relaxed network controls, or configuration changes.
Related edges: AZ_STORAGE_LIST_KEYS, AZ_STORAGE_SAS_GENERATE, AZ_STORAGE_BLOB_DATA_READER, AZ_STORAGE_BLOB_DATA_WRITER.
Identification
PowerShell (Az Module)
Azure Portal
Open Azure Portal -> target Storage account.
Go to Access control (IAM) -> Role assignments.
Filter for Owner, Contributor, Storage Account Contributor, and custom roles with
Microsoft.Storage/storageAccounts/*.Review inherited assignments from the resource group, subscription, and management group.
Exploitation
These examples are for authorized testing only.
Modify Storage Account Controls
Pivot to Account Keys
If the assigned role includes key-listing permissions, management-plane control can become full data-plane access. For detailed exploitation steps, see AZ_STORAGE_LIST_KEYS.
Generate Delegated Access
Storage account control can also support SAS-based access paths when the required SAS actions are present. For detailed exploitation steps, see AZ_STORAGE_SAS_GENERATE.
Data-Plane Access
Once keys or SAS tokens are obtained, full blob read/write operations become possible. For exploitation details, see AZ_STORAGE_BLOB_DATA_READER and AZ_STORAGE_BLOB_DATA_WRITER.
Mitigation
Reduce broad storage roles - replace Storage Account Contributor with narrower data-plane or management roles where possible.
Use Privileged Identity Management for temporary elevation to Owner, Contributor, and Storage Account Contributor.
Disable shared key authorization when workloads support Microsoft Entra authorization.
Use private endpoints and firewall rules to reduce the impact of exposed keys or SAS tokens.
Monitor inherited assignments at subscription and resource-group scopes, not only direct storage-account assignments.
Detection
Use the Azure Portal:
Open Azure Portal -> target Storage account -> Activity log.
Review write operations against
Microsoft.Storage/storageAccounts/*, especially networking, key, SAS, access policy, and public access setting changes.Review Access control (IAM) for new or unexpected assignments of Owner, Contributor, or Storage Account Contributor.
Send Activity Log and Storage diagnostic logs to a SIEM and alert on configuration changes by unusual principals.
References
Last updated
Was this helpful?