MS Entra-tjänstens huvudnamnsautentisering
MS Entra-tjänstens huvudnamn autentisering använder credentials av ett MS Entra-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 MS Entra-tjänstens huvudnamnsautentisering. 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 MS Entra-tjänstens huvudnamnsautentisering i fall where du måste autentisera med Azure Databricks och andra Azure-resurser samtidigt.
Om du vill använda OAuth M2M-autentisering i stället för MS Entra-tjänstens huvudnamnsautentisering hoppar du över den här artikeln och läser Autentisera åtkomst till Azure Databricks med tjänstens huvudnamn med OAuth (OAuth M2M).
MS Entra-tjänstens huvudnamn skiljer sig från hanterade identiteter för Azure-resurser, som Även Azure Databricks stöder för autentisering. Information om hur du kan använda hanterade identiteter för Azure-resurser istället för MS Entra-tjänstehuvudnamn för autentisering med Azure Databricks finns i . SeSet för inställning och användning av Azure-hanterade identiteters autentisering för Azure Databricks-automatisering.
Mer information om Microsoft Entra-autentisering till Databricks med Azure DevOps finns i Autentisera med Azure DevOps på Databricks.
För att konfigurera MS Entra-tjänstens huvudprincipalsautentisering med Azure Databricks måste du följa set 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 MS Entra-tjänstens huvudnamn inte redan har lagts till på arbetsytan anger du Azure-resurs-ID:t i stället. I det här fallet måste MS Entra-tjänstens huvudnamn ha minst behörighet som deltagare eller ägare för Azure-resursen.
Azure-resurs-ID:t.
Klientorganisations-ID för MS Entra-tjänstens huvudnamn.
Klient-ID för MS Entra-tjänstens huvudnamn.
Klienthemligheten för MS Entra-tjänstens huvudnamn.
Om du vill utföra MS Entra-tjänstens huvudnamnsautentisering med Azure Databricks integrerar du följande i koden baserat på det deltagande verktyget eller SDK:t:
Information om hur du använder miljövariabler för en specifik Azure Databricks-autentiseringstyp med ett verktyg eller SDK finns i Autentisera åtkomst till Azure Databricks-resurser eller verktygets eller SDK:s dokumentation. Se även Miljövariabler och fält för klient enhetlig autentisering och Standardmetoder för klient enhetlig autentisering.
För åtgärder på kontonivåset följande miljövariabler:
DATABRICKS_HOST
, set till 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å arbetsytenivåset följande miljövariabler:
-
DATABRICKS_HOST
, set till värdet för din Azure Databricks per arbetsyta URL, till exempelhttps://adb-1234567890123456.7.azuredatabricks.net
. ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
Om ms Entra-tjänstens huvudnamn 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örHOST
tillsammans med arbetsytans URL. I det här fallet måste MS Entra-tjänstens huvudnamn ha minst behörighet som deltagare eller ägare för Azure-resursen för Azure Databricks-arbetsytan.
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ämplig values. Information om hur du använder profilen med ett verktyg eller SDK finns i Autentisera åtkomst till Azure Databricks-resurser eller verktygets eller SDK:s dokumentation. Se även Miljövariabler och fält för klient enhetlig autentisering och Standardmetoder för klient enhetlig autentisering.
För åtgärder på kontonivåset du följande values 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-tenant-id>
azure_client_id = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>
För åtgärder på arbetsytenivå, använd set följande values 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-tenant-id>
azure_client_id = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>
Om ms Entra-tjänstens huvudnamn 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 MS Entra-tjänstens huvudnamn ha minst behörighet som deltagare eller ägare för Azure-resursen för Azure Databricks-arbetsytan.
Gör något av följande för Databricks CLI:
- Set miljövariablerna enligt beskrivningen i avsnittet "Miljö".
-
Set
values i din
.databrickscfg
-fil enligt beskrivningen i avsnittet Profil i den här artikeln.
Miljövariabler har alltid företräde framför values i din .databrickscfg
-fil.
Se även Microsoft Entra ID-tjänstens huvudnamnsautentisering.
Kommentar
MS Entra-tjänstens huvudnamnsautentisering stöds i följande Databricks Connect-versioner:
- För Python, Databricks Connect för Databricks Runtime 13.1 och senare.
- För Scala, Databricks Connect för Databricks Runtime 13.3 LTS och senare.
För Databricks Connect kan du göra något av följande:
-
Set
values i din
.databrickscfg
-fil för Azure Databricks åtgärder på arbetsytenivå enligt beskrivningen i avsnittet Profil i den här artikeln. set ävencluster_id
miljövariabeln i din profil till url:en för per arbetsyta, till exempelhttps://adb-1234567890123456.7.azuredatabricks.net
. -
Set miljövariablerna för Azure Databricks operationer på arbetsytenivå som beskrivs i avsnittet "Miljö".
set även
DATABRICKS_CLUSTER_ID
miljövariabeln till url:en för per arbetsyta, till exempelhttps://adb-1234567890123456.7.azuredatabricks.net
.
Values i din .databrickscfg
-fil har alltid företräde framför miljövariabler.
Information om hur du initierar Databricks Connect-klienten med dessa miljövariabler eller values i filen .databrickscfg
finns i Compute-konfiguration för Databricks Connect.
Gör följande för Databricks-tillägget för Visual Studio Code:
-
Set
values i din
.databrickscfg
-fil för Azure Databricks åtgärder på arbetsytenivå enligt beskrivningen i avsnittet Profil i den här artikeln. - 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 select, ange målprofilens namn i list för din URL.
Mer information finns i Autentiseringskonfiguration för Databricks-tillägget för Visual Studio Code.
För åtgärder på kontonivå för standardautentisering:
provider "databricks" {
alias = "accounts"
}
För direkt konfiguration (ersätt retrieve
platshållare med din egen implementering för att hämta values från konsolen eller något annat konfigurationsarkiv, till exempel HashiCorp Vault. Se även Vault Provider). 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ållare med din egen implementering för att hämta values från konsolen eller något annat konfigurationsarkiv, till exempel HashiCorp Vault. Se även Vault Provider). 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 ms Entra-tjänstens huvudnamn 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 MS Entra-tjänstens huvudnamn 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.
För åtgärder på kontonivå för standardautentisering:
from databricks.sdk import AccountClient
a = AccountClient()
# ...
För direkt konfiguration (ersätt platshållarna för retrieve
med din egen implementering för att hämta values 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 platshållarna för retrieve
med din egen implementering för att hämta values 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 ms Entra-tjänstens huvudnamn 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 MS Entra-tjänstens huvudnamn 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:
- Set upp Databricks Connect-klienten för Python
- Autentiseringskonfiguration för Databricks-tillägget för Visual Studio Code
- Autentisera Databricks SDK för Python med ditt Azure Databricks-konto eller din arbetsyta
För åtgärder på kontonivå för standardautentisering:
import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...
För direkt konfiguration (ersätt platshållarna för retrieve
med din egen implementering för att hämta values 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 platshållarna för retrieve
med din egen implementering för att hämta values 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 ms Entra-tjänstens huvudnamn 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 MS Entra-tjänstens huvudnamn 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:
- Set upp Databricks Connect-klienten för Scala (Databricks Connect-klienten för Scala använder den inkluderade Databricks SDK för Java för autentisering)
- Autentisera Databricks SDK för Java med ditt Azure Databricks-konto eller din arbetsyta
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 platshållarna för retrieve
med din egen implementering för att hämta values 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 platshållarna för retrieve
med din egen implementering för att hämta values 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 ms Entra-tjänstens huvudnamn 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 MS Entra-tjänstens huvudnamn 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.