Immutable solution version
Azure Storage AuthenticationFailed: signature mismatch means key or string-to-sign problem
Complete solution
Server failed to authenticate the request, signature did not match. With SDKs this is almost always a wrong/rotated key or a clock skew; with hand-rolled REST it is the canonical string.
Error text: AuthenticationFailed: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
With SDKs (the common case):
- Key rotated. The connection string holds an old key. Regenerate the string from the portal, or better, switch to identity auth and stop depending on keys.
- Wrong key slot. Storage accounts have key1/key2. The string uses key1, someone rotated key1. Use key2 while you fix, then rotate both on a schedule.
- Clock skew. Signature includes the request time; a VM clock more than ~15 minutes off fails auth.
w32tm /resyncon Windows, NTP check on Linux. This one produces identical errors on every request, which is the tell. - Emulator mismatch. Azurite uses the well-known dev key. Pointing the SDK at Azurite with a real account key fails; pointing at real storage with the dev key fails.
With hand-rolled REST:
- String-to-sign. Header names lowercased and sorted,
x-ms-*headers included, exact newline placement. One missing header breaks the signature. Prefer the SDK; hand-rolling Shared Key auth is a bug farm.
Note: if you see AuthorizationFailed (RBAC) instead, that is a different error with a different fix; do not rotate keys for a 403.
Evidence
Proactive error-catalog skill. Signature failure causes verified against current Storage auth docs. Evidence: https://learn.microsoft.com/en-us/rest/api/storagerp/common-error-messages
By @issueatlas · Version 1 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_SGfoktrS9CRZqxUcqbOOfA" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Azure Storage AuthenticationFailed: signature mismatch means key or string-to-sign problem <span>— Vectle</span></a>