Partager via


S’authentifier auprès des entités de service Microsoft Entra

L’authentification du principal de service Microsoft Entra utilise les informations d’identification d’un principal de service Microsoft Entra pour s’authentifier. Pour créer et gérer des principaux de service pour Azure Databricks, consultez les articles suivants :

Remarque

Databricks recommande d’utiliser l’authentification de machine à machine (M2M) OAuth dans la plupart des scénarios. OAuth M2M utilise des jetons d’accès OAuth plus robustes lors de l’authentification uniquement avec Azure Databricks. Utilisez uniquement l’authentification du principal de service Microsoft Entra lorsque vous devez vous authentifier avec Azure Databricks et d’autres ressources Azure en même temps.

Pour plus d’informations, consultez Utiliser des identités managées Azure avec Azure Databricks et s’authentifier auprès d’Azure DevOps sur Azure Databricks.

Pour configurer l’authentification du principal de service de Microsoft Entra avec Azure Databricks, vous devez définir les variables d’environnement associées, les champs, .databrickscfg les champs Terraform, ou encore Config les champs suivants.

  • Un hôte Azure Databricks.

    • Pour les opérations de compte, spécifiez https://accounts.azuredatabricks.net.
    • Pour les opérations d’espace de travail, Databricks recommande de spécifier l’URL par espace de travail, par exemple https://adb-1234567890123456.7.azuredatabricks.net et d’affecter explicitement le principal de service Microsoft Entra à l’espace de travail. Vous pouvez également spécifier l’ID de ressource Azure. Cette approche nécessite des autorisations Contributeur ou Propriétaire sur la ressource Azure, ou un rôle personnalisé avec des autorisations Azure Databricks spécifiques.
  • Pour les opérations de compte, l’ID de compte Azure Databricks.

  • ID de ressource Azure.

  • ID de locataire du principal du service Microsoft Entra.

  • ID client du principal du service Microsoft Entra.

  • Clé secrète client du principal du service Microsoft Entra.

Pour effectuer l’authentification du principal de service Microsoft Entra avec Azure Databricks, intégrez ce qui suit dans votre code, en fonction de l’outil ou du Kit de développement logiciel (SDK) participant :

Variables d'environnement

Pour utiliser des variables d’environnement pour un type d’authentification Azure Databricks spécifique avec un outil ou un SDK, consultez Autoriser l’accès aux ressources Azure Databricks ou à la documentation de l’outil ou du SDK. Consultez également les variables et champs d’environnement pour l’authentification unifiée et la priorité de la méthode d’authentification.

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
  • ARM_TENANT_ID
  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET

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 exemple https://adb-1234567890123456.7.azuredatabricks.net.
  • ARM_TENANT_ID
  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET

Databricks recommande d’utiliser DATABRICKS_HOST et d’affecter explicitement le Service Principal Microsoft Entra à l’espace de travail. Vous pouvez également utiliser DATABRICKS_AZURE_RESOURCE_ID avec l’ID de ressource Azure. Cette approche nécessite des autorisations Contributeur ou Propriétaire sur la ressource Azure, ou un rôle personnalisé avec des autorisations Azure Databricks spécifiques.

Profils de configuration

Créez ou identifiez un profil de configuration Azure Databricks avec les champs suivants dans votre .databrickscfg fichier. 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 Autoriser l’accès aux ressources Azure Databricks ou à la documentation de l’outil ou du SDK. Consultez également les variables et champs d’environnement pour l’authentification unifiée et la priorité de la méthode d’authentification.

Pour les opérations au niveau du compte, définissez les valeurs suivantes dans votre .databrickscfg fichier. 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>
azure_tenant_id     = <azure-service-principal-tenant-id>
azure_client_id     = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>

Pour les opérations au niveau de l’espace de travail, définissez les valeurs suivantes dans votre .databrickscfg fichier. Dans ce cas, l’hôte est l’URL d’Azure Databricks par espace de travail, par exemple https://adb-1234567890123456.7.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host                = <workspace-url>
azure_tenant_id     = <azure-service-principal-tenant-id>
azure_client_id     = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>

Databricks recommande d’utiliser host et d’affecter explicitement le Service Principal Microsoft Entra à l’espace de travail. Vous pouvez également utiliser azure_workspace_resource_id avec l’ID de ressource Azure. Cette approche nécessite des autorisations Contributeur ou Propriétaire sur la ressource Azure, ou un rôle personnalisé avec des autorisations Azure Databricks spécifiques.

Interface CLI de Databricks

Pour l’interface CLI Databricks, effectuez l’une des opérations suivantes :

  • Définissez les variables d’environnement comme spécifié sous l’onglet Environnement .
  • Définissez les valeurs de votre .databrickscfg fichier comme spécifié sous l’onglet Profil .

Les variables d’environnement sont toujours prioritaires sur les valeurs de votre fichier .databrickscfg.

Consultez également Authentification du principal de service Microsoft Entra ID.

Databricks Connect

Remarque

L’authentification du principal de service Microsoft Entra 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 :

  • Utilisez un profil de configuration : Définissez les valeurs au niveau de l’espace de travail dans votre .databrickscfg fichier, comme décrit sous l’onglet Profil . Définissez également l’URL cluster_id de votre instance d’espace de travail.
  • Utilisez des variables d’environnement : Définissez les mêmes valeurs que celles affichées sous l’onglet Environnement . Définissez également l’URL DATABRICKS_CLUSTER_ID de votre instance d’espace de travail.

Les valeurs dans .databrickscfg prennent le pas sur les variables d’environnement.

Pour initialiser Databricks Connect avec ces paramètres, consultez Configuration de calcul pour Databricks Connect.

Extension pour Visual Studio Code

Pour l’extension Databricks pour Visual Studio Code, procédez comme suit :

  1. Définissez les valeurs dans votre fichier pour les .databrickscfg de travail Azure Databricks, comme spécifié sous l’onglet Profil.
  2. Dans le volet Configuration de l’extension Databricks pour Visual Studio Code, cliquez sur Configurer Databricks.
  3. Dans la palette de commandes, pour l’hôte Databricks, entrez votre URL par espace de travail, par exemple https://adb-1234567890123456.7.azuredatabricks.net, puis appuyez Entersur .
  4. Dans la palette de commandes, sélectionnez le nom de votre profil cible dans la liste de votre URL.

Pour plus d’informations, consultez Configurer l’autorisation pour l’extension Databricks pour Visual Studio Code.

Terraform

Pour les opérations au niveau du compte, pour l’authentification par défaut :

provider "databricks" {
  alias = "accounts"
}

Pour configuration directe, remplacez les marqueurs de position par des valeurs provenant de la console ou d'une autre source de configuration, telle que HashiCorp Vault. Consultez également le fournisseur de coffres. Dans ce cas, l’URL de la console de compte Azure Databricks est https://accounts.azuredatabricks.net :

provider "databricks" {
  alias               = "accounts"
  host                = <your-account-console-url>
  account_id          = <your-account-id>
  azure_tenant_id     = <your-azure-tenant-id>
  azure_client_id     = <your-azure-client-id>
  azure_client_secret = <your-azure-client-secret>
}

Pour les opérations au niveau de l’espace de travail, pour l’authentification par défaut :

provider "databricks" {
  alias = "workspace"
}

Pour configuration directe, remplacez les marqueurs de position par des valeurs provenant de la console ou d'une autre source de configuration, telle que HashiCorp Vault. Consultez également le fournisseur de coffres. Dans ce cas, l’hôte est l’URL d’Azure Databricks par espace de travail, par exemple https://adb-1234567890123456.7.azuredatabricks.net:

provider "databricks" {
  alias               = "workspace"
  host                = <your-workspace-url>
  azure_tenant_id     = <your-azure-tenant-id>
  azure_client_id     = <your-azure-client-id>
  azure_client_secret = <your-azure-client-secret>
}

Databricks recommande d’utiliser host et d’affecter explicitement le Service Principal Microsoft Entra à l’espace de travail. Vous pouvez également utiliser azure_workspace_resource_id avec l’ID de ressource Azure. Cette approche nécessite des autorisations Contributeur ou Propriétaire sur la ressource Azure, ou un rôle personnalisé avec des autorisations Azure Databricks spécifiques.

Pour plus d’informations sur l’authentification auprès du fournisseur Databricks Terraform, consultez Authentification.

Kit de développement logiciel (SDK) Databricks pour Python

Pour les opérations au niveau du compte, pour l’authentification par défaut :

from databricks.sdk import AccountClient

a = AccountClient()
# ...

Pour une configuration directe, remplacez les appels de fonction par du code qui obtient des valeurs à partir de la console ou d’un autre magasin de configuration, tel qu’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                = get_account_console_url(),
  account_id          = get_account_id(),
  azure_tenant_id     = get_azure_tenant_id(),
  azure_client_id     = get_azure_client_id(),
  azure_client_secret = get_azure_client_secret()
)
# ...

Pour les opérations au niveau de l’espace de travail, pour l’authentification par défaut :

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

Pour une configuration directe, remplacez les appels de fonction par du code qui obtient des valeurs à partir de la console ou d’un autre magasin de configuration, tel qu’Azure KeyVault. Dans ce cas, l’hôte est l’URL d’Azure Databricks par espace de travail, par exemple https://adb-1234567890123456.7.azuredatabricks.net:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(
  host                = get_workspace_url(),
  azure_tenant_id     = get_azure_tenant_id(),
  azure_client_id     = get_azure_client_id(),
  azure_client_secret = get_azure_client_secret()
)
# ...

Databricks recommande d’utiliser host et d’affecter explicitement le Service Principal Microsoft Entra à l’espace de travail. Vous pouvez également utiliser azure_workspace_resource_id avec l’ID de ressource Azure. Cette approche nécessite des autorisations Contributeur ou Propriétaire sur la ressource Azure, ou un rôle personnalisé avec des autorisations Azure Databricks spécifiques.

Pour plus d’informations sur l’authentification avec les outils et kits sdk Databricks qui utilisent Python et qui implémentent l’authentification unifiée Databricks, consultez :

Kit de développement logiciel (SDK) Databricks pour Java

Pour les opérations au niveau du compte, pour l’authentification par défaut :

import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...

Pour une configuration directe, remplacez les appels de fonction par du code qui obtient des valeurs à partir de la console ou d’un autre magasin de configuration, tel qu’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(getAccountConsoleUrl())
  .setAccountId(getAccountId())
  .setAzureTenantId(getAzureTenantId())
  .setAzureClientId(getAzureClientId())
  .setAzureClientSecret(getAzureClientSecret())
AccountClient a = new AccountClient(cfg);
// ...

Pour les opérations au niveau de l’espace de travail, pour l’authentification par défaut :

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

Pour une configuration directe, remplacez les appels de fonction par du code qui obtient des valeurs à partir de la console ou d’un autre magasin de configuration, tel qu’Azure KeyVault. Dans ce cas, l’hôte est l’URL d’Azure Databricks par espace de travail, par exemple https://adb-1234567890123456.7.azuredatabricks.net:

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(getWorkspaceUrl())
  .setAzureTenantId(getAzureTenantId())
  .setAzureClientId(getAzureClientId())
  .setAzureClientSecret(getAzureClientSecret())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Databricks recommande d’utiliser setHost et d’affecter explicitement le Service Principal Microsoft Entra à l’espace de travail. Vous pouvez également utiliser setAzureWorkspaceResourceId avec l’ID de ressource Azure. Cette approche nécessite des autorisations Contributeur ou Propriétaire sur la ressource Azure, ou un rôle personnalisé avec des autorisations Azure Databricks spécifiques.

Pour plus d’informations sur l’authentification avec les outils et kits sdk Databricks qui utilisent Java et qui implémentent l’authentification unifiée Databricks, consultez :

Kit de développement logiciel (SDK) Databricks pour Go

Pour les opérations au niveau du compte, pour l’authentification par défaut :

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

Pour une configuration directe, remplacez les appels de fonction par du code qui obtient des valeurs à partir de la console ou d’un autre magasin de configuration, tel qu’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:              getAccountConsoleUrl(),
  AccountId:         getAccountId(),
  AzureTenantId:     getAzureTenantId(),
  AzureClientId:     getAzureClientId(),
  AzureClientSecret: getAzureClientSecret(),
}))
// ...

Pour les opérations au niveau de l’espace de travail, pour l’authentification par défaut :

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

Pour une configuration directe, remplacez les appels de fonction par du code qui obtient des valeurs à partir de la console ou d’un autre magasin de configuration, tel qu’Azure KeyVault. Dans ce cas, l’hôte est l’URL d’Azure Databricks par espace de travail, par exemple https://adb-1234567890123456.7.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:              getWorkspaceUrl(),
  AzureTenantId:     getAzureTenantId(),
  AzureClientId:     getAzureClientId(),
  AzureClientSecret: getAzureClientSecret(),
}))
// ...

Databricks recommande d’utiliser Host et d’affecter explicitement le Service Principal Microsoft Entra à l’espace de travail. Vous pouvez également utiliser AzureWorkspaceResourceId avec l’ID de ressource Azure. Cette approche nécessite des autorisations Contributeur ou Propriétaire sur la ressource Azure, ou un rôle personnalisé avec des autorisations Azure Databricks spécifiques.

Pour plus d’informations sur l’authentification auprès des outils et kits 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 espace de travail Azure Databricks.

Ressources supplémentaires