View all connectors

Azure DevOps Entra authentication

Use a Microsoft Entra service principal to authenticate DX connections to Azure DevOps Services. This setup applies to the Repositories, Boards, Pipelines, Pull Commits, and Commits (Default branch) connectors.

Note: DX supports Microsoft Entra authentication only for Azure DevOps Services (cloud). Azure DevOps Server connections require a personal access token (PAT).

Before you begin

  • Azure DevOps organization connected to the Microsoft Entra tenant that will contain the service principal, or access to an administrator who can connect it.
  • Microsoft Entra access to register an application and add a client secret or certificate.
  • Azure DevOps access to add the service principal to your organization and grant the required project and resource permissions.

Your organization registers and controls the application in its own Entra tenant. DX does not need an app registration in its own tenant. This uses the Microsoft Entra client credentials flow, so no user sign-in, redirect URI, or refresh token is required. DX requests short-lived Azure DevOps access tokens as needed.

Configure Microsoft Entra authentication

Step 1: Confirm the tenant connection

In Azure DevOps Services, open Organization settings → Microsoft Entra and confirm that the organization is connected to the tenant where you will register the application. If it is not connected, follow Microsoft’s directory connection instructions before continuing.

Azure DevOps organization settings showing the connected Microsoft Entra directory

Step 2: Register an application

Register an application in that tenant. Leave the redirect URI empty for this service-to-service integration. Record its Directory (tenant) ID and Application (client) ID.

Register an application in Microsoft Entra with the redirect URI left empty

Step 3: Add a credential

Choose Client secret or Certificate below and add that credential to the app registration. Keep the credential details for the DX connection in Step 5.

Client secret

In the app registration, open Certificates & secrets → Client secrets and create a secret. Copy its Value when it is displayed. In DX, select Microsoft Entra client secret and enter the tenant ID, client ID, and client secret value. Renew the client secret in Entra and update the DX credential before it expires. See Microsoft’s client secret setup instructions. Microsoft recommends a certificate over a client secret for production use.

Certificate

Obtain an RSA private key and matching X.509 certificate. Follow Microsoft’s certificate recommendations for production use. Upload only the public certificate to App registrations → Certificates & secrets → Certificates in Entra. In DX, select Microsoft Entra certificate and enter the tenant ID, client ID, public certificate in PEM format, and matching unencrypted private key in PEM format.

Upload the public certificate to the Entra app registration

Keep the private key in a protected location outside your source repository. You can revoke DX access by removing that certificate from the Entra app registration. Replace the certificate and DX credential before the certificate expires.

Step 4: Grant Azure DevOps access

In Azure DevOps, go to Organization settings → Users and select Add users. Find and select the app’s service principal from Enterprise applications.

Find the service principal in the Azure DevOps Add new users dialog

Assign the access level, projects, and resource permissions it needs. Azure Repos requires Basic access or higher. If Azure DevOps asks for an Object ID, use the Enterprise application Object ID, not the App registration Object ID or Application (client) ID.

Assign Basic access and select projects for the service principal

After adding the service principal, confirm that it appears in the Users list with the intended access level.

Service principal listed in Azure DevOps Users with Basic access

Repeat this step for every Azure DevOps organization the credential will access. See Microsoft’s service principal setup and permissions guide.

Step 5: Connect in DX

In DX, go to Connections and select + Connection. Choose the Azure DevOps Services (cloud) connector for the data you want to import: Repositories, Boards, Pipelines, Pull Commits, or Commits (Default branch). Microsoft Entra authentication is available only for these cloud connections; Azure DevOps Server connections require a PAT.

Select Microsoft Entra client secret or Microsoft Entra certificate, enter the fields listed in Step 3, and verify the connection. Each connection credential has its own authentication settings. Set up the Repositories connector before adding the other Azure DevOps connectors.

The Azure DevOps organization and project access come from the service principal’s Azure DevOps permissions; Entra application API permissions do not grant that access.

Next steps

Continue with the connector you are configuring:

For API-based credential management, see the shared Azure DevOps credential fields.