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 :

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.

  1. 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.
  2. Accédez à l’onglet Jetons d’accès .
  3. Cliquez sur x pour le jeton que vous souhaitez révoquer.
  4. 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 est https://adb-1234567890123456.7.azuredatabricks.net, alors <databricks-instance> est adb-1234567890123456.7.azuredatabricks.net.
  • token est la chaîne littérale token.
  • <token-value> est la valeur de votre jeton, par exemple dapi1234567890ab1cde2f3ab456c7d89efa.

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