Authentification unifiée du client Databricks

L’authentification unifiée du client Databricks centralise la configuration et l’automatisation de l’authentification auprès d’Azure Databricks. Elle vous permet de configurer une fois l’authentification Databricks, puis d’utiliser cette configuration sur plusieurs outils Databricks et kits de développement logiciel sans modifier la configuration de l’authentification.

Outils et kits de développement logiciel (SDK) participants

Les outils Databricks et les kits de développement logiciel (SDK) participants sont les suivants :

Tous les outils et kits SDK participants acceptent les variables d’environnement spéciales et les profils de configuration Azure Databricks pour l’authentification. Le fournisseur Databricks Terraform et les Kits de développement logiciel (SDK) Databricks pour Python, Java et Go acceptent également la configuration directe des paramètres d’authentification au sein du code. Pour plus d’informations, consultez Outils de développement de la documentation de l’outil ou du Kit de développement logiciel (SDK).

Méthodes par défaut pour l’authentification unifiée du client

Chaque fois qu’un outil ou un kit de développement logiciel (SDK) doit s’authentifier auprès d’Azure Databricks, il tente par défaut les types d’authentification suivants dans l’ordre ci-dessous. Lorsque l’outil ou le kit de développement logiciel (SDK) réussit avec le type d’authentification qu’il tente, il cesse de tenter de s’authentifier avec les autres types d’authentification. Pour forcer un kit de développement logiciel (SDK) à s’authentifier avec un type d’authentification spécifique, définissez le champ Type d’authentification Databricks de l’API Config.

  1. Authentification à l’aide d’un jeton d’accès personnel Azure Databricks
  2. Authentifier l’accès à Azure Databricks avec un principal de service à l’aide d’OAuth (OAuth M2M)
  3. Authentifier l’accès à Azure Databricks avec un compte utilisateur à l’aide d’OAuth (OAuth U2M)
  4. Authentification par identités managées Azure
  5. Authentification du principal de service MS Entra
  6. Authentification Azure CLI

Pour chaque type d’authentification que l’outil ou le kit de développement logiciel (SDK) participant essaye, celui-ci tente de trouver les informations d’authentification aux emplacements et dans l’ordre suivants. Lorsque l’outil ou le kit de développement logiciel (SDK) parvient à trouver les informations d’authentification qui peuvent être utilisées, il cesse d’essayer de trouver les informations d’authentification dans les emplacements restants.

  1. Champs d’API liés aux Config informations d’identification (pour les SDK). Pour définir des champs Config, consultez la documentation de référence du kit de développement logiciel (SDK).
  2. Variables d’environnement liées aux informations d’identification.
  3. Champs liés aux informations d’identification dans le profil de configuration DEFAULT dans le fichier .databrickscfg. Pour définir des champs de profil de configuration, consultez (/dev-tools/auth/config-profiles.md).
  4. Toutes les informations d’authentification associées mises en cache par Azure CLI. Consultez Authentification Azure CLI.

Pour fournir une portabilité maximale pour votre code, Databricks vous recommande de créer un profil de configuration personnalisé dans le fichier .databrickscfg, d’ajouter les champs requis ci-dessous pour votre type d’authentification Databricks cible au profil de configuration personnalisé, puis de définir la variable d’environnement DATABRICKS_CONFIG_PROFILE sur le nom du profil de configuration personnalisé.

Variables et champs d’environnement pour l’authentification unifiée du client

Les tableaux suivants répertorient les noms et les descriptions des variables et champs d’environnement pris en charge pour l’authentification unifiée du client Databricks. Dans les tableaux suivants :

  • Variable d’environnement, le cas échéant, est le nom de la variable d’environnement.
  • .databrickscfg Champ, le cas échéant, est le nom du champ dans un fichier de profils de configuration Azure Databricks ou une configuration Databricks Terraform. Pour définir des champs .databrickscfg, consultez Profils de configuration Azure Databricks.
  • Champ Terraform, le cas échéant, est le nom du champ dans une configuration Terraform Databricks. Pour définir des champs Terraform Databricks, consultez la section Authentification dans la documentation du fournisseur Databricks Terraform.
  • ConfigChamp est le nom du champ dans l’ API Config pour le kit de développement logiciel (SDK) spécifié.

Variables et champs d’environnement d’hôte, de jeton et d’ID de compte généraux

Nom courant Description Variable d’environnement Champ .databrickscfg, champ Terraform Champ Config
Hôte Azure Databricks (Chaîne) URL de l’hôte Azure Databricks pour le point de terminaison de l’espace de travail Azure Databricks ou le point de terminaison des comptes Azure Databricks. DATABRICKS_HOST host host (Python),
setHost (Java),
Host (Go)
Jeton Azure Databricks (Chaîne) Le jeton d’accès personnel Azure Databricks ou le jeton Microsoft Entra ID. DATABRICKS_TOKEN token token (Python),
setToken (Java),
Token (Go)
ID de compte Azure Databricks (Chaîne) ID de compte Azure Databricks pour le point de terminaison du compte Azure Databricks. N’a effet que lorsque l’hôte Azure Databricks est également défini sur
https://accounts.azuredatabricks.net.
DATABRICKS_ACCOUNT_ID account_id account_id (Python),
setAccountID (Java),
AccountID (Go)

Variables et champs d’environnement spécifiques à Azure

Nom courant Description Variable d’environnement Champ .databrickscfg, champ Terraform Champ Config
ID client Azure (Chaîne) ID d’application du principal de service Microsoft Entra ID. Utiliser avec l’authentification des identités managées Microsoft Entra ID et l’authentification du principal de service Azure. ARM_CLIENT_ID azure_client_id azure_client_id (Python),
setAzureClientID (Java),
AzureClientID (Go)
Clé secrète client Azure (Chaîne) Secret client du principal de service Microsoft Entra ID. Utilisez avec une authentification du principal de service Microsoft Entra ID. ARM_CLIENT_SECRET azure_client_secret azure_client_secret (Python),
setAzureClientSecret (Java),
AzureClientSecret (Go)
ID client (String) ID client du principal de service managé Azure Databricks ou du principal de service managé Microsoft Entra ID. Utiliser avec l’authentification OAuth M2M. DATABRICKS_CLIENT_ID client_id client_id (Python),
setClientId (Java),
ClientId (Go)
Clé secrète client (String) Le secret du client du principal de service managé Azure Databricks ou du principal de service managé Microsoft Entra ID. Utiliser avec l’authentification OAuth M2M. DATABRICKS_CLIENT_SECRET client_secret client_secret (Python),
setClientSecret (Java),
ClientSecret (Go)
Environnement Azure (Chaîne) Type d’environnement Azure. La valeur par défaut est PUBLIC. ARM_ENVIRONMENT azure_environment azure_environment (Python),
setAzureEnvironment (Java),
AzureEnvironment (Go)
ID locataire Azure (Chaîne) ID de locataire du principal de service Microsoft Entra ID. ARM_TENANT_ID azure_tenant_id azure_tenant_id (Python),
setAzureTenantID (Java),
AzureTenantID (Go)
Azure utilise MSI (Booléen) True pour utiliser le flux d’authentification sans mot de passe Azure Managed Service Identity pour les principaux de service. Nécessite également la définition de l’ID de la ressource Azure. ARM_USE_MSI azure_use_msi AzureUseMSI (Go)
ID de ressource Azure (Chaîne) ID d’Azure Resource Manager pour l’espace de travail Azure Databricks. DATABRICKS_AZURE_RESOURCE_ID azure_workspace_resource_id azure_workspace_resource_id (Python),
setAzureResourceID (Java),
AzureResourceID (Go)

Variables et champs d’environnement spécifiques à .databrickscfg

Utilisez ces variables ou champs d’environnement pour spécifier des paramètres autres que ceux par défaut pour .databrickscfg. Consultez aussi Profils de configuration Azure Databricks.

Nom courant Description Variable d’environnement Champ Terraform Champ Config
Chemin d’accès au fichier .databrickscfg (Chaîne) Chemin d’accès autre que celui par défaut au
fichier .databrickscfg.
DATABRICKS_CONFIG_FILE config_file config_file (Python),
setConfigFile (Java),
ConfigFile (Go)
Profil par défaut .databrickscfg (Chaîne) Profil nommé par défaut à utiliser, autre que DEFAULT. DATABRICKS_CONFIG_PROFILE profile profile (Python),
setProfile (Java),
Profile (Go)

Champ type d’authentification

Utilisez cette variable d’environnement ou ce champ pour forcer un kit de développement logiciel (SDK) à utiliser un type spécifique d’authentification Databricks.

Nom courant Description Champ Terraform Champ Config
Type d’authentification Databricks (Chaîne) Lorsque plusieurs attributs d’authentification sont disponibles dans l’environnement, utilisez le type d’authentification spécifié par cet argument. auth_type auth_type (Python),
setAuthType (Java),
AuthType (Go)

Les valeurs du champ du type d’authentification Databricks prises en charge sont les suivantes :