Partager via


Authentification à l’aide d’un jeton d’accès personnel Azure Databricks

Les jetons d’accès personnel (PAT) Azure Databricks sont utilisés pour authentifier l’accès aux ressources et aux API au niveau de l’espace de travail Azure Databricks. La plupart des mécanismes de stockage des informations d’identification et des renseignements associés (par exemple les variables d’environnement et les profils de configuration Azure Databricks) offrent la prise en charge des jetons d’accès personnels Azure Databricks. Bien qu’un utilisateur puisse posséder plusieurs jetons d’accès personnels dans un espace de travail Azure Databricks, chaque jeton d’accès personnel ne fonctionne que pour un seul espace de travail Azure Databricks. Le nombre de jetons d’accès personnels par utilisateur est limité à 600 par espace de travail.

Important

Databricks recommande d’utiliser OAuth plutôt que des PAT pour l’authentification et l’autorisation du client de compte d’utilisateur en raison de l’amélioration de la sécurité offerte par OAuth. Pour savoir comment utiliser OAuth pour effectuer une authentification client avec un compte d’utilisateur Databricks, consultez Authentifier l’accès à Azure Databricks avec un compte utilisateur à l’aide d’OAuth (OAuth U2M) (pour l’authentification de compte d’utilisateur).

L’authentification de base (non basée sur un jeton) à l’aide d’un nom d’utilisateur et d’un mot de passe Azure Databricks a atteint sa fin de vie le 10 juillet 2024.

Pour automatiser la fonctionnalité au niveau du compte Azure Databricks, vous ne pouvez pas utiliser de jetons d’accès personnels Azure Databricks. Au lieu de cela, vous devez utiliser les jetons Microsoft Entra ID des administrateurs de compte Azure Databricks. Les administrateurs de compte Azure Databricks peuvent être des utilisateurs ou des principaux de service. Pour plus d'informations, consultez les pages suivantes :

Jetons d'accès personnels Azure Databricks pour les utilisateurs de l'espace de travail

Pour créer un jeton d'accès personnel Azure Databricks pour votre utilisateur d'espace de travail Azure Databricks, procédez comme suit :

  1. Dans votre espace de travail Azure Databricks, cliquez sur votre nom d’utilisateur Azure Databricks dans la barre supérieure, puis sélectionnez Paramètres dans la liste déroulante.
  2. Cliquez sur Développeur.
  3. À côté de Jetons d’accès, cliquez sur Gérer.
  4. Cliquez sur Générer un nouveau jeton.
  5. (Facultatif) Entrez un commentaire qui vous aide à identifier ce jeton à l’avenir et modifiez sa durée de vie par défaut (90 jours). Pour créer un jeton sans durée de vie (non recommandé), laissez vide la zone Durée de vie (en jours).
  6. Cliquez sur Générer.
  7. Copiez le jeton affiché dans un emplacement sécurisé, puis cliquez sur Terminé.

Remarque

Veillez à enregistrer le jeton copié dans un emplacement sécurisé. Ne partagez pas votre jeton copié avec d'autres. Si vous le perdez, vous ne pouvez pas régénérer exactement le même. Vous devez donc répéter cette procédure pour créer un jeton. Si vous perdez le jeton copié ou si vous pensez que le jeton a été compromis, Databricks vous recommande vivement de supprimer immédiatement ce jeton de votre espace de travail en cliquant sur l’icône de la corbeille (Révoquer) à côté du jeton de la page Jetons d’accès.

Si vous n'êtes pas en mesure de créer ou d'utiliser des jetons dans votre espace de travail, cela peut être dû au fait que votre administrateur d'espace de travail a désactivé les jetons ou ne vous a pas donné l'autorisation de créer ou d'utiliser des jetons. Consultez votre administrateur d'espace de travail ou les rubriques suivantes :

Jetons d’accès personnels Azure Databricks pour les principaux de service

Un principal de service peut créer des jetons d’accès personnels Databricks pour lui-même de la manière suivante :

Remarque

Vous ne pouvez pas utiliser l’interface utilisateur Azure Databricks pour générer des jetons d’accès personnels Azure Databricks pour les principaux de service. Ce processus utilise Databricks CLI version 0.205 ou ultérieure pour générer un jeton d’accès pour un principal de service. Si l’interface CLI Databricks n’est pas déjà installée, consultez Installer ou mettre à jour l’interface CLI Databricks.

Cette procédure suppose que vous utilisez l’authentification de machine à machine OAuth (M2M) ou l’authentification du principal du service Microsoft Entra ID pour configurer l’authentifier du principal de service par l’interface CLI Databricks afin de générer des jetons d’accès personnels Azure Databricks pour lui-même. Consultez Authentification OAuth machine à machine (M2M) ou Authentification du principal du service Microsoft Entra ID.

  1. Utilisez l’interface CLI Databricks pour exécuter la commande suivante, qui génère un autre jeton d’accès pour le principal de service.

    Exécutez la commande suivante :

    databricks tokens create --comment <comment> --lifetime-seconds <lifetime-seconds> -p <profile-name>
    
    • --comment : remplacez <comment> par tout commentaire significatif sur l’objectif du jeton d’accès. Si l’option --comment n’est pas spécifiée, aucun commentaire n’est généré.
    • --lifetime-seconds : Si vous le souhaitez, remplacez <lifetime-seconds> par le nombre de secondes de la durée de validité du jeton d’accès. Par exemple, 1 jour représente 86 400 secondes. Si l’option --lifetime-seconds n’est pas spécifiée, le jeton d’accès est défini pour ne jamais expirer (non recommandé).
    • --profile-name : remplacez <profile-name> par le nom d’un profil de configuration Azure Databricks qui contient des informations d’authentification pour le principal de service et l’espace de travail cible. Si l’option -p n’est pas spécifiée, l’interface CLI Databricks tente de rechercher et d’utiliser un profil de configuration nommé DEFAULT.
  2. Dans la réponse, copiez la valeur de token_value, qui est le jeton d’accès pour le principal de service.

    Veillez à enregistrer le jeton copié dans un emplacement sécurisé. Ne partagez pas votre jeton copié avec d'autres. Si vous le perdez, vous ne pouvez pas régénérer exactement le même. Vous devez donc répéter cette procédure pour créer un jeton.

    Si vous n'êtes pas en mesure de créer ou d'utiliser des jetons dans votre espace de travail, cela peut être dû au fait que votre administrateur d'espace de travail a désactivé les jetons ou ne vous a pas donné l'autorisation de créer ou d'utiliser des jetons. Consultez votre administrateur d'espace de travail ou les personnes suivantes :

Effectuer une authentification à l’aide de jetons d’accès personnels Azure Databricks

Pour configurer l’authentification à l’aide de jetons d’accès personnels Azure Databricks, vous devez définir les variables d’environnement, les champs .databrickscfg, les champs Terraform ou les champs Config associés suivants :

  • L’hôte Azure Databricks, spécifié en tant qu’URL par espace de travail Azure Databricks cible, par exemple https://adb-1234567890123456.7.azuredatabricks.net.
  • Jeton d’accès personnel Azure Databricks pour le compte d’utilisateur Azure Databricks.

Pour mener à bien l’authentification par jeton d’accès personnel Azure Databricks, intégrez les éléments suivants dans votre code, en fonction de l’outil ou du SDK participant :

Environnement

Pour utiliser des variables d’environnement pour un type d’authentification Azure Databricks spécifique avec un outil ou un kit de développement logiciel (SDK), consultez Authentifier l’accès aux ressources Azure Databricks, ou la documentation de l’outil ou du SDK. Consultez également Variables et champs d’environnement pour l’authentification unifiée du client et Méthodes par défaut pour l’authentification unifiée du client.

Définissez les variables d’environnement suivantes :

  • DATABRICKS_HOST, défini sur l’URL par espace de travail Azure Databricks, par exemple https://adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN

Profil

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 utiliser le profil avec un outil ou un kit de développement logiciel (SDK), consultez Authentifier l’accès aux ressources Azure Databricks ou la documentation de l’outil ou du SDK. Consultez également Variables et champs d’environnement pour l’authentification unifiée du client et Méthodes par défaut pour l’authentification unifiée du client.

Définissez les valeurs suivantes dans votre fichier .databrickscfg. Dans ce cas, l’hôte est l’URL par espace de travail Azure Databricks, par exemple https://adb-1234567890123456.7.azuredatabricks.net :

[<some-unique-configuration-profile-name>]
host  = <workspace-url>
token = <token>

Au lieu de définir manuellement les valeurs précédentes dans votre fichier .databrickscfg, vous pouvez utiliser à la place l’interface CLI Databricks pour définir ces valeurs, comme suit :

Remarque

La procédure suivante utilise l’interface de ligne de commande (CLI) Databricks pour créer un profil de configuration Azure Databricks nommé DEFAULT. Si vous avez déjà un profil de configuration DEFAULT, cette procédure remplace votre profil de configuration DEFAULT existant.

Pour vérifier si vous avez déjà un profil de configuration DEFAULT et pour voir les paramètres de ce profil s’il existe, utilisez l’interface CLI Databricks pour exécuter la commande databricks auth env --profile DEFAULT.

Pour créer un profil de configuration avec un nom autre que DEFAULT, remplacez la partie DEFAULT de --profile DEFAULT dans la commande databricks configure suivante par un autre nom de profil de configuration.

  1. Utilisez l’interface CLI Databricks pour créer un profil de configuration Azure Databricks nommé DEFAULT qui utilise l’authentification par jeton d’accès personnel Azure Databricks. Pour ce faire, exécutez la commande suivante :

    databricks configure --profile DEFAULT
    
  2. Pour l’invite Databricks Host , entrez votre URL Azure Databricks par espace de travail, par exemple : https://adb-1234567890123456.7.azuredatabricks.net.

  3. Pour l’invite Jeton d’accès personnel, entrez le jeton d’accès personnel Azure Databricks pour votre espace de travail.

INTERFACE DE LIGNE DE COMMANDE

Pour l’interface CLI Databricks, exécutez la commande databricks configure. Quand vous y êtes invité, entrez les valeurs suivantes :

  • L’hôte Azure Databricks, spécifié en tant qu’URL par espace de travail Azure Databricks cible, par exemple https://adb-1234567890123456.7.azuredatabricks.net.
  • Jeton d’accès personnel Azure Databricks pour le compte d’utilisateur Azure Databricks.

Pour plus d’informations, consultez Authentification par jeton d’accès personnel d’Azure Databricks.

Se connecter

Remarque

L’authentification par jeton d’accès personnel d’Azure Databricks est prise en charge sur les versions suivantes de Databricks Connect :

  • Pour Python, Databricks Connect pour Databricks Runtime 13.3 LTS et versions ultérieures.
  • Pour Scala, Databricks Connect pour Databricks Runtime 13.3 LTS et versions ultérieures.

Pour Databricks Connect, vous pouvez utiliser l’interface CLI Databricks afin de définir les valeurs de votre fichier .databrickscfg pour les opérations au niveau de l’espace de travail Azure Databricks comme spécifié dans la section « Profil » de cet article, de la manière suivante :

Remarque

La procédure suivante utilise l’interface de ligne de commande (CLI) Databricks pour créer un profil de configuration Azure Databricks nommé DEFAULT. Si vous avez déjà un profil de configuration DEFAULT, cette procédure remplace votre profil de configuration DEFAULT existant.

Pour vérifier si vous avez déjà un profil de configuration DEFAULT et pour voir les paramètres de ce profil s’il existe, utilisez l’interface CLI Databricks pour exécuter la commande databricks auth env --profile DEFAULT.

Pour créer un profil de configuration avec un nom autre que DEFAULT, remplacez la partie DEFAULT de --profile DEFAULT dans la commande databricks configure, comme indiqué à l’étape suivante, par un autre nom de profil de configuration.

  1. Utilisez l’interface CLI Databricks pour créer un profil de configuration Azure Databricks nommé DEFAULT qui utilise l’authentification par jeton d’accès personnel Azure Databricks. Pour ce faire, exécutez la commande suivante :

    databricks configure --configure-cluster --profile DEFAULT
    
  2. Pour l’invite Databricks Host , entrez votre URL Azure Databricks par espace de travail, par exemple : https://adb-1234567890123456.7.azuredatabricks.net.

  3. Pour l’invite Jeton d’accès personnel, entrez le jeton d’accès personnel Azure Databricks pour votre espace de travail.

  4. Dans la liste des clusters disponibles qui s’affiche, utilisez vos flèches haut et bas pour sélectionner le cluster Azure Databricks cible dans votre espace de travail, puis appuyez sur Enter. Vous pouvez également taper n’importe quelle partie du nom d’affichage du cluster pour filtrer la liste des clusters disponibles.

Les autres approches prises en charge pour Databricks Connect sont les suivantes :

  • Définissez manuellement les valeurs de votre fichier .databrickscfg pour les opérations au niveau de l’espace de travail Azure Databricks, comme spécifié dans la section « Profil » de cet article. Définissez également la variable d’environnement cluster_id dans votre profil sur votre URL par espace de travail, par exemple https://adb-1234567890123456.7.azuredatabricks.net.
  • Définissez les variables d’environnement pour les opérations au niveau de l’espace de travail Azure Databricks, comme spécifié dans la section « Environnement » de cet article. Définissez également la variable d’environnement DATABRICKS_CLUSTER_ID sur votre URL par espace de travail, par exemple https://adb-1234567890123456.7.azuredatabricks.net.

Les valeurs de votre fichier .databrickscfg sont toujours prioritaires sur les variables d’environnement.

Pour initialiser le client Databricks Connect avec ces variables d’environnement ou les valeurs de votre fichier .databrickscfg, consultez une des rubriques suivantes :

VS Code

Pour l’extension Databricks pour Visual Studio Code, procédez comme suit :

  1. Définissez les valeurs de votre fichier .databrickscfg pour les opérations au niveau de l’espace de travail Azure Databricks comme spécifié dans la section « Profil » de cet article.
  2. Dans le volet Configuration de l’extension Databricks pour Visual Studio Code, cliquez sur Configurer Databricks.
  3. Dans la palette de commandes, pour Hôte Databricks, entrez votre URL par espace de travail, par exemple https://adb-1234567890123456.7.azuredatabricks.net, puis appuyez sur Enter.
  4. Dans la palette de commandes, sélectionnez le nom de votre profil cible dans la liste pour votre URL.

Pour plus d’informations, consultez Configuration de l’authentification pour l’extension Databricks pour Visual Studio Code.

Terraform

Pour l’authentification par défaut :

provider "databricks" {
  alias = "workspace"
}

Pour la configuration directe (remplacez les espaces réservés retrieve par votre propre implémentation afin de récupérer les valeurs de la console ou d’un autre magasin de configuration comme HashiCorp Vault. Référez-vous également à Vault Provider). Dans ce cas, l’hôte est l’URL par espace de travail Azure Databricks, par exemple https://adb-1234567890123456.7.azuredatabricks.net :

provider "databricks" {
  alias = "workspace"
  host  = <retrieve-workspace-url>
  token = <retrieve-token>
}

Pour plus d’informations sur l’authentification avec le fournisseur Databricks Terraform, consultez Authentification.

Python

Pour l’authentification par défaut :

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

Pour la configuration directe (remplacez les espaces réservés retrieve par votre propre implémentation afin de récupérer les valeurs de la console ou d’un autre magasin de configuration comme Azure KeyVault). Dans ce cas, l’hôte est l’URL par espace de travail Azure Databricks, par exemple https://adb-1234567890123456.7.azuredatabricks.net :

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(
  host  = retrieve_workspace_url(),
  token = retrieve_token()
)
# ...

Pour plus d’informations sur l’authentification avec les outils et les kits de développement logiciel (SDK) Databricks qui utilisent Python et qui implémentent l’Authentification unifiée du client Databricks, consultez :

Java

Pour l’authentification par défaut :

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

Pour la configuration directe (remplacez les espaces réservés retrieve par votre propre implémentation afin de récupérer les valeurs de la console ou d’un autre magasin de configuration comme Azure KeyVault). Dans ce cas, l’hôte est l’URL par espace de travail Azure Databricks, par exemple https://adb-1234567890123456.7.azuredatabricks.net :

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveWorkspaceUrl())
  .setToken(retrieveToken());
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Pour plus d’informations sur l’authentification avec les outils et les kits de développement logiciel (SDK) Databricks qui utilisent Java et qui implémentent l’Authentification unifiée du client Databricks, consultez :

Go

Pour l’authentification par défaut :

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

Pour la configuration directe (remplacez les espaces réservés retrieve par votre propre implémentation afin de récupérer les valeurs de la console ou d’un autre magasin de configuration comme Azure KeyVault). Dans ce cas, l’hôte est l’URL par espace de travail Azure Databricks, par exemple https://adb-1234567890123456.7.azuredatabricks.net :

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:  retrieveWorkspaceUrl(),
  Token: retrieveToken(),
}))
// ...

Pour plus d’informations sur l’authentification avec les outils et les kits de développement logiciel (SDK) Databricks qui utilisent Go et qui implémentent l’Authentification unifiée du client Databricks, consultez Authentifier le kit de développement logiciel (SDK) Databricks pour Go avec votre compte ou votre espace de travail Azure Databricks.