Authentification à l’aide de jetons d’accès personnels Azure Databricks
Pour vous authentifier auprès des API REST Databricks et y accéder, vous pouvez utiliser des jetons d’accès personnels Azure Databricks ou des jetons Azure Active Directory (Azure AD).
Cet article explique comment utiliser les jetons d’accès personnels Azure Databricks. Pour les jetons Azure AD, consultez Jetons Azure AD.
Important
Les jetons remplacent les mots de passe dans un flux d’authentification et doivent être protégés comme les mots de passe. Pour protéger les jetons, Databricks vous recommande de stocker les jetons dans :
- La gestion des secrets et la récupération des jetons dans les Notebooks à l’aide de l’utilitaire Secrets (dbutils.secrets).
- Un magasin de clés local et utiliser le package Trousseau Python pour récupérer les jetons au moment de l’exécution.
Notes
Du point de vue de la sécurité, Databricks recommande, en cas d’authentification avec des outils, systèmes, scripts et applications automatisés, d’utiliser des jetons d’accès appartenant aux principaux de service au lieu des utilisateurs de l’espace de travail. Pour créer des jetons d’accès pour les principaux de service, consultez Gérer les jetons d’accès pour un principal de service.
Spécifications
L’authentification basée sur les jetons est activée par défaut pour tous les comptes Azure Databricks lancés après janvier 2018. Si l’authentification basée sur les jetons est désactivée, votre administrateur doit l’activer pour que vous puissiez effectuer les tâches décrites dans Gérer les jetons d’accès personnels.
Générer un jeton d’accès personnel
Consultez Jetons d’accès personnels Azure Databricks.
Vous pouvez également générer et révoquer des jetons à l’aide de l’API Token 2.0.
Le nombre de jetons d’accès personnel par utilisateur est limité à 600 par espace de travail.
Révoquer un jeton d’accès personnel
Cette section décrit comment révoquer des jetons d’accès personnels à l’aide de l’interface utilisateur Azure Databricks. Vous pouvez également générer et révoquer des jetons d’accès à l’aide de l’API Token 2.0.
- Cliquez sur votre nom d’utilisateur dans la barre supérieure de votre espace de travail Azure Databricks, puis sélectionnez Paramètres utilisateur dans la liste déroulante.
- Accédez à l’onglet Jetons d’accès .
- Cliquez sur x pour le jeton que vous souhaitez révoquer.
- Dans la boîte de dialogue Révoquer le jeton, cliquez sur le bouton Révoquer le jeton .
Utiliser un jeton d’accès personnel pour accéder à l’API REST Databricks
Vous pouvez stocker un jeton d’accès personnel dans un fichier .netrc
et l’utiliser dans curl
ou le passer à l’en-tête Authorization: Bearer
.
Stocker des jetons dans un fichier .netrc
et les utiliser dans curl
Créez un fichier .netrc avec les propriétés machine
, login
et password
:
machine <databricks-instance>
login token
password <token-value>
où :
<databricks-instance>
est la partie ID de l’instance de l’URL de l’espace de travail pour votre déploiement Azure Databricks. Par exemple, si l’URL de l’espace de travail esthttps://adb-1234567890123456.7.azuredatabricks.net
, alors<databricks-instance>
estadb-1234567890123456.7.azuredatabricks.net
.token
est la chaîne littéraletoken
.<token-value>
est la valeur de votre jeton, par exempledapi1234567890ab1cde2f3ab456c7d89efa
.
Le résultat ressemble à ceci :
machine adb-1234567890123456.7.azuredatabricks.net
login token
password dapi1234567890ab1cde2f3ab456c7d89efa
Pour plusieurs entrées de machine/jeton, ajoutez une ligne par entrée, avec les propriétés machine
, login
et password
pour chaque paire machine/jeton correspondant sur la même ligne. Le résultat ressemble à ceci :
machine adb-1234567890123456.7.azuredatabricks.net login token password dapi1234567890ab1cde2f3ab456c7d89efa
machine adb-2345678901234567.8.azuredatabricks.net login token password dapi2345678901cd2efa3b4cd567e8f90abc
machine adb-3456789012345678.9.azuredatabricks.net login token password dapi3456789012de3fab4c5de678f9a01bcd
Cet exemple appelle le fichier .netrc
à l’aide de --netrc
(vous pouvez également utiliser -n
) dans la commande curl
. Il utilise l’URL de l’espace de travail spécifiée pour rechercher l’entrée correspondante machine
dans le fichier .netrc
.
curl --netrc -X GET https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/list
Passer le jeton à l’authentification Bearer
Vous pouvez inclure le jeton dans l’en-tête à l’aide Bearer
de l’authentification. Vous pouvez utiliser cette approche avec curl
ou n’importe quel client que vous générez. Pour ce dernier, consultez Charger un fichier volumineux dans DBFS.
Cet exemple utilise l’authentification Bearer
pour répertorier tous les clusters disponibles dans l’espace de travail spécifié.
export DATABRICKS_TOKEN=dapi1234567890ab1cde2f3ab456c7d89efa
curl -X GET --header "Authorization: Bearer $DATABRICKS_TOKEN" \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/list