Globally unique resources that provide access to data management services and serve as the parent namespace for the services.
Thanks for update. Since there are no Lifecycle Management rules and you're not seeing delete logs, here's how to find out who deleted your blobs and how to stop it from happening again.
Enable diagnostic logging (this is the most important step)
By default, Azure doesn't record all blob operations. You need to turn on logging manually:
- Go to your Storage Account in the Azure Portal
- Click Monitoring → Diagnostic settings
- Add a new diagnostic setting
- Check these boxes:
- StorageRead
- StorageWrite
- StorageDelete
- StorageBlobLogs
- Send logs to a Log Analytics Workspace (best option) or to your storage account
Once this is on, all future blob operations will be logged with who did what.
Check the logs for delete operations
If you have Log Analytics, run this query:
StorageBlobLogs
| where OperationName == "DeleteBlob"
| sort by TimeGenerated desc
Look at these columns:
- RequesterUpn – The email of the person or app that deleted it
- CallerIpAddress – The IP address
- TimeGenerated – When it happened
Important: If someone used a SAS token or account key instead of signing in with their Microsoft account, the logs won't show their name.
Check Azure Activity Log
- Go to Storage Account → Activity Log
- Filter for Delete operations
- This shows who deleted containers or changed storage settings
Check for automated tools
Look for these that might be deleting blobs automatically:
- Azure Data Factory pipelines
- Logic Apps workflows
- Azure Functions
- Backup software
- Custom scripts running on VMs
- CI/CD pipelines from Azure DevOps or GitHub
Why You're Not Seeing Logs
If deletions happened but you don't see logs:
- Logging was not turned on before the deletions (logs don't work for past events)
- Someone used a SAS token or account key (these don't show the user's name)
- Logs are in a place you haven't checked yet (like the $logs container inside your storage account)
How to Prevent Future Deletions
Turn on diagnostic logging
This is essential. Without it, you won't know who deleted anything.
Turn on Blob Versioning
This keeps old versions of blobs even after deletion:
- Go to Storage Account → Data composition → Blob versioning
- Turn it on
Increase Soft Delete retention
You have 7 days now. Change it to 30 days to give yourself more time to recover:
- Go to Storage Account → Data protection → Blob soft delete
- Change retention from 7 to 30 days
Use Immutable Storage for important data
This prevents any deletion for a set time:
- Go to Data protection → Immutable blob storage
- Turn on Time-based retention or Legal hold
Check who has permission to delete
- Go to Storage Account → Access control (IAM)
- Remove Storage Blob Data Contributor access from people who don't need it
- Use Storage Blob Data Reader for people who only need to view files
Set up alerts for deletions
Create an alert so you get notified when blobs are deleted:
- Go to Alerts → New alert rule
- Select your storage account
- Set condition to trigger on DeleteBlob operations
- Set up email or Teams notification
Follow the below steps:
- Turn on diagnostic logging right away
- Change soft delete from 7 days to 30 days
- Turn on blob versioning
- Check who has permission to delete and remove unnecessary access
- Look for any automation tools (Data Factory, Logic Apps, scripts) that might delete blobs
- Set up alerts for delete operations
Once logging is on, you'll be able to see exactly who deleted blobs, from what IP address, and when. This will help you find the root cause and stop it from happening again.
Kindly let us know if the above helps or you need further assistance on this issue.
Please do not forget to
and “up-vote” wherever the information provided helps you, this can be beneficial to other community members.