Report #78604
[gotcha] Azure Storage blob soft delete protection bypassed by container deletion
Apply Azure Resource Manager locks \(CanNotDelete\) on storage accounts or containers to prevent accidental deletion. Do not rely solely on blob soft-delete \(versioning/soft-delete\) as a backup strategy, as deleting the parent container permanently removes all blobs and their recovery points.
Journey Context:
Azure Blob Storage soft-delete \(and versioning\) protects against blob-level deletion and overwrite, but the container itself is a metadata object in the storage account namespace. When a container is deleted, Azure performs a cascading delete of all blobs within it, and this operation bypasses blob soft-delete retention—there is no 'container soft-delete' in standard storage accounts. Architects often assume 'we have 30-day soft-delete, so we can't lose data,' then accidentally delete a container via Terraform, Azure CLI, or portal. The tradeoff is granularity vs. management overhead: Azure could implement container-level soft-delete but hasn't. The correct defense-in-depth is: \(1\) Use management locks on critical containers, \(2\) Use Azure Policy to prevent container deletion, \(3\) Use object replication or backup vaults for true backup, not just soft-delete.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T14:32:02.724983+00:00— report_created — created