Partager via


Paramètres d’authentification pour le pilote ODBC Databricks (Simba)

Cette page explique comment configurer les paramètres d’authentification Azure Databricks pour le pilote ODBC Databricks.

Le pilote ODBC Databricks prend en charge les types d’authentification Azure Databricks suivants :

Jeton Microsoft Entra ID

Le pilote ODBC 2.6.15 et versions ultérieures prennent en charge les jetons Microsoft Entra ID pour un utilisateur Azure Databricks ou un principal de service Microsoft Entra ID.

Pour créer un jeton d’accès Microsoft Entra ID, effectuez ce qui suit :

Les jetons d’accès d’ID Microsoft Entra ont une durée de vie par défaut d’environ une heure. Actualisez un jeton d’accès par programmation pour une session existante sans interrompre la connexion en exécutant le code dans les jetons d’actualisation. Pour obtenir des instructions, consultez Utilisation d’OAuth 2.0 dans le Guide du pilote ODBC Databricks.

Pour vous authentifier à l’aide d’un jeton Microsoft Entra ID, ajoutez les configurations suivantes à vos paramètres de calcul et tous les paramètres des capacités du pilote spéciaux ou avancés :

Paramètre Valeur
AuthMech 11
Auth_Flow 0
Auth_AccessToken Jeton Microsoft Entra ID

Pour créer un nom de source de données pour les systèmes non-Windows, utilisez le format suivant :

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=0
Auth_AccessToken=<microsoft-entra-id-token>

Pour créer une chaîne de connexion sans DSN, utilisez le format suivant. Cet exemple inclut des sauts de ligne pour la lisibilité. N’incluez pas ces sauts de ligne dans votre chaîne de connexion :

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=0;
Auth_AccessToken=<microsoft-entra-id-token>

Pour plus d’informations, consultez la section Pass-through token dans le Guide du pilote ODBC Databricks (HTML ou PDF).

Entités de service avec des rôles Azure

Si votre principal de service Microsoft Entra ID a un rôle Azure sur la ressource d’espace de travail dans Azure, mais qu’il ne se trouve pas dans l’espace de travail Azure Databricks, vous devez définir des en-têtes HTTP supplémentaires dans votre connexion ODBC. Le pilote ODBC Simba Spark prend en charge l’ajout d’en-têtes au format http.header.[HeaderKey]=[HeaderValue].

Définissez les en-têtes requis suivants à partir des principaux de service avec un rôle Azure dans votre chaîne de connexion DSN ou sans DSN :

  • http.header.X-Databricks-Azure-SP-Management-Token=<management-access-token>
  • http.header.X-Databricks-Azure-Workspace-Resource-Id=<workspace-resource-id>

Pour obtenir le jeton de gestion, consultez les entités de service avec rôle Azure. Pour obtenir l’ID de ressource de l’espace de travail, consultez l’authentification des identités managées Azure.

Jetons OAuth 2.0

Le pilote ODBC 2.7.5 et versions ultérieures prennent en charge un jeton OAuth 2.0 pour un principal de service Microsoft Entra ID. Cette opération est également appelée authentification directe de jeton OAuth 2.0.

Important

Le pilote ODBC 2.7.5 et version ultérieure prend en charge l’utilisation de secrets OAuth Azure Databricks pour créer des jetons OAuth 2.0. Les secrets d’ID Microsoft Entra ne sont pas pris en charge.

Les jetons OAuth 2.0 ont une durée de vie par défaut de 1 heure. Pour générer un token OAuth 2.0, répétez ce processus.

Pour vous authentifier à l’aide d’une authentification directe de jeton OAuth 2.0, ajoutez les configurations suivantes à vos paramètres de calcul et tous les paramètres des capacités du pilote spéciaux ou avancés :

Paramètre Valeur
AuthMech 11
Auth_Flow 0
Auth_AccessToken Jeton OAuth Azure Databricks
(L'authentification par passage de jeton OAuth 2.0 ne prend pas en charge les jetons Microsoft Entra ID.)

Pour créer un nom de source de données pour les systèmes non-Windows, utilisez le format suivant :

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=0
Auth_AccessToken=<databricks-oauth-token>

Pour créer une chaîne de connexion sans DSN, utilisez le format suivant. Cet exemple inclut des sauts de ligne pour la lisibilité. N’incluez pas ces sauts de ligne dans votre chaîne de connexion :

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=0;
Auth_AccessToken=<databricks-oauth-token>

Pour plus d’informations, consultez la section Pass-through token dans le Guide du pilote ODBC Databricks (HTML ou PDF).

Authentification Databricks OAuth d’utilisateur à machine (U2M)

Le pilote ODBC 2.8.2 et versions ultérieures prend en charge l’authentification utilisateur à machine (U2M) OAuth pour un utilisateur Azure Databricks. Elle est également appelée authentification basée sur un navigateur OAuth 2.0.

L’authentification basée sur un navigateur OAuth U2M ou OAuth 2.0 a des prérequis. Les jetons OAuth 2.0 ont une durée de vie par défaut de 1 heure. L’authentification basée sur un navigateur OAuth U2M ou OAuth 2.0 actualise automatiquement les jetons OAuth 2.0 expirés.

Remarque

L’authentification basée sur un navigateur OAuth U2M ou OAuth 2.0 fonctionne uniquement avec des applications s’exécutant localement. Elle ne fonctionne pas avec les applications basées sur le serveur ou cloud.

Pour vous authentifier à l’aide de l’authentification basée sur un navigateur OAuth (U2M) ou OAuth 2.0, ajoutez les configurations suivantes à vos paramètres de calcul et tous les paramètres des capacités du pilote spéciaux ou avancés :

Paramètre Valeur
AuthMech 11
Auth_Flow 2
PWD Un mot de passe de votre choix. Le pilote utilise cette clé pour le chiffrement du jeton d’actualisation.
Auth_Client_ID (facultatif) databricks-sql-odbc (par défaut). Pour toutes les applications disponibles, consultez les paramètres des connexions d’application dans la console de compte.
Auth_Scope (facultatif) sql offline_access (valeur par défaut)
OAuth2RedirectUrlPort (facultatif) 8020 (valeur par défaut)

Pour créer un nom de source de données pour les systèmes non-Windows, utilisez le format suivant :

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=2
PWD=<password>

Pour créer une chaîne de connexion sans DSN, utilisez le format suivant. Cet exemple inclut des sauts de ligne pour la lisibilité. N’incluez pas ces sauts de ligne dans votre chaîne de connexion :

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=2;
PWD=<password>

Pour plus d’informations, consultez la section Basée sur le navigateur dans le Guide du pilote ODBC Databricks (HTML ou PDF).

Authentification d’utilisateur à machine (U2M) OAuth Microsoft Entra ID

Le pilote ODBC 2.8.2 et versions ultérieures prend en charge l'authentification OAuth utilisateur-à-machine (U2M) de Microsoft Entra ID pour un utilisateur Azure Databricks.

Pour utiliser Microsoft Entra ID OAuth User-to-Machine (U2M), vous devez inscrire le client OAuth (application) dans Microsoft Entra ID, voir Inscrire une application cliente dans Microsoft Entra ID.

Pour vous authentifier à l’aide d’Utilisateur à machine (U2M) OAuth Microsoft Entra ID, ajoutez les configurations suivantes à vos paramètres de calcul et tous les paramètres des capacités du pilote spéciaux ou avancés :

Paramètre Valeur
AuthMech 11
Auth_Flow 2
PWD Un mot de passe de votre choix. Le pilote utilise cette clé pour le chiffrement du jeton d’actualisation
Auth_Client_ID ID d’application (client) de l’application Azure
Auth_Scope 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access
OIDCDiscoveryEndpoint https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration
OAuth2RedirectUrlPort Port de redirection de l’application Azure

Pour créer un nom de source de données pour les systèmes non-Windows, utilisez le format suivant :

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<application-id-azure-application>
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration
OAuth2RedirectUrlPort=<redirect port of the Azure application>

Pour créer une chaîne de connexion sans DSN, utilisez le format suivant. Cet exemple inclut des sauts de ligne pour la lisibilité. N’incluez pas ces sauts de ligne dans votre chaîne de connexion :

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<application-id-azure-application>;
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access;
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration;
OAuth2RedirectUrlPort=<redirect port of the Azure application>;

Authentification OAuth machine à machine (M2M)

Le pilote ODBC prend en charge l’authentification de machine à machine (M2M) OAuth pour un principal de service Azure Databricks. Elle est également appelée authentification des informations d’identification du client OAuth 2.0.

Pour configurer l’authentification des informations d’identification du client OAuth M2M ou OAuth 2.0, effectuez ces étapes :

  1. Créez un principal de service Azure Databricks dans votre espace de travail Azure Databricks et créez un secret OAuth pour ce principal de service.

    Pour créer le principal de service et son secret OAuth, consultez Autoriser l’accès au principal de service à Azure Databricks avec OAuth. Notez la valeur UUID ou l’ID d’application du principal de service, ainsi que la valeur secrète du secret OAuth du principal de service.

  2. Accordez au principal de service l’accès à votre cluster ou entrepôt. Consultez Autorisations de calcul ou Gérer un entrepôt SQL.

Pour vous authentifier à l’aide de l’authentification des informations d’identification du client OAuth (M2M) ou OAuth 2.0, ajoutez les configurations suivantes à vos paramètres de calcul et tous les paramètres de capacité de pilote spéciaux ou avancés :

Paramètre Valeur
AuthMech 11
Auth_Flow 1
Auth_Client_ID Valeur de l’ID d’application UUID/ du principal de service.
Auth_Client_Secret Valeur de Secret OAuth du principal de service.
Auth_Scope (facultatif) all-apis (valeur par défaut)

Pour créer un nom de source de données pour les systèmes non-Windows, utilisez le format suivant :

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<service-principal-application-ID>
Auth_Client_Secret=<service-principal-secret>
Auth_Scope=all-apis

Pour créer une chaîne de connexion sans DSN, utilisez le format suivant. Cet exemple inclut des sauts de ligne pour la lisibilité. N’incluez pas ces sauts de ligne dans votre chaîne de connexion :

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<service-principal-application-ID>;
Auth_Client_Secret=<service-principal-secret>;
Auth_Scope=all-apis

Pour plus d’informations, consultez la section Informations d’identification du client dans le Guide du pilote ODBC Databricks (HTML ou PDF).

Authentification de machine à machine (M2M) OAuth Microsoft Entra ID

Le pilote ODBC 2.8.2 et versions ultérieures prend en charge l’authentification microsoft Entra ID OAuth machine à machine (M2M) pour un principal de service Microsoft Entra ID.

Pour configurer l’authentification de machine à machine (M2M) OAuth Entra ID, procédez comme suit :

  1. Créez un principal de service géré par Microsoft Entra ID. Pour cela, consultez Principaux de service.
  2. Accordez au principal de service l’accès à votre cluster ou entrepôt. Consultez Autorisations de calcul ou Gérer un entrepôt SQL.

Pour vous authentifier à l’aide de Machine à machine (M2M) OAuth Entra ID, ajoutez les configurations suivantes à vos paramètres de calcul et tous les paramètres des capacités du pilote spéciaux ou avancés :

Paramètre Valeur
AuthMech 11
Auth_Flow 1
Auth_Client_ID ID d’application du principal de service dans Entra ID
Auth_Client_Secret Secret client du principal de service dans Entra ID. Il s’agit de la clé secrète client que vous créez dans Certificats et secrets dans Microsoft Entra ID.
Auth_Scope 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default
OIDCDiscoveryEndpoint https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

Pour créer un nom de source de données pour les systèmes non-Windows, utilisez le format suivant :

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<entra-id-service-principal-application-ID>
Auth_Client_Secret=<entra-id-service-principal-client-secret>
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

Pour créer une chaîne de connexion sans DSN, utilisez le format suivant. Cet exemple inclut des sauts de ligne pour la lisibilité. N’incluez pas ces sauts de ligne dans votre chaîne de connexion :

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<entra-id-service-principal-application-ID>>;
Auth_Client_Secret=<entra-id-service-principal-client-secret>;
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default;
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration

Authentification des identités managées Azure

Le pilote ODBC 2.7.7 et versions ultérieures prend en charge l’authentification des identités managées Azure. Utilisez cette méthode d’authentification lors de l’utilisation des ressources Azure qui prennent en charge les identités managées, telles que les machines virtuelles Azure.

Pour vous authentifier à l’aide d’une authentification par les identités managées Azure, ajoutez les configurations suivantes à vos paramètres de calcul et tous les paramètres des capacités du pilote spéciaux ou avancés :

Paramètre Valeur
AuthMech 11
Auth_Flow 3
Auth_Client_ID Identifiant de l’identité managée Azure.
Azure_workspace_resource_id L’ID de ressource Azure de votre espace de travail Azure Databricks.
Pour obtenir cet ID, dans la barre de navigation supérieure de votre espace de travail Azure Databricks, cliquez sur votre nom d’utilisateur, puis sur
Portail Azure. Dans la page ressource de l’espace de travail Azure Databricks qui s’affiche, cliquez sur Propriétés sous Paramètres dans la barre latérale. L’ID se trouve dans ID sous Essentials.

Pour créer un nom de source de données pour les systèmes non-Windows, utilisez le format suivant :

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=3
Auth_Client_ID=<azure-managed-identity-ID>
Azure_workspace_resource_id=<azure-workspace-resource-ID>

Pour créer une chaîne de connexion sans DSN, utilisez le format suivant. Cet exemple inclut des sauts de ligne pour la lisibilité. N’incluez pas ces sauts de ligne dans votre chaîne de connexion :

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=3;
Auth_Client_ID=<azure-managed-identity-ID>;
Azure_workspace_resource_id=<azure-workspace-resource-ID>

Jeton d’accès personnel Azure Databricks (hérité)

Pour créer un jeton d’accès personnel Azure Databricks, suivez les étapes décrites dans Créer des jetons d’accès personnels pour les utilisateurs de l’espace de travail.

Pour vous authentifier à l’aide d’un jeton d’accès personnel Azure Databricks, ajoutez les configurations suivantes à vos paramètres de calcul et tous les paramètres des capacités du pilote spéciaux ou avancés :

Paramètre Valeur
AuthMech 3
UID token
PWD Le jeton d’accès personnel Databricks pour votre utilisateur d’espace de travail

Pour créer un nom de source de données pour les systèmes non-Windows, utilisez le format suivant :

[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=3
UID=token
PWD=<personal-access-token>

Pour créer une chaîne de connexion sans DSN, utilisez le format suivant. Cet exemple inclut des sauts de ligne pour la lisibilité. N’incluez pas ces sauts de ligne dans votre chaîne de connexion :

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=3;
UID=token;
PWD=<personal-access-token>