Configuring an ADF Linked Service Connection for Dataverse
For information on how to enable a connection for use with linked services, see Configuring a Linked Service Connection.
Field labels in this walkthrough follow the underlying Azure Data Factory property names, with the connection column that carries each value named alongside. The exact labels shown in the BimlFlex Connection Editor may differ.
After selecting Common Data Service for Apps from the Linked Service Type dropdown, the form required for creating a Microsoft Dataverse Linked Service will appear.
Common Data Service for Apps is the name that both the Linked Service Type dropdown and the System Type use for Microsoft Dataverse.
Source Only Connector
A Dataverse connection is used as a source. It is not available as a target.
Choosing an Authentication Method
| Method | Credentials | Additional Settings |
|---|---|---|
| AAD Service Principal | Service Principal Id and Service Principal Credential | None |
| Office365 | Username and Password | None |
Recommendation: Use AAD Service Principal and store the Service Principal Credential in Azure Key Vault rather than entering it as plaintext.
Complete Example: AAD Service Principal with Azure Key Vault
| Field | Example Value |
|---|---|
| Connect via Integration Runtime | AutoResolveIntegrationRuntime |
| Deployment Type | Online |
| Service Uri | https://contoso.crm.dynamics.com |
| Authentication Method | AAD Service Principal |
| Service Principal Id | <client-id-of-app-registration> |
| Azure Key Vault Linked Service | bfx-kv |
| Secret Name (for Service Principal Credential) | BFX-SRC-DataverseClientSecret |
Required Fields
Common Required Fields
Most required fields for a Dataverse Linked Service connection depend on the Authentication Method used. There are some fields that are required regardless of Authentication Method.
These common required fields are:
Optional fields are:
Authentication Method Dependent Required Fields
The remaining field requirements are dependent on Authentication Method.
Required fields for AAD Service Principal:
- Service Principal Id
- Service Principal Credential (or Azure Key Vault)
Required fields for Office365:
- Username
- Password (or Azure Key Vault)
Connect via Integration Runtime
Connect via Integration Runtime names the integration runtime for a Dataverse Linked Service connection.
The default value is AutoResolveIntegrationRuntime.
To use another runtime, select it from the dropdown or choose + New to add one.
When a custom value is saved in the linked service form, it will be added to the custom integration runtimes.
The custom values that appear in this dropdown can be maintained in Settings under Azure - AzureIntegrationRuntime.
Deployment Type
The Deployment Type is stored in the connection's LS_DeploymentType column and maps to the ADF deploymentType property.
Set it to Online, the deployment type that the AAD Service Principal and Office365 methods apply to.
The form also shows Host and Port fields, held in the LS_Host and LS_Port columns. They are not part of an online deployment, so leave them empty.
Service Uri
The Service Uri is the address of the Dataverse environment, the same one used to open it in a browser (for example, https://contoso.crm.dynamics.com).
It is stored in the connection's LS_ServiceUri column and maps to the ADF serviceUri property.
Organization Name
The Organization Name is stored in the connection's LS_Organization column and maps to the ADF organizationName property. BimlFlex writes it to the linked service when the column is set.
It is optional for an online deployment. Microsoft recommends the Service Uri for finding the instance.
Authentication Method
The Authentication Method is stored in the connection's LS_AuthenticationMethod column and maps to the ADF authenticationType property, written without spaces.
The Dataverse Linked Service connection can use AAD Service Principal or Office365 authentication.
For AAD Service Principal, a Service Principal Id and Service Principal Credential are required.
For Office365, a Username and Password are required.
AAD Service Principal
AAD Service Principal authentication signs in with a Microsoft Entra application, and BimlFlex writes the Authentication Type AADServicePrincipal.
The Service Principal Id supplies the client ID of the application and is stored in the connection's LS_ServicePrincipalId column. It maps to the ADF servicePrincipalId property.
The Service Principal Credential supplies the application key as plaintext in the LS_ServicePrincipalCredential column, or as an Azure Key Vault reference held in the LS_ServicePrincipalCredentialKVS_ fields that resolves to the key at runtime. It maps to the ADF servicePrincipalCredential property.
When an Azure Key Vault reference is set, the plaintext value is not written to the linked service.
BimlFlex writes the ADF servicePrincipalCredentialType property as ServicePrincipalKey when a Service Principal Credential is supplied.
A value set in the connection's LS_ServicePrincipalCredentialType column is written in its place.
It is suggested that Azure Key Vault be used in place of manually entering the Service Principal Credential.
Office365
Office365 authentication signs in to the Dataverse environment with a Username and Password.
The Username is stored in the connection's LS_Username column and maps to the ADF username property.
The Password field accepts the password as plaintext in the LS_Password column, or an Azure Key Vault reference held in the LS_PasswordKVS_ fields that resolves to the password at runtime. It maps to the ADF password property.
When an Azure Key Vault reference is set, the plaintext Password is not written to the linked service.
Office365 authentication cannot be used when the user is configured in Microsoft Entra ID for conditional access or multifactor authentication. Use AAD Service Principal in that case.
It is suggested that Azure Key Vault be used in place of manually entering the Password.
Azure Data Factory Linked Service Additional Information
For additional information on ADF Dataverse Linked Service and its connection requirements see the Azure Data Factory Dynamics 365 (Microsoft Dataverse) or Dynamics CRM Connector documentation.