Partager via


Authentification avec des jetons d’accès personnels Azure Databricks (ancien)

Les jetons d’accès personnels (PAT) Azure Databricks vous permettent de vous authentifier auprès de ressources et d’API au niveau de l’espace de travail. Vous pouvez les stocker dans des variables d’environnement ou des profils de configuration Azure Databricks. Chaque Token d'Accès Personnel (PAT) est valide pour un seul espace de travail, et un utilisateur peut créer jusqu'à 600 PAT par espace de travail. Azure Databricks révoque automatiquement les PAT qui n’ont pas été utilisés depuis 90 jours.

Important

L’authentification par nom d’utilisateur et mot de passe (sans jetons) a atteint la fin de vie le 10 juillet 2024. Databricks recommande vivement d’utiliser OAuth au lieu de paTs pour l’authentification par compte d’utilisateur, car OAuth offre une sécurité plus forte. Pour savoir comment s’authentifier avec un compte d’utilisateur Databricks à l’aide d’OAuth, consultez Autoriser l’accès utilisateur à Azure Databricks avec OAuth.

Vous ne pouvez pas utiliser de jetons d’accès personnels pour automatiser les fonctionnalités au niveau du compte Azure Databricks. Utilisez plutôt les jetons d’ID Microsoft Entra 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 :

Créer des jetons d’accès personnels pour les utilisateurs de l’espace de travail

Pour créer un jeton d’accès personnel 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 dans la barre supérieure, puis sélectionnez Paramètres.

  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. Entrez un commentaire pour vous aider à identifier ce jeton à l’avenir.

  6. Définissez la durée de vie du jeton en jours. Consultez Définir la durée de vie maximale des nouveaux jetons d’accès personnels.

  7. Cliquez sur Générer.

  8. Copiez le jeton affiché dans un emplacement sécurisé, puis cliquez sur Terminé. Enregistrez le jeton de manière sécurisée et ne le partagez pas. Si vous perdez le jeton d'accès, vous devez en créer un nouveau.

Si vous ne pouvez pas créer ou utiliser de jetons, votre administrateur d’espace de travail peut avoir désactivé des jetons ou ne pas vous accorder l’autorisation. Consultez votre administrateur d'espace de travail ou les personnes suivantes :

Créer des jetons d’accès personnels pour les principaux de service

Un principal de service peut créer des jetons d’accès personnels pour lui-même.

  1. Exécutez la commande suivante pour générer un jeton d’accès :

    databricks tokens create --lifetime-seconds <lifetime-seconds> -p <profile-name>
    

    Remplacez les valeurs suivantes :

    • <lifetime-seconds>: durée de vie du jeton en secondes, par exemple 86400 pendant 1 jour. La valeur par défaut est la valeur maximale de l’espace de travail (généralement 730 jours).
    • <profile-name>: profil de configuration avec des informations d’authentification. La valeur par défaut est DEFAULT.
  2. Copiez le token_value de la réponse, qui est le jeton d’accès de votre principal de service. Enregistrez le jeton de manière sécurisée et ne le partagez pas. Si vous perdez le jeton d'accès, vous devez en créer un nouveau.

Si vous ne pouvez pas créer ou utiliser de jetons, votre administrateur d’espace de travail peut avoir désactivé des jetons ou ne pas vous accorder l’autorisation. Consultez votre administrateur d'espace de travail ou les personnes suivantes :

Effectuer une authentification par jeton d’accès personnel

Pour configurer l’authentification par jeton d’accès personnel Azure Databricks, définissez les variables d’environnement associées suivantes, .databrickscfg champs, champs Terraform ou Config champs :

  • 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 SDK, consultez Autoriser l’accès aux ressources Azure Databricks ou à la documentation de l’outil ou du SDK. Consultez également les variables et champs d’environnement pour l’authentification unifiée et la priorité de la méthode d’authentification.

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, défini sur la chaîne de jeton.

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 Autoriser l’accès aux ressources Azure Databricks ou à la documentation de l’outil ou du SDK. Consultez également les variables et champs d’environnement pour l’authentification unifiée et la priorité de la méthode d’authentification.

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, vous pouvez utiliser l’interface CLI Databricks pour définir ces valeurs à la place :

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 disposez déjà d’un DEFAULT profil de configuration et pour afficher 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éconseillée).

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, utilisez l’interface CLI Databricks pour définir les valeurs de votre .databrickscfg fichier, pour les opérations au niveau de l’espace de travail Azure Databricks, comme spécifié dans la section Profil.

La procédure suivante crée un profil de configuration Azure Databricks nommé DEFAULT, qui remplace tout profil existant DEFAULT . Pour vérifier si un DEFAULT profil existe, exécutez databricks auth env --profile DEFAULT. S’il existe, utilisez un autre nom de profil.

  1. Exécutez la commande suivante pour créer un profil de configuration Azure Databricks nommé DEFAULT qui utilise l’authentification par jeton d’accès personnel.

    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, entrez le jeton d’accès personnel pour votre espace de travail.

  4. Dans la liste des clusters disponibles, sélectionnez le cluster Azure Databricks cible dans votre espace de travail. Vous pouvez taper n’importe quelle partie du nom d’affichage du cluster pour filtrer la liste des clusters disponibles.

Utiliser l’API REST Azure Databricks pour émettre des jetons d’accès personnels

Azure Databricks fournit un point de terminaison /api/2.0/token/create REST pour émettre des PAT. Pour plus d’informations sur l’API, consultez Créer un jeton d’utilisateur.

Dans l’exemple suivant, définissez ces valeurs :

  • <databricks-instance>: URL de votre espace de travail Databricks. Par exemple : dbc-abcd1234-5678.cloud.databricks.com.
  • <your-existing-access-token>: Un pat valide (chaîne) existant qui dispose des autorisations nécessaires pour créer de nouveaux jetons.
  • <lifetime-seconds>: durée de vie du jeton en secondes.
curl -X POST https://<databricks-instance>/api/2.0/token/create \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "lifetime_seconds": <lifetime-seconds>
}'

Si elle réussit, cela entraîne une charge utile de réponse similaire à :

{
  "access_token": "<your-newly-issued-pat>",
  "token_type": "Bearer",
  "expires_in": <the-duration-of-the-new-pat>
}

Fournissez le nouveau jeton de la réponse dans l’en-tête d’autorisation des appels suivants aux API REST Databricks. Par exemple :

# This example uses a simple GET. For POST or other REST verbs, you may need to provide additional parameters.
curl -X GET "https://<databricks-instance>/api/2.0/<path-to-endpoint>" \
     -H "Authorization: Bearer <your-new-pat>"
import requests

headers = {
    'Authorization': 'Bearer <your-new-pat>'
}
# This example is for an HTTP GET operation.
response = requests.get('https://<databricks-instance>/api/2.0/<path-to-endpoint>', headers=headers)