Authentification pour l’interface CLI Databricks
Remarque
Ces informations s’appliquent à Databricks CLI versions 0.205 et ultérieures. L’interface CLI Databricks est en préversion publique.
L’utilisation de l’interface CLI Databricks est soumise à la licence Databricks et à la notification de confidentialité Databricks, y compris les dispositions relatives aux données d’utilisation.
Cet article explique comment configurer l’authentification entre l’interface CLI Databricks et vos comptes et espaces de travail Azure Databricks. Consultez Qu’est-ce que l’interface CLI Databricks ?.
Cet article suppose que vous avez déjà installé l’interface CLI Databricks. Consultez Installer ou mettre à jour l’interface CLI Databricks.
Avant de pouvoir exécuter des commandes d’interface CLI Databricks, vous devez configurer l’authentification entre l’interface CLI Databricks et vos comptes Azure Databricks, vos espaces de travail ou une combinaison de ces commandes, en fonction des types de commandes CLI que vous souhaitez exécuter.
Vous devez authentifier l’interface CLI Databricks auprès des ressources appropriées au moment de l’exécution afin d’exécuter des commandes d’automatisation Azure Databricks au sein d’un compte ou d’un espace de travail Azure Databricks. Selon que vous souhaitez appeler des commandes au niveau de l’espace de travail Azure Databricks, au niveau du compte Azure Databricks ou les deux, vous devez vous authentifier auprès de l’espace de travail ou du compte Azure Databricks, ou des deux. Pour obtenir la liste des groupes de commandes CLI au niveau de l’espace de travail et au niveau du compte Azure Databricks, exécutez la commande databricks -h
. Pour obtenir la liste des opérations de l’API REST Azure Databricks au niveau de l’espace de travail et au niveau du compte Azure Databricks couvertes par les commandes CLI Databricks, consultez l’article API REST Databricks.
Pour plus d’informations sur l’authentification Microsoft Entra sur Databricks avec Azure DevOps en particulier, consultez S’authentifier avec Azure DevOps sur Databricks.
Les sections suivantes fournissent des informations sur la configuration de l’authentification entre l’interface CLI Databricks et Azure Databricks :
- Authentification à l’aide d’un jeton d’accès personnel Azure Databricks
- Authentification OAuth machine à machine (M2M)
- Authentification utilisateur à machine (U2M) OAuth
- Authentification par identités managées Azure
- Authentification du principal de service Microsoft Entra ID
- Authentification Azure CLI
- Ordre d’évaluation de l’authentification
Authentification à l’aide d’un jeton d’accès personnel Azure Databricks
L’authentification par jeton d’accès personnel Azure Databricks a recours à un jeton d’accès personnel Azure Databricks pour authentifier l’entité Azure Databricks cible, par exemple un compte d’utilisateur Azure Databricks. Consultez Authentification à l’aide de jetons d’accès personnels Azure Databricks.
Remarque
Vous ne pouvez pas utiliser l’authentification par jeton d’accès personnel Azure Databricks pour l’authentification avec un compte Azure Databricks, car les commandes au niveau du compte Azure Databricks n’utilisent pas de jetons d’accès personnels Azure Databricks pour l’authentification. Pour vous authentifier avec un compte Azure Databricks, envisagez d’utiliser l’un des types d’authentification suivants à la place :
Pour créer un jeton d’accès personnel, suivez les étapes décrites dans Les jetons d’accès personnels Azure Databricks pour les utilisateurs de l’espace de travail.
Remarque
La procédure suivante crée un profil de configuration Azure Databricks nommé DEFAULT
. Si vous disposez déjà d’un profil de configuration DEFAULT
que vous souhaitez utiliser, ignorez cette procédure. Sinon, cette procédure remplace votre profil de configuration DEFAULT
existant. Pour afficher les noms et les hôtes de tous les profils de configuration existants, exécutez la commande databricks auth profiles
.
Pour créer un profil de configuration portant un autre nom que DEFAULT
, ajoutez --profile <configuration-profile-name>
ou -p <configuration-profile-name>
à la fin de la commande databricks configure
suivante, en remplaçant <configuration-profile-name>
par le nom du nouveau profil de configuration.
Pour configurer et utiliser l’authentification par jeton d’accès personnel Azure Databricks, procédez comme suit :
Utilisez l’interface CLI Databricks pour exécuter la commande suivante :
databricks configure
Pour l’invite Databricks Host , entrez votre URL Azure Databricks par espace de travail, par exemple :
https://adb-1234567890123456.7.azuredatabricks.net
.Pour l’invite Jeton d’accès personnel, entrez le jeton d’accès personnel Azure Databricks pour votre espace de travail.
Une fois que vous avez entré votre jeton d’accès personnel Azure Databricks, un profil de configuration correspondant est ajouté à votre fichier
.databrickscfg
. Si l’interface CLI Databricks ne trouve pas ce fichier à son emplacement par défaut, elle le crée à votre place, puis ajoute ce profil de configuration au nouveau fichier. L’emplacement par défaut de ce fichier est votre dossier~
(dossier de base d’utilisateur) sur Unix, Linux ou macOS, ou votre dossier%USERPROFILE%
(dossier de base d’utilisateur) sur Windows.Vous pouvez désormais utiliser l’option
--profile
ou-p
de l’interface CLI Databricks suivie du nom de votre profil de configuration, dans le cadre de l’appel de commande CLI Databricks, par exempledatabricks clusters list -p <configuration-profile-name>
.
Authentification OAuth machine à machine (M2M)
Au lieu de vous authentifier auprès d’Azure Databricks à l’aide d’une authentification par jeton d’accès personnel Azure Databricks, vous pouvez utiliser l’authentification OAuth. OAuth fournit des jetons avec des délais d’expiration plus rapides que les jetons d’accès personnels Azure Databricks, et offre de meilleures invalidation et étendue de session côté serveur. Étant donné que les jetons d’accès OAuth expirent en moins d’une heure, cela réduit le risque associé à la vérification accidentelle des jetons dans le contrôle de code source. Consultez également Authentifier l’accès à Azure Databricks avec un principal de service à l’aide d’OAuth (OAuth M2M).
Pour configurer et utiliser l’authentification OAuth M2M, procédez comme suit :
Suivez les instructions de configuration de l’authentification OAuth M2M. Voir Authentifier l’accès à Azure Databricks avec un principal de service à l’aide d’OAuth (OAuth M2M)
Créez ou identifiez un profil de configuration Azure Databricks avec les champs suivants dans votre fichier
.databrickscfg
. Si vous créez le profil, remplacez les espaces réservés par les valeurs appropriées.Pour les commandes au niveau du compte, définissez les valeurs suivantes dans votre fichier
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <account-console-url> account_id = <account-id> client_id = <service-principal-client-id> client_secret = <service-principal-oauth-secret>
Pour les commandes au niveau de l’espace de travail, définissez les valeurs suivantes dans votre fichier
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <workspace-url> client_id = <service-principal-client-id> client_secret = <service-principal-oauth-secret>
Remarque
L’emplacement par défaut du
.databrickscfg
fichier se trouve dans le répertoire de base de l’utilisateur. Il s’agit~
de Linux et macOS, et%USERPROFILE%
pour Windows.Utilisez l’option
--profile
ou-p
de l’interface CLI Databricks suivie du nom de votre profil de configuration, dans le cadre de l’appel de commande CLI Databricks, par exemple,databricks account groups list -p <configuration-profile-name>
oudatabricks clusters list -p <configuration-profile-name>
.Conseil
Appuyez sur
Tab
après--profile
ou-p
pour afficher une liste de profils de configuration disponibles existants à choisir, au lieu d’entrer manuellement le nom du profil de configuration.
Authentification utilisateur à machine (U2M) OAuth
Au lieu de vous authentifier auprès d’Azure Databricks à l’aide de l’authentification par jeton, vous pouvez utiliser l’authentification OAuth. OAuth fournit des jetons avec des délais d’expiration plus rapides que les jetons d’accès personnels Azure Databricks, et offre de meilleures invalidation et étendue de session côté serveur. Étant donné que les jetons d’accès OAuth expirent en moins d’une heure, cela réduit le risque associé à la vérification accidentelle des jetons dans le contrôle de code source. Consultez également Authentifier l’accès à Azure Databricks avec un compte utilisateur à l’aide d’OAuth (OAuth U2M).
Pour configurer et utiliser l’authentification OAuth U2M, procédez comme suit :
Avant d’appeler des commandes au niveau du compte Azure Databricks, vous devez lancer la gestion des jetons OAuth localement en exécutant la commande suivante. Cette commande doit être exécutée séparément pour chaque compte sur lequel vous souhaitez exécuter des commandes. Si vous ne souhaitez pas appeler d’opérations au niveau du compte, passez à l’étape 5.
Dans la commande suivante, remplacez les espaces réservés suivants :
- Remplacez
<account-console-url>
par votre https://accounts.azuredatabricks.net API Azure Databricks. - Remplacez
<account-id>
par l’ID de votre compte Azure Databricks. Consultez Localiser votre ID de compte.
databricks auth login --host <account-console-url> --account-id <account-id>
- Remplacez
L’interface CLI Databricks vous invite à enregistrer l’URL de la console de compte et l’ID de compte localement en tant que profil de configuration Azure Databricks. Appuyez sur
Enter
pour accepter le nom de profil suggéré, ou entrez le nom d’un profil nouveau ou existant. Tout profil existant portant le même nom est remplacé par cet ID de compte et cette URL de console de compte.Pour obtenir la liste des profils existants, dans un terminal ou une invite de commandes distincts, exécutez la commande
databricks auth profiles
. Pour voir les paramètres existants d’un profil spécifique, exécutez la commandedatabricks auth env --profile <profile-name>
.Dans votre navigateur web, suivez les instructions à l’écran pour vous connecter à votre compte Azure Databricks.
Pour afficher la valeur actuelle du jeton OAuth et l’horodatage d’expiration à venir, exécutez la commande
databricks auth token --host <account-console-url> --account-id <account-id>
.Avant d’appeler des commandes au niveau de l’espace de travail Azure Databricks, vous devez lancer la gestion des jetons OAuth localement en exécutant la commande suivante. Cette commande doit être exécutée séparément pour chaque espace de travail sur lequel vous souhaitez exécuter des commandes.
Dans la commande suivante, remplacez
<workspace-url>
par votre URL d’espace de travail Azure Databricks, par exemplehttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
L’interface CLI Databricks vous invite à enregistrer l’URL de l’espace de travail localement en tant que profil de configuration Azure Databricks. Appuyez sur
Enter
pour accepter le nom de profil suggéré, ou entrez le nom d’un profil nouveau ou existant. Tout profil existant portant le même nom est remplacé par cette URL d’espace de travail.Pour obtenir la liste des profils existants, dans un terminal ou une invite de commandes distincts, exécutez la commande
databricks auth profiles
. Pour voir les paramètres existants d’un profil spécifique, exécutez la commandedatabricks auth env --profile <profile-name>
.Dans votre navigateur web, suivez les instructions à l’écran pour vous connecter à votre espace de travail Azure Databricks.
Pour afficher la valeur actuelle du jeton OAuth et l’horodatage d’expiration à venir, exécutez la commande
databricks auth token --host <workspace-url>
.Utilisez l’option
--profile
ou-p
de l’interface CLI Databricks suivie du nom de votre profil de configuration, dans le cadre de l’appel de commande CLI Databricks, par exempledatabricks account groups list -p <configuration-profile-name>
oudatabricks clusters list -p <configuration-profile-name>
.Conseil
Vous pouvez appuyer sur
Tab
après--profile
ou-p
pour afficher une liste de profils de configuration disponibles existants à choisir, au lieu d’entrer manuellement le nom du profil de configuration.
Authentification des identités managées Azure
L’authentification des identités managées Azure utilise des identités managées pour les ressources Azure (anciennement Managed Service Identities (MSI)) pour l’authentification. Consultez Que sont les identités managées pour les ressources Azure ? Consultez également Authentification des identités managées Azure.
Pour créer une identité managée affectée par l’utilisateur Azure, procédez comme suit :
Créez ou identifiez une machine virtuelle Azure et installez l’interface CLI Databricks sur celle-ci, puis affectez votre identité managée à votre machine virtuelle Azure et à vos comptes Azure Databricks, espaces de travail ou les deux cibles. Consultez Configurer et utiliser l’authentification des identités managées Azure pour l’automatisation Azure Databricks.
Sur la machine virtuelle Azure, créez ou identifiez un profil de configuration Azure Databricks avec les champs suivants dans votre fichier
.databrickscfg
. Si vous créez le profil, remplacez les espaces réservés par les valeurs appropriées.Pour les commandes au niveau du compte, définissez les valeurs suivantes dans votre fichier
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <account-console-url> account_id = <account-id> azure_client_id = <azure-managed-identity-application-id> azure_use_msi = true
Pour les commandes au niveau de l’espace de travail, définissez les valeurs suivantes dans votre fichier
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <workspace-url> azure_client_id = <azure-managed-identity-application-id> azure_use_msi = true
Pour les commandes au niveau de l’espace de travail, si l’identité cible n’a pas encore été ajoutée à l’espace de travail, spécifiez
azure_workspace_resource_id
avec l’ID de ressource Azure, au lieu dehost
avec l’URL de l’espace de travail. Dans ce cas, l’identité cible doit avoir au moins les autorisations Contributeur ou Propriétaire sur la ressource Azure.Remarque
L’emplacement par défaut du
.databrickscfg
fichier se trouve dans le répertoire de base de l’utilisateur. Il s’agit~
de Linux et macOS, et%USERPROFILE%
pour Windows.Sur la machine virtuelle Azure, utilisez l’option
--profile
ou-p
de CLI Databricks suivie du nom de votre profil de configuration pour définir le profil pour Databricks à utiliser, par exempledatabricks account groups list -p <configuration-profile-name>
oudatabricks clusters list -p <configuration-profile-name>
.Conseil
Vous pouvez appuyer sur
Tab
après--profile
ou-p
pour afficher une liste de profils de configuration disponibles existants à choisir, au lieu d’entrer manuellement le nom du profil de configuration.
Authentification du principal du service Microsoft Entra ID
L’authentification du principal de service Microsoft Entra ID utilise les informations d’identification d’un principal de service Microsoft Entra ID pour s’authentifier. Pour créer et gérer des principaux de service pour Azure Databricks, consultez Gérer les principaux de service. Consultez également Authentification du principal de service MS Entra.
Pour que vous puissiez configurer et utiliser l’authentification du principal de service Microsoft Entra ID, l’authentification Azure CLI doit être installée localement. Vous devez également effectuer les étapes suivantes :
Créez ou identifiez un profil de configuration Azure Databricks avec les champs suivants dans votre fichier
.databrickscfg
. Si vous créez le profil, remplacez les espaces réservés par les valeurs appropriées.Pour les commandes au niveau du compte, définissez les valeurs suivantes dans votre fichier
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <account-console-url> account_id = <account-id> azure_tenant_id = <azure-service-principal-tenant-id> azure_client_id = <azure-service-principal-application-id> azure_client_secret = <azure-service-principal-client-secret>
Pour les commandes au niveau de l’espace de travail, définissez les valeurs suivantes dans votre fichier
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <workspace-url> azure_tenant_id = <azure-service-principal-tenant-id> azure_client_id = <azure-service-principal-application-id> azure_client_secret = <azure-service-principal-client-secret>
Pour les commandes au niveau de l’espace de travail, si le principal de service Microsoft Entra ID cible n’a pas encore été ajouté à l’espace de travail, spécifiez
azure_workspace_resource_id
avec l’ID de ressource Azure, au lieu dehost
avec l’URL de l’espace de travail. Dans ce cas, le principal de service Microsoft Entra ID cible doit avoir au moins l’autorisation Contributeur ou Propriétaire sur la ressource Azure.Remarque
L’emplacement par défaut du
.databrickscfg
fichier se trouve dans le répertoire de base de l’utilisateur. Il s’agit~
de Linux et macOS, et%USERPROFILE%
pour Windows.Utilisez l’option
--profile
ou-p
de l’interface CLI Databricks suivie du nom de votre profil de configuration, dans le cadre de l’appel de commande CLI Databricks, par exempledatabricks account groups list -p <configuration-profile-name>
oudatabricks clusters list -p <configuration-profile-name>
.Conseil
Vous pouvez appuyer sur
Tab
après--profile
ou-p
pour afficher une liste de profils de configuration disponibles existants à choisir, au lieu d’entrer manuellement le nom du profil de configuration.
Authentification Azure CLI
L’authentification Azure CLI utilise Azure CLI pour authentifier l’entité connectée. Consultez également la section Authentification Azure CLI.
Pour configurer l’authentification Azure CLI, vous devez effectuer les opérations suivantes :
Installer Azure CLI localement.
Utiliser Azure CLI pour vous connecter à Azure Databricks en exécutant la commande
az login
. Consulter Connexion à Azure CLI avec un compte d’utilisateur Azure Databricks.Créez ou identifiez un profil de configuration Azure Databricks avec les champs suivants dans votre fichier
.databrickscfg
. Si vous créez le profil, remplacez les espaces réservés par les valeurs appropriées.Pour les commandes au niveau du compte, définissez les valeurs suivantes dans votre fichier
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <account-console-url> account_id = <account-id>
Pour les commandes au niveau de l’espace de travail, définissez les valeurs suivantes dans votre fichier
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <workspace-url>
Remarque
L’emplacement par défaut du
.databrickscfg
fichier se trouve dans le répertoire de base de l’utilisateur. Il s’agit~
de Linux et macOS, et%USERPROFILE%
pour Windows.Utilisez l’option
--profile
ou-p
de l’interface CLI Databricks suivie du nom de votre profil de configuration, dans le cadre de l’appel de commande CLI Databricks, par exempledatabricks account groups list -p <configuration-profile-name>
oudatabricks clusters list -p <configuration-profile-name>
.Conseil
Vous pouvez appuyer sur
Tab
après--profile
ou-p
pour afficher une liste de profils de configuration disponibles existants à choisir, au lieu d’entrer manuellement le nom du profil de configuration.
Ordre d’évaluation de l’authentification
Chaque fois que l’interface CLI Databricks doit collecter les paramètres nécessaires à l’authentification auprès d’un espace de travail ou d’un compte Azure Databricks, elle recherche ces paramètres aux emplacements ci-dessous, dans l’ordre suivant.
- Pour toutes les commandes exécutées à partir du répertoire de travail du bundle (racine du bundle et chemin d’accès imbriqué), les valeurs des champs dans les fichiers de paramètres de bundle d’un projet. (Les fichiers de paramètres groupés ne prennent pas en charge l’inclusion directe des valeurs d’informations d’identification d’accès.)
- Les valeurs des variables d’environnement, comme indiqué dans cet article et dans la section Variables et champs d’environnement pour l’authentification unifiée du client.
- Les valeurs des champs de profil de configuration dans le fichier
.databrickscfg
, comme indiqué précédemment dans cet article.
Chaque fois que l’interface CLI Databricks trouve les paramètres requis dont elle a besoin, elle interrompt la recherche aux autres emplacements. Par exemple :
- L’interface CLI Databricks a besoin de la valeur d’un jeton d’accès personnel Azure Databricks. Une variable d’environnement
DATABRICKS_TOKEN
est définie et le fichier.databrickscfg
contient également plusieurs jetons d’accès personnels. Dans cet exemple, l’interface CLI Databricks utilise la valeur de la variable d’environnementDATABRICKS_TOKEN
et n’examine pas le fichier.databrickscfg
. - La commande
databricks bundle deploy -t dev
a besoin de la valeur d’un jeton d’accès personnel Azure Databricks. Une variable d’environnementDATABRICKS_TOKEN
n’est pas définie et le fichier.databrickscfg
contient plusieurs jetons d’accès personnels. Le fichier de paramètres groupés du projet contient une déclaration d’environnementdev
qui fait référence via son champprofile
à un profil de configuration nomméDEV
. Dans cet exemple, l’interface CLI Databricks recherche dans le fichier.databrickscfg
un profil nomméDEV
et utilise la valeur du champtoken
de ce profil. - La commande
databricks bundle run -t dev hello-job
a besoin de la valeur d’un jeton d’accès personnel Azure Databricks. Une variable d’environnementDATABRICKS_TOKEN
n’est pas définie et le fichier.databrickscfg
contient plusieurs jetons d’accès personnels. Le fichier de paramètres groupés du projet contient une déclaration d’environnementdev
qui fait référence via son champhost
à une URL d’espace de travail Azure Databricks spécifique. Dans cet exemple, l’interface CLI Databricks recherche dans les profils de configuration du fichier.databrickscfg
un profil qui contient un champhost
avec une URL d’espace de travail correspondante. L’interface CLI Databricks trouve un champhost
correspondant, puis utilise la valeur du champtoken
de ce profil.