Check provider logo

Storage account has blob versioning enabled

storage_blob_versioning_is_enabled

Severitymedium
Servicestorage
by Prowler

Azure Storage accounts have blob versioning enabled (IsVersioningEnabled) to automatically retain previous versions of blobs created by updates or deletes

Risk

Without blob versioning:

  • Integrity: overwrites can't be reverted
  • Availability: deletes or ransomware remove usable copies
  • Forensics: no immutable history for investigation and scoped recovery

Mistakes or compromised identities can cause irreversible object loss and wider impact.

Run this check with Prowler CLI

prowler azure --checks storage_blob_versioning_is_enabled

Recommendation

Enable blob versioning for accounts holding critical data. Pair with blob soft delete and lifecycle rules to retain and age off versions. Enforce least privilege on write and version-delete actions, and monitor access. For high-churn data, isolate into separate accounts with tailored retention to balance security and cost.

Remediation

CLI

az storage account blob-service-properties update --resource-group <resource_group> --account-name <storage-account> --enable-versioning true

Native IaC
Terraform
Other
  1. In the Azure portal, go to Storage accounts and open your storage account
  2. Under Data management, select Data protection
  3. In Tracking, set Enable versioning for blobs to Enabled
  4. Click Save

Source Code

Resource Type

microsoft.storage/storageaccounts

References