Hi @darkolexis ,
So the main difference is that in case of Azure Databricks managed service principals you can authenticate to Azure Databricks using Databricks OAuth authentication and personal access tokens.
In case of Microsoft Entra ID managed service principals you can authenticate to Azure Databricks using Databricks OAuth authentication and Microsoft Entra ID tokens.
Another difference is Azure Databricks managed service principals are managed directly within Azure Databricks. Microsoft Entra ID managed service principals are managed in Microsoft Entra ID, which requires additional permissions.
Databricks recommends that you use Azure Databricks managed service principals for Azure Databricks automation and that you use Microsoft Entra ID managed service principals in cases where you must authenticate with Azure Databricks and other Azure resources at the same time.
So for example, a good use case for Microsoft Entra Id managed service principal is situation when you'd like to
get access to some azure services, for example configuring databricks auto loader with file notification mode requires EntraID Service Principal with following roles assigned:
- Contributor: This role is for setting up resources in your storage account, such as queues and event subscriptions.
- Storage Queue Data Contributor: This role is for performing queue operations such as retrieving and deleting messages from the queues. This role is required only when you provide a service principal without a connection string.
In such case you can't use it Databricks managed service principa