Storage Account Protected From Deletion After Enabling Immutable Storage With Versioning

Akash Biradar 0 Reputation points
2026-06-14T17:44:05.2066667+00:00

Storage Account: myblobstorage1234567890

Subscription ID: cxxxxxxcc84a3

Issue: Storage account cannot be deleted after enabling Immutable Storage with Versioning.

Evidence collected:

immutableStorageWithVersioning.enabled = true

immutableStorageWithVersioning.immutabilityPolicy = null

PropertyIsImmutable returned when attempting to disable the feature.

Blob immutability policy was successfully deleted.

Container has:

hasImmutabilityPolicy = false

  hasLegalHold = false

  
  Blob delete returns BlobNotFound.

  
  Blob listing still shows:

  
     G163688744_Invoice.pdf

     
        VersionId: 2026-06-14T13:23:32.7639196Z

        
        Container deletion returns:

        
           ContainerImmutableStorageWithVersioningEnabled

           
           Storage account deletion returns:

           
              AccountProtectedFromDeletion

              
              REST API deletion returns:

              
                 AccountProtectedFromDeletion
```Request: Please confirm whether the remaining version record can be removed and whether the storage account can be released from deletion protection.  
  
Additional findings:

1. immutableStorageWithVersioning.enabled = true

2. Attempting to disable it returns:

PropertyIsImmutable

3. Blob immutability policy was deleted successfully:

az storage blob immutability-policy delete

4. Blob deletion was attempted and the blob now returns:

BlobNotFound

5. Container properties show:

hasImmutabilityPolicy = false

hasLegalHold = false

immutableStorageWithVersioningEnabled = true

6. Container deletion returns:

ContainerImmutableStorageWithVersioningEnabled

7. Storage account deletion returns:

AccountProtectedFromDeletion

8. Resource group deletion fails because the storage account is protected from deletion.

9. Blob listing still shows one version:

G163688744_Invoice.pdf

VersionId: 2026-06-14T13:23:32.7639196Z

Question:

Is there a supported method to permanently remove the remaining version record and release the storage account from deletion protection, or is this expected behavior of Immutable Storage with Versioning?
Azure Blob Storage
Azure Blob Storage

An Azure service that stores unstructured data in the cloud as blobs.

0 comments No comments

2 answers

Sort by: Most helpful
  1. Vallepu Venkateswarlu 10,590 Reputation points Microsoft External Staff Moderator
    2026-06-15T10:50:18.21+00:00

    Hi Akash Biradar,

    Welcome to Microsoft Q&A Platform
    You cannot directly delete the storage account/containers. Please note that the immutability features are meant for regulatory compliance. Therefore, we cannot override or bypass them in any case.

    Due to compliance guarantees of WORM storage, deletion cannot be overridden by subscription administrators or Microsoft Support or Microsoft Engineering team while protected versions exist. The containers can be deleted only after all retained blob versions have expired and been removed.

    Referhttps://learn.microsoft.com/en-us/azure/storage/blobs/immutable-storage-overview#about-immutable-st…

    However, you can delete the blob after the retention interval has expired.

    Please refer the document for the same - Configure immutability policies for containers - Azure Storage | Microsoft Learn 

     As a workaround, please follow the steps below to delete the storage account(Only after the retention interval has expired if applicable):

    Option 1:

    • Delete all the blobs and its versions in all the containers within the storage account you want to remove.
    • After deleting all the blobs and versions , delete the containers one by one.
    • Once all the blobs and containers are deleted, you will be able to delete the storage account.

    Option 2:

    To delete container, you must delete all the blobs inside the container first and then proceed with deletion the container.

    You can delete the blobs in bulk using [Azure Storage Explorer]

    1. Download Azure Storage Explorer and install it
    2. Sign in with the appropriate Microsoft Account
    3. Browse to the container you want to empty
    4. Click on the Select All button
      • To delete container, you must delete all the blobs inside the container first and then proceed with deletion the container.
      You can delete the blobs in bulk using [Azure Storage Explorer] Download Azure Storage Explorer and install it Sign in with the appropriate Microsoft Account Browse to the container you want to empty Click on the Select All button

    Please210246-screenshot-2021-12-10-121802.pngand “up-vote” wherever the information provided helps you, **this can be beneficial to other community members.

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments

  2. AI answer

    2026-06-14T17:44:27.4666667+00:00

    This is expected behavior of Immutable Storage with Versioning and there is no supported method to remove the remaining version record or to release the storage account from deletion protection while version-level immutability is enabled.

    From the documented behavior:

    1. Version-level immutability protects the account and container from deletion
      • When at least one container has version-level immutable storage enabled, the storage account is protected from deletion:
        • “Storage account deletion fails if there is at least one container with version-level immutable storage enabled, or if it's enabled for the account.”
      • Container deletion fails if any blob exists in the container (including versions), regardless of whether the policy is locked or unlocked:
        • “Container deletion fails if at least one blob exists in the container, regardless of whether policy is locked or unlocked.”
      • The data protection overview reiterates this:
        • “If at least one container has version-level immutability enabled, the storage account is also protected from deletion. Container deletion fails if at least one blob exists in the container.”
    2. Blob versions remain immutable even after retention expiry or policy deletion
      • Blob versions are always immutable for content; overwrites create new versions rather than modifying or deleting existing ones:
        • “Blob versions are always immutable for content. If versioning is enabled for the storage account, then a write operation to a block blob creates a new version…”
      • For a blob version with an expired retention policy and no legal hold, the version can be deleted, but the immutability model still enforces that overwrites create new versions and that metadata/content protection rules apply.
    3. Version-level immutability configuration is itself immutable once enabled
      • Enabling version-level immutability on a container is a one-way migration:
        • “To configure version-level immutability policies for an existing container, you must migrate the container to support version-level immutable storage. Container migration may take some time and can't be reversed.”
      • This explains the PropertyIsImmutable error when attempting to disable immutableStorageWithVersioning.enabled.
    4. Account and container delete protection is tied to the feature, not just active policies
      • Even if hasImmutabilityPolicy = false and hasLegalHold = false, the presence of version-level immutability support (immutableStorageWithVersioningEnabled = true) and existing blob versions means:
        • Container deletion fails because the container still “contains one or more blobs” and version-level immutability is enabled.
        • Storage account deletion fails because “there is at least one container with version-level immutable storage enabled, or if it's enabled for the account.”

    Given the above documented behavior:

    • The remaining blob version record is part of the immutable history and cannot be selectively removed by any supported operation once protected under version-level immutability.
    • The storage account remains protected from deletion as long as any container has version-level immutable storage enabled and contains blob versions; this protection cannot be disabled by configuration changes after migration.

    Therefore, the observed behavior (remaining version record, ContainerImmutableStorageWithVersioningEnabled, AccountProtectedFromDeletion, and PropertyIsImmutable when trying to disable the feature) aligns with the documented, expected behavior of Immutable Storage with Versioning. There is no supported method to bypass or remove that remaining version record or to release the storage account from deletion protection while version-level immutable storage is in effect.


    References:

    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.