Autentisering med tjänstens huvudnamn i Microsoft Entra ID
Microsoft Entra ID-tjänstens huvudnamnsautentisering använder autentiseringsuppgifterna för ett Microsoft Entra ID-tjänsthuvudnamn för att autentisera. Information om hur du skapar och hanterar tjänstens huvudnamn för Azure Databricks finns i:
Kommentar
Databricks rekommenderar att du använder OAuth-autentisering från dator till dator (M2M) i de flesta scenarier i stället för autentisering med Tjänstens huvudnamn för Microsoft Entra. Det beror på att OAuth M2M-autentisering använder Azure Databricks OAuth-åtkomsttoken som är mer robusta vid autentisering endast med Azure Databricks.
Du bör endast använda tjänstens huvudnamn i Microsoft Entra ID om du behöver autentisera med Azure Databricks och andra Azure-resurser samtidigt, vilket kräver Microsoft Entra-ID-token.
Om du vill använda OAuth M2M-autentisering i stället för Microsoft Entra ID-tjänstens huvudnamnsautentisering hoppar du över den här artikeln och läser OAuth-autentisering från dator till dator (M2M).
Tjänstens huvudnamn för Microsoft Entra-ID skiljer sig från hanterade identiteter för Azure-resurser, som Även Azure Databricks stöder för autentisering. Information om hur du använder hanterade identiteter för Azure-resurser i stället för Microsoft Entra ID-tjänstens huvudnamn för Azure Databricks-autentisering finns i Konfigurera och använda Azure-hanterad identitetsautentisering för Azure Databricks-automatisering.
För att konfigurera autentisering av tjänstens huvudnamn för Microsoft Entra med Azure Databricks måste du ange följande associerade miljövariabler, .databrickscfg
fält, Terraform-fält eller Config
fält:
Azure Databricks-värden.
För kontoåtgärder anger du
https://accounts.azuredatabricks.net
.För arbetsyteåtgärder anger du URL:en per arbetsyta, till exempel
https://adb-1234567890123456.7.azuredatabricks.net
.Om tjänstens huvudnamn för Microsoft Entra-ID inte redan har lagts till på arbetsytan anger du Azure-resurs-ID:t i stället. I det här fallet måste tjänstens huvudnamn för Microsoft Entra-ID ha minst behörighet som deltagare eller ägare för Azure-resursen.
Azure-resurs-ID:t.
Klientorganisations-ID för Tjänstens huvudnamn för Microsoft Entra.
Klient-ID för tjänstens huvudnamn för Microsoft Entra-ID.
Klienthemligheten för Tjänstens huvudnamn för Microsoft Entra-ID.
Om du vill utföra autentisering med Tjänstens huvudnamn för Microsoft Entra med Azure Databricks integrerar du följande i koden baserat på det deltagande verktyget eller SDK:t:
Environment
Information om hur du använder miljövariabler för en specifik Azure Databricks-autentiseringstyp med ett verktyg eller SDK finns i autentiseringstyper som stöds av Azure Databricks-verktyget eller SDK eller verktygets eller SDK:s dokumentation. Se även Miljövariabler och fält för klient enhetlig autentisering och Standardordning för utvärdering för klient enhetliga autentiseringsmetoder och autentiseringsuppgifter.
För åtgärder på kontonivå anger du följande miljövariabler:
DATABRICKS_HOST
, ange värdet för azure Databricks-kontokonsolens URL,https://accounts.azuredatabricks.net
.DATABRICKS_ACCOUNT_ID
ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
För åtgärder på arbetsytans nivå anger du följande miljövariabler:
DATABRICKS_HOST
anger du värdet för din URL för Azure Databricks per arbetsyta, till exempelhttps://adb-1234567890123456.7.azuredatabricks.net
.ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
Om tjänstens huvudnamn för Microsoft Entra-ID inte redan har lagts till på arbetsytan för åtgärder på arbetsytan anger du DATABRICKS_AZURE_RESOURCE_ID
tillsammans med Azure-resurs-ID:t för Azure Databricks-arbetsytan i stället för HOST
tillsammans med arbetsytans URL. I det här fallet måste tjänstens huvudnamn för Microsoft Entra-ID ha minst behörighet som deltagare eller ägare för Azure-resursen för Azure Databricks-arbetsytan.
Profil
Skapa eller identifiera en Azure Databricks-konfigurationsprofil med följande fält i .databrickscfg
filen. Om du skapar profilen ersätter du platshållarna med lämpliga värden. Information om hur du använder profilen med ett verktyg eller SDK finns i autentiseringstyper som stöds av Azure Databricks-verktyget eller SDK eller verktygets eller SDK:s dokumentation. Se även Miljövariabler och fält för klient enhetlig autentisering och Standardordning för utvärdering för klient enhetliga autentiseringsmetoder och autentiseringsuppgifter.
För åtgärder på kontonivå anger du följande värden i .databrickscfg
filen. I det här fallet är https://accounts.azuredatabricks.net
Azure Databricks-kontokonsolens URL:
[<some-unique-configuration-profile-name>]
host = <account-console-url>
account_id = <account-id>
azure_tenant_id = <azure-service-principal-subscription-id>
azure_client_id = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>
För åtgärder på arbetsytenivå anger du följande värden i .databrickscfg
filen. I det här fallet är värden URL:en för Azure Databricks per arbetsyta, till exempel https://adb-1234567890123456.7.azuredatabricks.net
:
[<some-unique-configuration-profile-name>]
host = <workspace-url>
azure_tenant_id = <azure-service-principal-subscription-id>
azure_client_id = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>
Om tjänstens huvudnamn för Microsoft Entra-ID inte redan har lagts till på arbetsytan för åtgärder på arbetsytan anger du azure_workspace_resource_id
tillsammans med Azure-resurs-ID:t för Azure Databricks-arbetsytan i stället för host
tillsammans med arbetsytans URL. I det här fallet måste tjänstens huvudnamn för Microsoft Entra-ID ha minst behörighet som deltagare eller ägare för Azure-resursen för Azure Databricks-arbetsytan.
Cli
Gör något av följande för Databricks CLI:
- Ange miljövariablerna enligt beskrivningen i avsnittet "Miljö".
- Ange värdena i
.databrickscfg
filen enligt beskrivningen i avsnittet Profil i den här artikeln.
Miljövariabler har alltid företräde framför värden i filen .databrickscfg
.
Se även Microsoft Entra ID-tjänstens huvudnamnsautentisering.
Anslut
Kommentar
Microsoft Entra ID-tjänstens huvudnamnsautentisering stöds på följande Databricks-Anslut versioner:
- För Python Anslut Databricks För Databricks Runtime 13.1 och senare.
- För Scala Anslut Databricks Runtime 13.3 LTS och senare.
För Databricks Anslut kan du göra något av följande:
- Ange värdena i
.databrickscfg
filen för åtgärder på Azure Databricks-arbetsytenivå enligt beskrivningen i den här artikelns avsnitt "Profil". Angecluster_id
även miljövariabeln i din profil till url:en per arbetsyta, till exempelhttps://adb-1234567890123456.7.azuredatabricks.net
. - Ange miljövariablerna för åtgärder på Azure Databricks-arbetsytenivå enligt beskrivningen i den här artikelns "Miljö"-avsnitt. Ange
DATABRICKS_CLUSTER_ID
även miljövariabeln till url:en per arbetsyta, till exempelhttps://adb-1234567890123456.7.azuredatabricks.net
.
Värden i .databrickscfg
filen har alltid företräde framför miljövariabler.
Information om hur du initierar Databricks Anslut-klienten med dessa miljövariabler eller värden i filen finns i .databrickscfg
något av följande:
- Information om Python finns i Konfigurera anslutningsegenskaper för Python.
- Information om Scala finns i Konfigurera anslutningsegenskaper för Scala.
Jämfört med kod
Gör följande för Databricks-tillägget för Visual Studio Code:
- Ange värdena i
.databrickscfg
filen för åtgärder på Azure Databricks-arbetsytenivå enligt beskrivningen i den här artikelns avsnitt "Profil". - I fönstret Konfiguration i Databricks-tillägget för Visual Studio Code klickar du på Konfigurera Databricks.
- I kommandopaletten för Databricks Host anger du url:en per arbetsyta, till exempel
https://adb-1234567890123456.7.azuredatabricks.net
och trycker sedan påEnter
. - I kommandopaletten väljer du målprofilens namn i listan för din URL.
Mer information finns i Autentiseringskonfiguration för Databricks-tillägget för VS Code.
Terraform
För åtgärder på kontonivå för standardautentisering:
provider "databricks" {
alias = "accounts"
}
För direkt konfiguration (ersätt retrieve
platshållarna med din egen implementering för att hämta värdena från konsolen eller något annat konfigurationsarkiv, till exempel HashiCorp Vault. Se även Valvprovider). I det här fallet är https://accounts.azuredatabricks.net
Azure Databricks-kontokonsolens URL:
provider "databricks" {
alias = "accounts"
host = <retrieve-account-console-url>
account_id = <retrieve-account-id>
azure_tenant_id = <retrieve-azure-tenant-id>
azure_client_id = <retrieve-azure-client-id>
azure_client_secret = <retrieve-azure-client-secret>
}
För åtgärder på arbetsytenivå för standardautentisering:
provider "databricks" {
alias = "workspace"
}
För direkt konfiguration (ersätt retrieve
platshållarna med din egen implementering för att hämta värdena från konsolen eller något annat konfigurationsarkiv, till exempel HashiCorp Vault. Se även Valvprovider). I det här fallet är värden URL:en för Azure Databricks per arbetsyta, till exempel https://adb-1234567890123456.7.azuredatabricks.net
:
provider "databricks" {
alias = "workspace"
host = <retrieve-workspace-url>
azure_tenant_id = <retrieve-azure-tenant-id>
azure_client_id = <retrieve-azure-client-id>
azure_client_secret = <retrieve-azure-client-secret>
}
Om tjänstens huvudnamn för Microsoft Entra-ID inte redan har lagts till på arbetsytan för åtgärder på arbetsytan anger du azure_workspace_resource_id
tillsammans med Azure-resurs-ID:t för Azure Databricks-arbetsytan i stället för host
tillsammans med arbetsytans URL. I det här fallet måste tjänstens huvudnamn för Microsoft Entra-ID ha minst behörighet som deltagare eller ägare för Azure-resursen för Azure Databricks-arbetsytan.
Mer information om autentisering med Databricks Terraform-providern finns i Autentisering.
Python
För åtgärder på kontonivå för standardautentisering:
from databricks.sdk import AccountClient
a = AccountClient()
# ...
För direkt konfiguration (ersätt retrieve
platshållarna med din egen implementering för att hämta värdena från konsolen eller något annat konfigurationsarkiv, till exempel Azure KeyVault). I det här fallet är https://accounts.azuredatabricks.net
Azure Databricks-kontokonsolens URL:
from databricks.sdk import AccountClient
a = AccountClient(
host = retrieve_account_console_url(),
account_id = retrieve_account_id(),
azure_tenant_id = retrieve_azure_tenant_id(),
azure_client_id = retrieve_azure_client_id(),
azure_client_secret = retrieve_azure_client_secret()
)
# ...
För åtgärder på arbetsytenivå för standardautentisering:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
# ...
För direkt konfiguration (ersätt retrieve
platshållarna med din egen implementering för att hämta värdena från konsolen eller något annat konfigurationsarkiv, till exempel Azure KeyVault). I det här fallet är värden URL:en för Azure Databricks per arbetsyta, till exempel https://adb-1234567890123456.7.azuredatabricks.net
:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient(
host = retrieve_workspace_url(),
azure_tenant_id = retrieve_azure_tenant_id(),
azure_client_id = retrieve_azure_client_id(),
azure_client_secret = retrieve_azure_client_secret()
)
# ...
Om tjänstens huvudnamn för Microsoft Entra-ID inte redan har lagts till på arbetsytan för åtgärder på arbetsytan anger du azure_workspace_resource_id
tillsammans med Azure-resurs-ID:t för Azure Databricks-arbetsytan i stället för host
tillsammans med arbetsytans URL. I det här fallet måste tjänstens huvudnamn för Microsoft Entra-ID ha minst behörighet som deltagare eller ägare för Azure-resursen för Azure Databricks-arbetsytan.
Mer information om autentisering med Databricks-verktyg och SDK:er som använder Python och som implementerar enhetlig autentisering med Databricks-klienten finns i:
- Konfigurera Databricks Anslut-klienten för Python
- Autentiseringskonfiguration för Databricks-tillägget för VS Code
- Autentisera Databricks SDK för Python med ditt Azure Databricks-konto eller din arbetsyta
Java
För åtgärder på kontonivå för standardautentisering:
import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...
För direkt konfiguration (ersätt retrieve
platshållarna med din egen implementering för att hämta värdena från konsolen eller något annat konfigurationsarkiv, till exempel Azure KeyVault). I det här fallet är https://accounts.azuredatabricks.net
Azure Databricks-kontokonsolens URL:
import com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveAccountConsoleUrl())
.setAccountId(retrieveAccountId())
.setAzureTenantId(retrieveAzureTenantId())
.setAzureClientId(retrieveAzureClientId())
.setAzureClientSecret(retrieveAzureClientSecret())
AccountClient a = new AccountClient(cfg);
// ...
För åtgärder på arbetsytenivå för standardautentisering:
import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...
För direkt konfiguration (ersätt retrieve
platshållarna med din egen implementering för att hämta värdena från konsolen eller något annat konfigurationsarkiv, till exempel Azure KeyVault). I det här fallet är värden URL:en för Azure Databricks per arbetsyta, till exempel https://adb-1234567890123456.7.azuredatabricks.net
:
import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveWorkspaceUrl())
.setAzureTenantId(retrieveAzureTenantId())
.setAzureClientId(retrieveAzureClientId())
.setAzureClientSecret(retrieveAzureClientSecret())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...
Om tjänstens huvudnamn för Microsoft Entra-ID inte redan har lagts till på arbetsytan för åtgärder på arbetsytan anger du setAzureWorkspaceResourceId
tillsammans med Azure-resurs-ID:t för Azure Databricks-arbetsytan i stället för setHost
tillsammans med arbetsytans URL. I det här fallet måste tjänstens huvudnamn för Microsoft Entra-ID ha minst behörighet som deltagare eller ägare för Azure-resursen för Azure Databricks-arbetsytan.
Mer information om autentisering med Databricks-verktyg och SDK:er som använder Java och som implementerar enhetlig autentisering för Databricks-klienten finns i:
- Konfigurera Databricks Anslut-klienten för Scala (Databricks Anslut-klienten för Scala använder det inkluderade Databricks SDK för Java för autentisering)
- Autentisera Databricks SDK för Java med ditt Azure Databricks-konto eller din arbetsyta
Go
För åtgärder på kontonivå för standardautentisering:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...
För direkt konfiguration (ersätt retrieve
platshållarna med din egen implementering för att hämta värdena från konsolen eller något annat konfigurationsarkiv, till exempel Azure KeyVault). I det här fallet är https://accounts.azuredatabricks.net
Azure Databricks-kontokonsolens URL:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
Host: retrieveAccountConsoleUrl(),
AccountId: retrieveAccountId(),
AzureTenantId: retrieveAzureTenantId(),
AzureClientId: retrieveAzureClientId(),
AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...
För åtgärder på arbetsytenivå för standardautentisering:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...
För direkt konfiguration (ersätt retrieve
platshållarna med din egen implementering för att hämta värdena från konsolen eller något annat konfigurationsarkiv, till exempel Azure KeyVault). I det här fallet är värden URL:en för Azure Databricks per arbetsyta, till exempel https://adb-1234567890123456.7.azuredatabricks.net
:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
Host: retrieveWorkspaceUrl(),
AzureTenantId: retrieveAzureTenantId(),
AzureClientId: retrieveAzureClientId(),
AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...
Om tjänstens huvudnamn för Microsoft Entra-ID inte redan har lagts till på arbetsytan för åtgärder på arbetsytan anger du AzureWorkspaceResourceId
tillsammans med Azure-resurs-ID:t för Azure Databricks-arbetsytan i stället för Host
tillsammans med arbetsytans URL. I det här fallet måste tjänstens huvudnamn för Microsoft Entra-ID ha minst behörighet som deltagare eller ägare för Azure-resursen för Azure Databricks-arbetsytan.
Mer information om autentisering med Databricks-verktyg och SDK:er som använder Go och som implementerar enhetlig autentisering för Databricks-klienten finns i Autentisera Databricks SDK för Go med ditt Azure Databricks-konto eller din arbetsyta.