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.
Databricks révoque automatiquement les jetons d’accès personnels qui n’ont pas été utilisés en 90 jours ou plus.
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 :
-
Voir aussi :
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 :
- 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.
- Cliquez sur Développeur.
- À côté de Jetons d’accès, cliquez sur Gérer.
- Cliquez sur Générer un nouveau jeton.
- (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).
- Cliquez sur Générer.
- 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 :
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.
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 sur la durée de vie maximale de votre espace de travail. Par défaut, la durée de vie maximale du jeton pour un espace de travail est de 730 jours.--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
.
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 :
Environment
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 exemplehttps://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 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.
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
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.
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.
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
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.
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.
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.
Vous devez fournir des valeurs spécifiques à l’API REST. Dans l’exemple suivant, définissez ces valeurs :
- Remplacez
<databricks-instance>
par l’URL de votre espace de travail Databricks. Par exemple :dbc-abcd1234-5678.cloud.databricks.com
. - Remplacez par
<your-existing-access-token>
un pat (chaîne) valide existant qui dispose des autorisations nécessaires pour créer de nouveaux jetons.
Fournissez les valeurs de ces paramètres :
comment
: description du nouveau jeton.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 '{
"comment": "New PAT using DB API",
"lifetime_seconds": <lifetime-of-pat-in-seconds>
}'
L’indicateur -d
fournit la charge utile JSON pour la requête.
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)