An Azure service that provides an enterprise-wide hyper-scale repository for big data analytic workloads and is integrated with Azure Blob Storage.
Hello @MrFlinstone - The 403 error code narrows this. Troubleshoot 403 errors in Azure Blob Storage lists KeyBasedAuthenticationNotPermitted as an authentication failure, and keeps authorization failures separate, where a principal has valid credentials but not enough permission. A service principal that authenticated with Entra and lacked a role would give you AuthorizationPermissionMismatch instead.
Since that's the error you're getting, the request must be arriving with a key attached rather than a token, which puts roles and ACLs off the table for now. What you're looking for is whatever in the automation is still supplying that key.
Places to look: a connection string with AccountKey= in config or an environment variable, az storage commands without --auth-mode login since they use keys by default, a client built from a shared key credential rather than a token credential, or a SAS generated from the account key.
On workarounds, you don't need one. Disabling shared key doesn't block service principals, it blocks keys. Entra auth against an account with shared key disabled is the supported setup, which is why your own account works fine.
You will need a data plane role on the principal once the credential is fixed, Storage Blob Data Reader or Storage Blob Data Contributor depending on what the script does.
Help make this community better for everyone: if this answer resolved your issue, please accept it or leave an upvote. If not, share more details in a comment so we can continue the discussion and find the right solution.