A fully managed end-to-end service for digitally signing code, documents, and applications. (formerly Trusted Signing)
Hi @Paul Baker - It looks like you’re signing in with a personal Microsoft account rather than a work account that exists in your Entra directory, and that’s what signtool is objecting to.
The reason the Azure portal still works is that those two things behave differently. A personal Microsoft account can be granted access to an Azure subscription and work perfectly fine in the portal without ever existing as a user inside the directory that subscription belongs to. The portal doesn't check for that, and signtool does, because signing requires you to exist in the directory, and yours doesn't appear to.
You can see the mismatch in the error message. The tenant it names, “Microsoft Services,” isn’t your directory, which means the sign-in never reached your tenant at all. That may also be why the guest invitation didn't help: you were inviting a guest into your directory while the authentication was resolving somewhere else entirely.
The GUID in the error is worth noting too. 04b07795-8ddb-461a-bbee-02f9e1bf7b46 is just the Azure CLI's client ID, and there's nothing signing-specific about it. Signtool uses the normal Azure identity chain, and that chain picked up your personal account.
To confirm all of this, open Microsoft Entra ID in the portal, go to Users, find your account, and check the Source column. If it says Microsoft Account instead of Microsoft Entra ID, that’s the root cause.
The fix is to use a member user in your directory rather than a guest. Create a member user in Entra ID, assign it the signing role on your Artifact Signing resource under Access Control (IAM), and sign in as that user when signtool prompts you.
If you’d prefer to avoid interactive sign-in altogether, you can register an app, create a client secret, and set AZURE_CLIENT_ID, AZURE_TENANT_ID, and AZURE_CLIENT_SECRET. One thing about the environment variables: whichever way you set them, open a new terminal afterward. Existing ones won't pick them up, and you don't need to reboot.
And the certificate renewal is just a coincidence. Renewal doesn’t change how you authenticate, and this failure is happening before any certificate is involved.
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.