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 :
- Interface CLI Databricks
- Le fournisseur Databricks Terraform
- Databricks Connect
- L’extension Databricks pour Visual Studio Code
- Le kit de développement logiciel (SDK) Databricks pour Python
- Le kit de développement logiciel (SDK) Databricks pour Java
- Le kit de développement logiciel (SDK) Databricks pour Go
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
.
- Authentification à l’aide d’un jeton d’accès personnel Azure Databricks
- Authentifier l’accès à Azure Databricks avec un principal de service à l’aide d’OAuth (OAuth M2M)
- Authentifier l’accès à Azure Databricks avec un compte utilisateur à l’aide d’OAuth (OAuth U2M)
- Authentification par identités managées Azure
- Authentification du principal de service MS Entra
- 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.
- Champs d’API liés aux
Config
informations d’identification (pour les SDK). Pour définir des champsConfig
, consultez la documentation de référence du kit de développement logiciel (SDK). - Variables d’environnement liées aux informations d’identification.
- 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). - 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.
Config
Champ est le nom du champ dans l’ APIConfig
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 surhttps://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 :
oauth-m2m
: Définissez cette valeur si vous utilisez un principal de service Databricks pour l’authentification M2M avec OAuth 2.0. Pour plus d’informations, consultez Authentifier l’accès à Azure Databricks avec un principal de service à l’aide d’OAuth (OAuth M2M) .pat
: Définissez cette valeur si vous utilisez des jetons d’accès personnels Databricks. Pour plus d’informations, consultez Authentification par jeton d’accès personnel d’Azure Databricks.databricks-cli
: Définissez cette valeur si vous utilisez l’interface CLI Databricks avec OAuth 2.0. Pour plus d’informations, consultez Authentifier l’accès à Azure Databricks avec un compte d’utilisateur à l’aide d’OAuth (OAuth U2M).azure-msi
: Définissez cette valeur si vous utilisez une identité de service managé Azure (MSI). Pour plus d’informations, consultez l’authentification des identités managées Azure.azure-client-secret
: Définissez cette valeur si vous utilisez un principal de service Azure avec des secrets client. Pour plus d’informations, consultez l’authentification du principal du service MS Entra.