A fully managed end-to-end service for digitally signing code, documents, and applications. (formerly Trusted Signing)
Hello Antone Roundy,
Greetings! Thanks for raising this question in Q&A forum.
The error you are seeing "Selected user account does not exist in tenant 'Microsoft Services'" is happening because Azure Artifact Signing (Trusted Signing) requires authentication against an Azure Active Directory (Entra ID) work or school account, not a personal Microsoft account (like outlook.com or hotmail.com). When you set up the resource in the Azure Portal using your personal account, Azure created an automatic "Default Directory" tenant behind the scenes — but the signtool signing client authenticates through a different Microsoft Services tenant (04b07795-8ddb-461a-bbee-02f9e1bf7b46), which your personal account cannot be added to as an external user. This is a known platform limitation, not a configuration mistake on your part.
Here are the steps to get this working correctly:
Step 1: Understand the core requirement
Azure Artifact Signing requires an Azure Entra ID (work/school) account for the signing client authentication flow. A personal Microsoft account alone cannot complete the interactive login that signtool initiates. This is by design and cannot be bypassed by sending yourself a guest invitation.
Step 2: Create a free Azure Entra ID tenant with a work account
The good news is you can create a free Entra ID tenant and a work-style account at no cost. Here is how:
Go to https://entra.microsoft.com → sign in with your personal Microsoft account → click Create a tenant → select Azure Active Directory → fill in your organization name (can be anything, like your name or app name) → complete the setup
This creates a proper Entra ID directory. Then create a user inside it:
Entra Portal → Users → New User → Create User → set a username like admin@<yourdomain>.onmicrosoft.com
Step 3: Move your Artifact Signing resource to the new tenant
Once your Entra ID tenant is ready, you have two options:
Option A — Re-create your Artifact Signing account under a subscription associated with the new Entra ID tenant. This is the cleanest approach since your identity validation is already completed and linked to your personal account identity.
Option B — Transfer your existing Azure subscription to the new Entra ID tenant. Go to:
Azure Portal → Subscriptions → Your Subscription → Change Directory → select your new Entra ID tenant
Note: This will temporarily break access to resources during the transfer, so plan accordingly.
Step 4: Assign the correct RBAC role to your new work account
After the resource is accessible from your new Entra ID tenant, assign your new work account the Artifact Signing Certificate Profile Signer role on the Trusted Signing Account resource:
Azure Portal → Your Trusted Signing Account → Access Control (IAM) → Add Role Assignment → search for Artifact Signing Certificate Profile Signer → assign it to your new Entra ID user account
Step 5: Update your signtool command to use the new account
When running signtool, make sure you are signed in with your new Entra ID work account (admin@<yourdomain>.onmicrosoft.com) rather than your personal Microsoft account. The interactive login prompt from signtool should now complete successfully since the account exists in the correct directory.
Step 6: If you want to stick with your personal account
Unfortunately, this is not currently supported for the interactive signing client flow. However, you can use a service principal with a client secret as a workaround for non-interactive/automated signing scenarios. This allows you to authenticate without an interactive Entra ID user login. The setup involves:
- Creating an App Registration in your Entra ID tenant
- Granting it the Artifact Signing Certificate Profile Signer role
- Using the client ID and secret in your signing pipeline via environment variables:
AZURE_CLIENT_ID=<app-registration-client-id>
AZURE_CLIENT_SECRET=<your-client-secret>
AZURE_TENANT_ID=<your-tenant-id>
This is especially useful if you plan to automate signing in a CI/CD pipeline later.
If this answer helps you kindly accept the answer which will help others who have similar questions.
Best Regards,
Jerald Felix.