Partager via


Autorisation de l’accès aux ressources Azure Databricks

Cette rubrique décrit les approches de base pour effectuer des appels AZURE Databricks CLI sécurisés ou d’API REST à l’aide d’informations d’identification de compte Azure Databricks, telles que des comptes d’utilisateur ou des principaux de service.

Autorisation pour l’interface CLI et les API Azure Databricks

Pour accéder à une ressource Azure Databricks avec l’interface CLI Databricks ou les API REST, les clients doivent autoriser l’utilisation d’un compte Azure Databricks. Ce compte doit disposer d’autorisations pour accéder à la ressource, qui peut être configurée par votre administrateur Azure Databricks ou un compte d’utilisateur disposant de privilèges d’administrateur.

Il existe deux types de comptes que vous pouvez utiliser, selon la façon dont vous avez l’intention d’accéder à vos ressources Azure Databricks :

  • compte d’utilisateur : utilisez-le pour entrer de manière interactive les commandes CLI Azure Databricks ou les appels d’API REST.
  • Service principal : Utilisez-le pour automatiser les commandes CLI Azure Databricks ou les appels d’API REST sans interaction humaine.

Une fois que vous avez choisi le type de compte Azure Databricks, vous devez acquérir un jeton d’accès qui représente les informations d’identification du compte. Vous fournirez ce jeton d’accès lors de l’accès aux ressources du compte dans vos scripts ou votre code, ou dans des sessions interactives.

  1. Si vous utilisez Azure Databricks, vous pouvez également utiliser un principal de service MS Entra pour autoriser l’accès à votre compte ou espace de travail Azure Databricks. Toutefois, Databricks recommande d’utiliser un principal de service Databricks avec notre autorisation OAuth fournie, plutôt que l’autorisation MS Entra. Cela est dû au fait que l’autorisation de Databricks utilise des jetons d’accès OAuth plus robustes lors de l’autorisation uniquement avec Azure Databricks.

Pour plus d’informations sur l’utilisation d’un principal de service MS Entra pour accéder aux ressources Databricks, consultez Authentification du principal de service MS Entra.

Obtenir un jeton d’accès

Les informations d’identification de votre compte sont représentées par un jeton d’accès sécurisé, que vous fournissez directement ou indirectement à la commande CLI ou à l’appel d’API.

Pour exécuter en toute sécurité une commande ou une demande d’API Databricks qui nécessite un accès autorisé à un compte ou à un espace de travail, vous devez fournir un jeton d’accès en fonction des informations d’identification de compte Azure Databricks valides.

Le tableau suivant présente les méthodes d’autorisation disponibles pour votre compte Azure Databricks.

Méthodes d’autorisation Azure Databricks

Étant donné que les outils et kits sdk Azure Databricks fonctionnent avec une ou plusieurs méthodes d’autorisation Azure Databricks prises en charge, vous pouvez sélectionner la meilleure méthode d’autorisation pour votre cas d’usage. Pour plus d’informations, consultez la documentation de l’outil ou du SDK dans Outils de développement local.

Les utilisateurs Azure Databricks peuvent avoir besoin d’un accès aux ressources spécifiques à Azure qui ne sont pas directement gérées sous votre compte Databricks. Les méthodes d’accès à ces ressources sont également incluses dans ce tableau. Pour l’accès aux ressources Azure, vous utilisez une identité de service managé Azure (MSI) ou un ID MS Entra (selon votre scénario) et non vos informations d’identification de compte Azure Databricks.

Méthode Description Cas d’usage
Databricks OAuth pour les principaux services Jetons OAuth de courte durée pour les principaux de service. Scénarios d’autorisation sans assistance, tels que des flux de travail CI/CD entièrement automatisés.
Databricks OAuth pour les utilisateurs Jetons OAuth de courte durée pour les utilisateurs. Scénarios d’autorisation assistés, où vous utilisez votre navigateur web ou une autre méthode interactive pour autoriser avec Databricks, lorsque vous y êtes invité.
Jetons d'accès personnels (PAT) Databricks Jetons de courte durée ou de longue durée pour les utilisateurs ou les principaux de service. Utilisez-le uniquement dans les cas où votre outil cible ne prend pas en charge OAuth.
Autorisation d’identité de service géré Azure Jetons Microsoft Entra ID pour les identités managées Azure. Utilisez-les uniquement avec les ressources Azure qui prennent en charge les identités managées, telles que les machines virtuelles Azure.
Autorisation du principal de service Microsoft Entra ID Jetons Microsoft Entra ID pour les principaux de service Microsoft Entra ID. Utilisez-les seulement avec les ressources Azure qui prennent en charge les jetons Microsoft Entra ID et non les identités managées, comme Azure DevOps.
Autorisation Azure CLI Jetons Microsoft Entra ID pour les utilisateurs ou les principaux de service Microsoft Entra ID. Permet d’autoriser l’accès aux ressources Azure et Azure Databricks à l’aide d’Azure CLI.
Autorisation de l'utilisateur(-trice) Microsoft Entra ID Jetons Microsoft Entra ID pour les utilisateurs. Utilisez-les seulement avec les ressources Azure qui prennent uniquement en charge les jetons Microsoft Entra ID. Databricks ne recommande pas de créer manuellement des jetons Microsoft Entra ID pour les utilisateurs Azure Databricks.

Quelle option d’autorisation dois-je choisir ?

Azure Databricks fournit 2 options d’autorisation ou d’authentification avec un jeton d’accès :

  • Jetons d’accès basés sur OAuth 2.0.
  • Jetons d’accès personnels (PAT).

Remarque

Azure Databricks vous recommande vivement d’utiliser OAuth sur les paTs pour l’autorisation, car les jetons OAuth sont automatiquement actualisés par défaut et ne nécessitent pas la gestion directe du jeton d’accès, ce qui améliore votre sécurité contre le détournement de jeton et l’accès indésirable.

Comme OAuth crée et gère le jeton d’accès pour vous, vous fournissez une URL de point de terminaison de jeton OAuth, un ID client et un secret que vous générez à partir de votre espace de travail Azure Databricks au lieu de fournir directement une chaîne de jeton. Choisissez des PAT uniquement lorsque vous intégrez un outil ou un service tiers non pris en charge par l’authentification client unifiée Azure Databricks ou sans support OAuth.

Comment utiliser OAuth pour autoriser l’accès aux ressources Azure Databricks ?

Azure Databricks fournit une authentification client unifiée pour vous aider avec l'autorisation en utilisant un ensemble par défaut de variables d'environnement que vous pouvez configurer sur des valeurs spécifiques d'informations d'identification. Cela vous permet de travailler plus facilement et de manière plus sécurisée, car ces variables d’environnement sont spécifiques à l’environnement qui exécute les commandes CLI Azure Databricks ou appellent des API Azure Databricks.

  • Pour l’autorisation de compte utilisateur, la partie d’authentification d’Azure Databricks OAuth (la création et la gestion des jetons d’accès) est gérée pour vous avec l’authentification unifiée du client Databricks, à condition que les outils et SDK implémentent sa norme. Si ce n’est pas le cas, vous pouvez générer manuellement un vérificateur de code OAuth et une paire de vérificateur à utiliser directement dans vos commandes et requêtes d’API Azure Databricks. Consultez Étape 1 : Générer une paire vérificateur de code et test de code OAuth.
  • Pour l’autorisation du principal de service, Azure Databricks OAuth exige que l’appelant fournisse les informations d’identification du client, ainsi qu’une URL de point de terminaison de jeton où la demande peut être autorisée. (Cela est géré pour vous si vous utilisez des outils et SDK Azure Databricks qui prennent en charge l’authentification client unifiée Databricks.) Les informations d’identification incluent un ID client unique et une clé secrète client. Le client, qui est le principal de service Databricks qui exécutera votre code, doit être affecté aux espaces de travail Databricks. Après avoir affecté le principal de service aux espaces de travail auxquels il accède, vous disposez d’un ID client et d’une clé secrète client, que vous allez définir avec des variables d’environnement spécifiques.

Ces variables d’environnement sont :

Variable d’environnement Description
DATABRICKS_HOST Cette variable d’environnement est définie sur l’URL de votre console de compte Azure Databricks (http://accounts.cloud.databricks.com) ou de votre URL d’espace de travail Azure Databricks (https://{workspace-id}.cloud.databricks.com). Choisissez un type d’URL d’hôte selon le type d’opérations que vous effectuerez dans votre code. Plus précisément, si vous utilisez des commandes CLI au niveau du compte Azure Databricks ou des requêtes d’API REST, définissez cette variable sur votre URL de compte Azure Databricks. Si vous utilisez des commandes CLI au niveau de l’espace de travail Azure Databricks ou des requêtes d’API REST, utilisez votre URL d’espace de travail Azure Databricks.
DATABRICKS_ACCOUNT_ID Utilisé pour les opérations de compte Azure Databricks. Il s’agit de l’ID de votre compte Azure Databricks. Pour l’obtenir, consultez Localiser votre ID de compte.
DATABRICKS_CLIENT_ID (Principal de service OAuth uniquement) ID client que vous avez affecté lors de la création de votre principal de service.
DATABRICKS_CLIENT_SECRET (Service principal OAuth uniquement) Le secret client que vous avez généré lors de la création de votre service principal.

Vous pouvez les définir directement ou via un profil de configuration Databricks (.databrickscfg) sur votre ordinateur client.

Pour utiliser un jeton d’accès OAuth, votre administrateur de compte Azure Databricks ou d’espace de travail doit avoir accordé à votre compte d’utilisateur ou principal de service le privilège CAN USE pour les fonctionnalités du compte et de l’espace de travail auquel votre code accède.

Pour plus d’informations sur la configuration de l’autorisation OAuth pour votre client et pour passer en revue les options d’autorisation spécifiques au fournisseur cloud, consultez Authentification client unifiée.

Authentification pour des outils et services tiers

Si vous écrivez du code qui accède à des services, outils ou SDK tiers, vous devez utiliser les mécanismes d’authentification et d’autorisation fournis par le tiers. Toutefois, si vous devez accorder à un outil, un SDK ou un service tiers l’accès à vos ressources de compte ou d’espace de travail Azure Databricks, Databricks fournit la prise en charge suivante :

Profils de configuration Azure Databricks

Un profil de configuration Azure Databricks contient des paramètres et d’autres informations dont Azure Databricks a besoin pour autoriser l’accès. Les profils de configuration Azure Databricks sont stockés dans des fichiers locaux que vos outils, kits de développement logiciel (SDK), scripts et applications peuvent utiliser. Le fichier de profil de configuration standard est nommé .databrickscfg.

Pour plus d’informations, consultez Profils de configuration Azure Databricks.