Sandvik Coromant · Azure
Sharing recordings without sharing the keys
Central, audited storage for sensor recordings on Azure: Blob Storage and a document database behind least-privilege roles, managed identity and automated delivery.
- 3custom least-privilege data roles
The problem
Recordings lived on individual PCs. Teams could not share them, and nobody could say who had changed what.
What I built
- Storage: Blob Storage for the recordings and a document database for their metadata, with conflict and overwrite resolution between the cloud copy and each local database, and an idempotent sync from remote to local.
- Audit log and activity monitor, so every change has an author and a time.
- Least privilege by design: three custom data-plane roles instead of one broad key, and a self-service tool for assigning them.
- Identity: Entra ID sign-in with MSAL, and managed identity for the service itself, instead of stored credentials.
- Delivery: PowerShell and az CLI provisioning, App Service with Easy Auth, Azure DevOps CI/CD, and cost and capacity monitoring through the Azure APIs.
A bug worth remembering
The audit query returned the oldest 200 events rather than the newest, so the activity view quietly showed history instead of what had just happened. Since fixing it, "which end of the list does this page come from?" is one of my standard review questions.