Authentification utilisateur à machine (U2M) OAuth
L’authentification utilisateur à machine (U2M) OAuth utilise la connexion et le consentement humains en temps réel pour authentifier le compte d’utilisateur Azure Databricks cible. Une fois que l’utilisateur s’est connecté et a donné son consentement à la demande d’authentification OAuth, un jeton OAuth est donné à l’outil ou au kit de développement logiciel (SDK) participant pour effectuer l’authentification basée sur les jetons à partir de ce moment-là au nom de l’utilisateur. Le jeton OAuth a une durée de vie d’une heure, à la suite de laquelle l’outil ou le kit de développement logiciel (SDK) impliqué effectue une tentative automatique en arrière-plan afin d’obtenir un nouveau jeton, qui est également valide pendant une heure.
Pour configurer l’authentification U2M OAuth avec 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é comme
https://accounts.azuredatabricks.net
pour les opérations de compte ou l’URL par espace de travail cible, par exemplehttps://adb-1234567890123456.7.azuredatabricks.net
, pour les opérations d’espace de travail. - Pour les opérations de compte Azure Databricks, l’ID de compte Azure Databricks.
Pour effectuer l’authentification OAuth U2M avec Azure Databricks, intégrez les éléments suivants dans votre code, en fonction de l’outil ou du Kit de développement logiciel (SDK) participant. Notez que, selon les opérations Azure Databricks que votre code appelle, vous n’avez pas nécessairement besoin d’être administrateur pour le compte Azure Databricks :
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 la Documentation sur les types d’authentification pris en charge par l’outil ou le SDK 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 Ordre d’évaluation par défaut pour les méthodes et informations d’identification d’authentification unifiées du client.
Pour les opérations au niveau du compte, définissez les variables d’environnement suivantes :
DATABRICKS_HOST
, défini sur la valeur de l’URL de la console de votre compte Azure Databricks,https://accounts.azuredatabricks.net
.DATABRICKS_ACCOUNT_ID
Pour les opérations au niveau de l’espace de travail, définissez les variables d’environnement suivantes :
DATABRICKS_HOST
, défini sur la valeur de votre URL par espace de travail Azure Databricks, par exemplehttps://adb-1234567890123456.7.azuredatabricks.net
.
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 les Types d’authentification pris en charge par l’outil ou le kit de développement logiciel (SDK) 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 Ordre d’évaluation par défaut pour les méthodes et informations d’identification d’authentification unifiées du client.
Pour les opérations au niveau du compte, définissez les valeurs suivantes dans votre fichier .databrickscfg
. Dans ce cas, l’URL de la console de compte Azure Databricks est https://accounts.azuredatabricks.net
:
[<some-unique-configuration-profile-name>]
host = <account-console-url>
account_id = <account-id>
Pour les opérations au niveau de l’espace de travail, 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>
INTERFACE DE LIGNE DE COMMANDE
Pour l’interface CLI Databricks, exécutez la commande databricks auth login
avec les options suivantes :
- Pour les opérations au niveau du compte Azure Databricks, ,
--host <account-console-url> --account-id <account-id>
. - Pour les opérations au niveau de l’espace de travail Azure Databricks,
--host <workspace-url>
.
Après avoir exécuté cette commande, suivez les instructions de votre navigateur web pour vous connecter à votre compte ou à votre espace de travail Azure Databricks.
Pour plus d’informations, consultez Authentification utilisateur à machine (U2M) OAuth.
Se connecter
Remarque
L’authentification U2M OAuth est prise en charge sur les versions de Databricks Connect suivantes :
- Pour Python, Databricks Connect pour Databricks Runtime 13.1 et versions ultérieures.
- Pour Scala, Databricks Connect pour Databricks Runtime 13.3 LTS et ultérieur.
Pour Databricks Connect, vous pouvez effectuer une des opérations suivantes :
- 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. Définissez également la variable d’environnementcluster_id
dans votre profil sur votre URL par espace de travail, par exemplehttps://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 exemplehttps://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 :
- Pour Python, consultez Configurer les propriétés de connexion pour Python.
- Pour Scala, consultez Configurer les propriétés de connexion pour Scala.
VS Code
Pour l’extension Databricks pour Visual Studio Code, procédez comme suit :
- Dans le volet Configuration, cliquez sur Configurer Databricks.
- 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 surEnter
. - Sélectionnez OAuth (utilisateur à machine).
- Suivez les instructions à l’écran dans votre navigateur web pour terminer l’authentification avec votre compte Azure Databricks et autoriser l’accès à all-apis.
Pour plus d’informations, consultez Configurer l’authentification U2M OAuth.
Terraform
Remarque
L’authentification U2M OAuth n’est pas encore prise en charge.
Python
Pour les opérations au niveau du compte, vous devez d’abord utiliser l’interface CLI Databricks pour exécuter la commande suivante avant d’exécuter votre code Python. Cette commande indique à l’interface CLI Databricks de générer et de mettre en cache le jeton OAuth nécessaire dans le chemin d’accès .databricks/token-cache.json
dans le dossier de base de votre utilisateur sur votre ordinateur :
databricks auth login --host <account-console-url> --account-id <account-id>
Remplacez les espaces réservés suivants :
- Remplacez
<account-console-url>
par la valeurhttps://accounts.azuredatabricks.net
. (Ne définissezpas cette valeur sur la valeur de l’URL de votre espace de travail Azure Databricks.) - Remplacez
<account-id>
par la valeur de votre compte Azure Databricks. Consultez Localiser votre ID de compte.
Remarque
Si vous disposez déjà d’un profil de configuration Azure Databricks avec les champs host
et account_id
déjà définis, vous pouvez remplacer --host <account-console-url> --account-id <account-id>
par --profile <profile-name>
.
Après avoir exécuté la commande auth login
, vous êtes invité à enregistrer l’URL de connexion du compte et l’ID de compte en tant que profil de configuration Azure Databricks. Quand vous y êtes invité, entrez le nom d’un profil nouveau ou existant dans votre fichier .databrickscfg
. Tout profil existant portant le même nom dans votre fichier .databrickscfg
est remplacé.
Si vous y êtes invité, suivez les instructions sur l’écran de votre navigateur web pour établir la connexion. Utilisez ensuite du code Python similaire à un des extraits de code suivants :
Pour l’authentification par défaut :
from databricks.sdk import AccountClient
a = AccountClient()
# ...
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’URL de la console de compte Azure Databricks est https://accounts.azuredatabricks.net
:
from databricks.sdk import AccountClient
a = AccountClient(
host = retrieveAccountConsoleUrl(),
account_id = retrieveAccountId()
)
# ...
Pour les opérations au niveau de l’espace de travail, vous devez d’abord utiliser l’interface CLI Databricks pour exécuter la commande suivante avant d’exécuter votre code Python. Cette commande indique à l’interface CLI Databricks de générer et de mettre en cache le jeton OAuth nécessaire dans le chemin d’accès .databricks/token-cache.json
dans le dossier de base de votre utilisateur sur votre ordinateur :
databricks auth login --host <worskpace-url>
Remplacez l’espace réservé <workspace-url>
par l’URL de l’espace de travail Azure Databricks cible, par exemple https://adb-1234567890123456.7.azuredatabricks.net
.
Remarque
Si vous disposez déjà d’un profil de configuration Azure Databricks avec le champ host
déjà défini, vous pouvez remplacer --host <workspace-url>
par --profile <profile-name>
.
Après avoir exécuté la commande auth login
, vous êtes invité à enregistrer l’URL de l’espace de travail en tant que profil de configuration Azure Databricks. Quand vous y êtes invité, entrez le nom d’un profil nouveau ou existant dans votre fichier .databrickscfg
. Tout profil existant portant le même nom dans votre fichier .databrickscfg
est remplacé.
Si vous y êtes invité, suivez les instructions sur l’écran de votre navigateur web pour établir la connexion. Utilisez ensuite du code Python similaire à un des extraits de code suivants :
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 = retrieveWorkspaceUrl())
# ...
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 :
- Configurer le client Databricks Connect pour Python
- Configuration de l’authentification pour l’extension Databricks pour VS Code
- Authentification du kit SDK Databricks pour Python avec un compte ou un espace de travail Azure Databricks
Java
Pour les opérations au niveau du compte, vous devez d’abord utiliser l’interface CLI Databricks pour exécuter la commande suivante avant d’exécuter votre code Java. Cette commande indique à l’interface CLI Databricks de générer et de mettre en cache le jeton OAuth nécessaire dans le chemin d’accès .databricks/token-cache.json
dans le dossier de base de votre utilisateur sur votre ordinateur :
databricks auth login --host <account-console-url> --account-id <account-id>
Remplacez les espaces réservés suivants :
- Remplacez
<account-console-url>
par la valeurhttps://accounts.azuredatabricks.net
. (Ne définissezpas cette valeur sur la valeur de l’URL de votre espace de travail Azure Databricks.) - Remplacez
<account-id>
par la valeur de votre compte Azure Databricks. Consultez Localiser votre ID de compte.
Remarque
Si vous disposez déjà d’un profil de configuration Azure Databricks avec les champs host
et account_id
déjà définis, vous pouvez remplacer --host <account-console-url> --account-id <account-id>
par --profile <profile-name>
.
Après avoir exécuté la commande auth login
, vous êtes invité à enregistrer l’URL de connexion du compte et l’ID de compte en tant que profil de configuration Azure Databricks. Quand vous y êtes invité, entrez le nom d’un profil nouveau ou existant dans votre fichier .databrickscfg
. Tout profil existant portant le même nom dans votre fichier .databrickscfg
est remplacé.
Si vous y êtes invité, suivez les instructions sur l’écran de votre navigateur web pour établir la connexion. Utilisez ensuite du code Java similaire à un des extraits de code suivants :
Pour l’authentification par défaut :
import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...
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’URL de la console de compte Azure Databricks est https://accounts.azuredatabricks.net
:
import com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveAccountConsoleUrl())
.setAccountId(retrieveAccountId());
AccountClient a = new AccountClient(cfg);
// ...
Pour les opérations au niveau de l’espace de travail, vous devez d’abord utiliser l’interface CLI Databricks pour exécuter la commande suivante avant d’exécuter votre code Java. Cette commande indique à l’interface CLI Databricks de générer et de mettre en cache le jeton OAuth nécessaire dans le chemin d’accès .databricks/token-cache.json
dans le dossier de base de votre utilisateur sur votre ordinateur :
databricks auth login --host <worskpace-url>
Remplacez l’espace réservé <workspace-url>
par l’URL de l’espace de travail Azure Databricks cible, par exemple https://adb-1234567890123456.7.azuredatabricks.net
.
Remarque
Si vous disposez déjà d’un profil de configuration Azure Databricks avec le champ host
déjà défini, vous pouvez remplacer --host <workspace-url>
par --profile <profile-name>
.
Après avoir exécuté la commande auth login
, vous êtes invité à enregistrer l’URL de l’espace de travail en tant que profil de configuration Azure Databricks. Quand vous y êtes invité, entrez le nom d’un profil nouveau ou existant dans votre fichier .databrickscfg
. Tout profil existant portant le même nom dans votre fichier .databrickscfg
est remplacé.
Si vous y êtes invité, suivez les instructions sur l’écran de votre navigateur web pour établir la connexion. Utilisez ensuite du code Java similaire à un des extraits de code suivants :
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())
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 :
- Configurer le client Databricks Connect pour Scala (le client Databricks Connect pour Scala utilise le kit de développement logiciel (SDK) Databricks inclus pour Java pour l’authentification)
- Authentifier le kit de développement logiciel (SDK) Databricks pour Java avec votre compte ou espace de travail Azure Databricks
Go
Pour les opérations au niveau du compte, vous devez d’abord utiliser l’interface CLI Databricks pour exécuter la commande suivante avant d’exécuter votre code Go. Cette commande indique à l’interface CLI Databricks de générer et de mettre en cache le jeton OAuth nécessaire dans le chemin d’accès .databricks/token-cache.json
dans le dossier de base de votre utilisateur sur votre ordinateur :
databricks auth login --host <account-login-url> --account-id <account-id>
Remplacez les espaces réservés suivants :
- Remplacez
<account-console-url>
par la valeurhttps://accounts.azuredatabricks.net
. (Ne définissezpas cette valeur sur la valeur de l’URL de votre espace de travail Azure Databricks.) - Remplacez
<account-id>
par la valeur de votre compte Azure Databricks. Consultez Localiser votre ID de compte.
Remarque
Si vous disposez déjà d’un profil de configuration Azure Databricks avec les champs host
et account_id
déjà définis, vous pouvez remplacer --host <account-console-url> --account-id <account-id>
par --profile <profile-name>
.
Après avoir exécuté la commande auth login
, vous êtes invité à enregistrer l’URL de connexion du compte et l’ID de compte en tant que profil de configuration Azure Databricks. Quand vous y êtes invité, entrez le nom d’un profil nouveau ou existant dans votre fichier .databrickscfg
. Tout profil existant portant le même nom dans votre fichier .databrickscfg
est remplacé.
Si vous y êtes invité, suivez les instructions sur l’écran de votre navigateur web pour établir la connexion. Utilisez ensuite du code Go similaire à un des extraits de code suivants :
Pour l’authentification par défaut :
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...
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’URL de la console de compte Azure Databricks est https://accounts.azuredatabricks.net
:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
Host: retrieveAccountConsoleUrl(),
AccountId: retrieveAccountId(),
}))
// ...
Pour les opérations au niveau de l’espace de travail, vous devez d’abord utiliser l’interface CLI Databricks pour exécuter la commande suivante avant d’exécuter votre code Go. Cette commande indique à l’interface CLI Databricks de générer et de mettre en cache le jeton OAuth nécessaire dans le chemin d’accès .databricks/token-cache.json
dans le dossier de base de votre utilisateur sur votre ordinateur :
databricks auth login --host <worskpace-url>
Remplacez l’espace réservé <workspace-url>
par l’URL de l’espace de travail Azure Databricks cible, par exemple https://adb-1234567890123456.7.azuredatabricks.net
.
Remarque
Si vous disposez déjà d’un profil de configuration Azure Databricks avec le champ host
déjà défini, vous pouvez remplacer --host <workspace-url>
par --profile <profile-name>
.
Après avoir exécuté la commande auth login
, vous êtes invité à enregistrer l’URL de l’espace de travail en tant que profil de configuration Azure Databricks. Quand vous y êtes invité, entrez le nom d’un profil nouveau ou existant dans votre fichier .databrickscfg
. Tout profil existant portant le même nom dans votre fichier .databrickscfg
est remplacé.
Si vous y êtes invité, suivez les instructions sur l’écran de votre navigateur web pour établir la connexion. Utilisez ensuite du code Go similaire à un des extraits de code suivants :
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(),
}))
// ...
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.
Générer manuellement et utiliser des jetons d’accès pour l’authentification utilisateur à machine (U2M) OAuth
Les outils et kits de développement logiciel (SDK) Azure Databricks qui implémentent la norme d’authentification unifiée de client Databricks vont générer, actualiser et utiliser automatiquement des jetons d’accès OAuth Azure Databricks en votre nom en fonction des besoins de l’authentification U2M OAuth.
Si pour une raison quelconque, vous devez générer, actualiser ou utiliser des jetons d’accès OAuth Azure Databricks pour l’authentification U2M OAuth, suivez les instructions de cette section.
Étape 1 : Générer une paire vérificateur de code et test de code OAuth
Pour générer et utiliser manuellement des jetons d’accès pour l’authentification U2M OAuth, vous devez d’abord avoir un vérificateur de code OAuth et un test de code OAuth qui est dérivée du vérificateur de code. Vous utilisez le test de code plus loin à l’étape 2, pour générer un code d’autorisation OAuth. Vous utilisez le vérificateur de code et le code d’autorisation plus loin à l’étape 3, pour générer le jeton d’accès OAuth.
Remarque
Bien qu’il soit techniquement possible d’utiliser des chaînes de texte brut non codées pour le vérificateur de code et le test de code, Databricks encourage fortement à suivre au lieu de cela la norme OAuth pour générer le vérificateur de code et le test de code.
Plus précisément, le vérificateur de code doit être une chaîne aléatoire par chiffrement utilisant des caractères des ensembles A-Z
, a-z
et 0-9
, et les signes de ponctuation -._~
(trait d’union, point, trait de soulignement et tilde), d’une longueur comprise entre 43 et 128 caractères. Le test de code doit être une chaîne codée sous forme d’URL en Base64 du hachage SHA256 du vérificateur de code. Pour plus d’informations, consultez Demande d’autorisation.
Vous pouvez exécuter le script Python suivant pour générer rapidement une paire unique de vérificateur de code et de test de code. Même si vous pouvez réutiliser cette paire de vérificateur de code et de test de code générée plusieurs fois, Databricks vous recommande de générer une nouvelle paire de vérificateur de code et de test de code chaque fois que vous générez manuellement des jetons d’accès pour l’authentification U2M OAuth.
import uuid, hashlib, base64
# Generate a UUID.
uuid1 = uuid.uuid4()
# Convert the UUID to a string.
uuid_str1 = str(uuid1).upper()
# Create the code verifier.
code_verifier = uuid_str1 + "-" + uuid_str1
# Create the code challenge based on the code verifier.
code_challenge = base64.urlsafe_b64encode(hashlib.sha256(code_verifier.encode()).digest()).decode('utf-8')
# Remove all padding from the code challenge.
code_challenge = code_challenge.replace('=', '')
# Print the code verifier and the code challenge.
# Use these in your calls to manually generate
# access tokens for OAuth U2M authentication.
print(f"code_verifier: {code_verifier}")
print(f"code_challenge: {code_challenge}")
Étape 2 : Générer un code d’autorisation
Vous utilisez un code d’autorisation OAuth pour générer un jeton d’accès OAuth Azure Databricks. Le code d’autorisation expire immédiatement après que vous l’avez utilisé pour générer un jeton d’accès OAuth Azure Databricks. L’étendue du code d’autorisation dépend du niveau à partir duquel vous le générez. Vous pouvez générer un code d’autorisation au niveau du compte ou au niveau de l’espace de travail Azure Databricks, comme suit :
- Pour appeler les API REST au niveau du compte et de l’espace de travail au sein des comptes et des espaces de travail auxquels votre compte d’utilisateur Azure Databricks a accès, générez un code d’autorisation au niveau du compte.
- Pour appeler des API REST au sein d’un espace de travail auquel votre compte d’utilisateur a accès, vous pouvez générer un code d’autorisation au niveau de l’espace de travail seulement pour cet espace de travail.
Générer un code d’autorisation au niveau du compte
En tant qu’administrateur de compte, connectez-vous à la console de compte.
Cliquez sur la flèche vers le bas à côté de votre nom d’utilisateur en haut à droite.
Copiez votre ID de compte.
Dans la barre d’adresse de votre navigateur web, accédez à l’URL suivante. Des sauts de ligne ont été ajoutés pour des raisons de lisibilité. Votre URL ne doit pas contenir ces sauts de ligne.
Dans l’URL suivante, faites les remplacements suivants :
- Remplacez
<account-id>
par l’ID de compte que vous avez copié. - Remplacez
<redirect-url>
par une URL de redirection vers votre machine locale, par exemplehttp://localhost:8020
. - Remplacez
<state>
par une chaîne de texte brut que vous pouvez utiliser pour vérifier l’intégrité du code d’autorisation. - Remplacez
<code-challenge>
par le test de code que vous avez généré à l’étape 1.
https://accounts.azuredatabricks.net/oidc/accounts/<account-id>/v1/authorize ?client_id=databricks-cli &redirect_url=<redirect-url> &response_type=code &state=<state> &code_challenge=<code-challenge> &code_challenge_method=S256 &scope=all-apis+offline_access
- Remplacez
Quand vous y êtes invité, suivez les instructions à l’écran pour vous connecter à votre compte Azure Databricks.
Dans la barre d’adresse de votre navigateur web, copiez le code d’autorisation. Le code d’autorisation est la chaîne de caractères complète entre
code=
et le caractère&
dans l’URL. Par exemple, le code d’autorisation dans l’URL suivante estdcod...7fe6
:http://localhost:8020/?code=dcod...7fe6&state=<state>
Vous devez vérifier l’intégrité de ce code d’autorisation en vérifiant visuellement que la valeur
<state>
dans cette URL de réponse correspond à la valeurstate
que vous avez fournie dans votre URL de demande. Si les valeurs sont différentes, vous ne devez pas utiliser ce code d’autorisation, car il peut être compromis.Passez à Générer manuellement un jeton d’accès au niveau du compte.
Générer un code d’autorisation au niveau de l’espace de travail
Dans la barre d’adresse de votre navigateur web, accédez à l’URL suivante. Des sauts de ligne ont été ajoutés pour des raisons de lisibilité. Votre URL ne doit pas contenir ces sauts de ligne.
Dans l’URL suivante, faites les remplacements suivants :
- Remplacez
<databricks-instance>
par le nom de l’instance d’espace de travail Azure Databricks (par exemple,adb-1234567890123456.7.azuredatabricks.net
). - Remplacez
<redirect-url>
par une URL de redirection vers votre machine locale, par exemplehttp://localhost:8020
. - Remplacez
<state>
par une chaîne de texte brut que vous pouvez utiliser pour vérifier l’intégrité du code d’autorisation. - Remplacez
<code-challenge>
par le test de code que vous avez généré à l’étape 1.
https://<databricks-instance>/oidc/v1/authorize ?client_id=databricks-cli &redirect_uri=<redirect-url> &response_type=code &state=<state> &code_challenge=<code-challenge> &code_challenge_method=S256 &scope=all-apis+offline_access
- Remplacez
Quand vous y êtes invité, suivez les instructions à l’écran pour vous connecter à votre espace de travail Azure Databricks.
Dans la barre d’adresse de votre navigateur web, copiez le code d’autorisation. Le code d’autorisation est la chaîne de caractères complète entre
code=
et le caractère&
dans l’URL. Par exemple, le code d’autorisation dans l’URL suivante estdcod...7fe6
:http://localhost:8020/?code=dcod...7fe6&state=<state>
Vous devez vérifier l’intégrité de ce code d’autorisation en vérifiant visuellement que la valeur
<state>
dans cette URL de réponse correspond à la valeurstate
que vous avez fournie dans votre URL de demande. Si les valeurs sont différentes, vous ne devez pas utiliser ce code d’autorisation, car il peut être compromis.
Étape 3 : Utiliser le code d’autorisation pour générer un jeton d’accès OAuth
Vous utilisez le code d’autorisation OAuth de l’étape précédente pour générer un jeton d’accès OAuth Azure Databricks, comme suit :
- Pour appeler les API REST au niveau du compte et de l’espace de travail au sein des comptes et des espaces de travail auxquels votre compte d’utilisateur Azure Databricks a accès, utilisez le code d’autorisation au niveau du compte pour générer un jeton d’accès au niveau du compte.
- Pour appeler des API REST au sein d’un espace de travail auquel votre compte d’utilisateur a accès, vous pouvez utiliser le code d’autorisation au niveau de l’espace de travail pour générer un jeton d’accès au niveau de l’espace de travail seulement pour cet espace de travail.
Générer un jeton d’accès au niveau du compte
Utilisez un client tel que
curl
avec le code d’autorisation au niveau du compte pour générer le jeton d’accès OAuth au niveau du compte. Dans l’appelcurl
suivant, remplacez les espaces réservés suivants :- Remplacez
<account-id>
par l’ID de compte de l’étape 2. - Remplacez
<redirect-url>
par l’URL de redirection de l’étape 2. - Remplacez
<code-verifier>
par le vérificateur de code que vous avez généré à l’étape 1. - Remplacez
<authorization-code>
par le code d’autorisation au niveau du compte que vous avez généré à l’étape 2.
curl --request POST \ https://accounts.azuredatabricks.net/oidc/accounts/<account-id>/v1/token \ --data "client_id=databricks-cli" \ --data "grant_type=authorization_code" \ --data "scope=all-apis offline_access" \ --data "redirect_uri=<redirect-url>" \ --data "code_verifier=<code-verifier>" \ --data "code=<authorization-code>"
- Remplacez
Dans la réponse, copiez le jeton d’accès OAuth au niveau du compte. Le jeton d’accès est la chaîne de caractères complète dans l’objet
access_token
. Par exemple, le jeton d’accès dans la réponse suivante esteyJr...Dkag
:{ "access_token": "eyJr...Dkag", "refresh_token": "doau...f26e", "scope": "all-apis offline_access", "token_type": "Bearer", "expires_in": 3600 }
Ce jeton d’accès expire en une heure. Pour générer un nouveau jeton d’accès, répétez cette procédure à partir de l’étape 1.
Passez à l’Étape 4 : Appeler une API REST Databricks.
Générer un jeton d’accès au niveau de l’espace de travail
Utilisez un client tel que
curl
avec le code d’autorisation au niveau de l’espace de travail pour générer le jeton d’accès OAuth au niveau de l’espace de travail. Dans l’appelcurl
suivant, remplacez les espaces réservés suivants :- Remplacez
<databricks-instance>
par le nom de l’instance d’espace de travail Azure Databricks (par exemple,adb-1234567890123456.7.azuredatabricks.net
). - Remplacez
<redirect-url>
par l’URL de redirection de l’étape 2. - Remplacez
<code-verifier>
par le vérificateur de code que vous avez généré à l’étape 1. - Remplacez
<authorization-code>
par le code d’autorisation au niveau de l’espace de travail que vous avez généré à l’étape 2.
curl --request POST \ https://<databricks-instance>/oidc/v1/token \ --data "client_id=databricks-cli" \ --data "grant_type=authorization_code" \ --data "scope=all-apis offline_access" \ --data "redirect_uri=<redirect-url>" \ --data "code_verifier=<code-verifier>" \ --data "code=<authorization-code>"
- Remplacez
Dans la réponse, copiez le jeton d’accès OAuth au niveau de l’espace de travail. Le jeton d’accès est la chaîne de caractères complète dans l’objet
access_token
. Par exemple, le jeton d’accès dans la réponse suivante esteyJr...Dkag
:{ "access_token": "eyJr...Dkag", "refresh_token": "doau...f26e", "scope": "all-apis offline_access", "token_type": "Bearer", "expires_in": 3600 }
Ce jeton d’accès expire en une heure. Pour générer un nouveau jeton d’accès, répétez cette procédure à partir de l’étape 1.
Étape 4 : Appeler une API REST Databricks
Vous utilisez le jeton d’accès OAuth au niveau du compte ou de l’espace de travail pour vous authentifier auprès des API REST au niveau du compte Azure Databricks et des API REST au niveau de l’espace de travail, selon l’étendue du jeton d’accès. Votre compte d’utilisateur Azure Databricks doit être un administrateur de compte pour appeler des API REST au niveau du compte.
Exemple de demande d’API REST au niveau du compte
Cet exemple utilise curl
avec l’authentification Bearer
pour obtenir la liste de tous les espaces de travail associés à un compte.
- Remplacez
<oauth-access-token>
par le jeton d’accès OAuth au niveau du compte. - Remplacez
<account-id>
par votre ID de compte.
export OAUTH_TOKEN=<oauth-access-token>
curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
"https://accounts.azuredatabricks.net/api/2.0/accounts/<account-id>/workspaces"
Exemple de demande d’API REST au niveau de l’espace de travail
Cet exemple utilise curl
avec l’authentification Bearer
pour lister tous les clusters disponibles dans l’espace de travail spécifié.
- Remplacez
<oauth-access-token>
par le jeton d’accès OAuth au niveau du compte ou de l’espace de travail. - Remplacez
<databricks-instance>
par le nom de l’instance d’espace de travail Azure Databricks (par exemple,adb-1234567890123456.7.azuredatabricks.net
).
export OAUTH_TOKEN=<oauth-access-token>
curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
"https://<databricks-instance>/api/2.0/clusters/list"
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour