Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.
- 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
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 fournissez 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.
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 | Descriptif | Cas d’usage |
---|---|---|
Fédération des jetons OAuth Databricks (recommandé) | Jetons OAuth de votre fournisseur d'identité pour les utilisateurs ou les principaux de services. | Vous permet de vous authentifier auprès de Databricks sans gérer les secrets Databricks. |
Databricks OAuth pour les principaux de service (OAuth M2M) | Jetons OAuth de courte durée pour les principaux de service. | Scénarios d’authentification sans assistance, tels que des flux de travail CI/CD entièrement automatisés. |
OAuth pour les utilisateurs (OAuth U2M) | Jetons OAuth de courte durée pour les utilisateurs. | Scénario d’authentification assisté, où vous utilisez votre navigateur web pour vous authentifier auprès de Databricks en temps réel, lorsque vous y êtes invité. |
Jetons d’accès personnels (PAT) ( non recommandé) | Jetons à durée de vie courte ou longue 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 d’identification Microsoft Entra pour les identités gérées par 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 utilisateur Microsoft Entra ID | Jetons d'identification Microsoft Entra 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 deux 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)
Important
Azure Databricks vous recommande vivement d’utiliser des jetons OAuth sur des paT 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 jetons 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 les PAT uniquement lorsque vous intégrez un outil ou un service tiers que l'authentification unifiée des clients Azure Databricks ne prend pas en charge ou ne dispose pas de prise en charge 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 défis à utiliser directement dans vos commandes et demandes d’API Azure Databricks. Consultez Étape 1 : Générer une paire vérificateur de code et défi 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 | Descriptif |
---|---|
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 :
- Fournisseur Databricks Terraform : cet outil peut accéder aux API Azure Databricks à partir de Terraform en votre nom, à l’aide de votre compte d’utilisateur Azure Databricks. Pour plus de détails, consultez Approvisionner un principal de service en utilisant Terraform.
- Les fournisseurs Git tels que GitHub, GitLab et Bitbucket peuvent accéder aux API Azure Databricks via un principal de service Databricks. Pour plus de détails, consultez Principes de service pour CI/CD.
- Jenkins peut accéder aux API Azure Databricks via un principal de service Databricks. Pour plus d’informations, consultez CI/CD avec Jenkins sur Azure Databricks.
- Azure DevOps peut accéder aux API Azure Databricks à l’aide d’un principal de service basé sur l’ID de Microsoft Entra. Pour plus d’informations, consultez S’authentifier auprès d’Azure DevOps sur Azure Databricks.
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.