MS Entra-tjänstens huvudnamnsautentisering
Ms Entra-tjänstens huvudnamnsautentisering använder autentiseringsuppgifterna för 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 där 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 använder hanterade identiteter för Azure-resurser i stället för MS Entra-tjänstens huvudnamn för Azure Databricks-autentisering finns i Konfigurera och använda Azure-hanterad identitetsautentisering 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 huvudnamnsautentisering 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 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å 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 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ämpliga värden. 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å 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-tenant-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-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:
- 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.
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:
- 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 Connect-klienten med dessa miljövariabler eller värden i filen finns i .databrickscfg
Beräkningskonfiguration för Databricks Connect.
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 Visual Studio Code.
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 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 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 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:
- Konfigurera 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 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 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:
- Konfigurera Databricks Connect-klienten för Scala (Databricks Connect-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
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 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.