Verificatie van Microsoft Entra-ID Service-principal
Verificatie van de Microsoft Entra ID-service-principal maakt gebruik van de referenties van een Microsoft Entra ID-service-principal om te verifiëren. Als u service-principals voor Azure Databricks wilt maken en beheren, raadpleegt u:
Notitie
Databricks raadt u aan om in de meeste scenario's OAuth M2M-verificatie (machine-to-machine) te gebruiken in plaats van verificatie van de service-principal van Microsoft Entra ID. Dit komt doordat OAuth M2M-verificatie gebruik maakt van Azure Databricks OAuth-toegangstokens die robuuster zijn bij verificatie met Azure Databricks.
U moet alleen verificatie van de service-principal van Microsoft Entra-id gebruiken in gevallen waarin u zich tegelijkertijd moet verifiëren bij Azure Databricks en andere Azure-resources, waar Microsoft Entra ID-tokens voor zijn vereist.
Als u OAuth M2M-verificatie wilt gebruiken in plaats van Microsoft Entra ID service-principal-verificatie, slaat u dit artikel over en raadpleegt u OAuth-verificatie van machine-naar-machine (M2M).
Service-principals voor Microsoft Entra ID verschillen van beheerde identiteiten voor Azure-resources, die azure Databricks ook ondersteunt voor verificatie. Zie Verificatie van beheerde identiteiten voor Azure Databricks instellen en gebruiken voor Azure Databricks-automatisering voor meer informatie over het gebruik van beheerde identiteiten voor Azure-resources in plaats van De service-principals van Microsoft Entra ID voor Azure Databricks-verificatie.
Als u verificatie van de Service-principal van Microsoft Entra ID wilt configureren met Azure Databricks, moet u de volgende gekoppelde omgevingsvariabelen, .databrickscfg
velden, Terraform-velden of Config
-velden instellen:
De Azure Databricks-host.
Geef voor accountbewerkingen op
https://accounts.azuredatabricks.net
.Geef voor
https://adb-1234567890123456.7.azuredatabricks.net
werkruimtebewerkingen bijvoorbeeld de URL per werkruimte op.Als de Service-principal van Microsoft Entra ID nog niet is toegevoegd aan de werkruimte, geeft u in plaats daarvan de Azure-resource-id op. In dit geval moet de Service-principal van Microsoft Entra ID ten minste machtigingen voor inzender of eigenaar hebben voor de Azure-resource.
Voor accountbewerkingen wordt de account-id van Azure Databricks gebruikt.
De Azure-resource-id.
De tenant-id van de Service-principal van Microsoft Entra ID.
De client-id van de Microsoft Entra ID-service-principal.
Het clientgeheim van de Microsoft Entra ID-service-principal.
Als u service-principalverificatie van Microsoft Entra ID wilt uitvoeren met Azure Databricks, integreert u het volgende in uw code, op basis van het deelnemende hulpprogramma of de SDK:
Omgeving
Als u omgevingsvariabelen wilt gebruiken voor een specifiek Verificatietype van Azure Databricks met een hulpprogramma of SDK, raadpleegt u Ondersteunde verificatietypen door het Azure Databricks-hulpprogramma of de SDK-documentatie van het hulpprogramma of de SDK. Zie ook Omgevingsvariabelen en -velden voor geïntegreerde clientverificatie en de standaardvolgorde van evaluatie voor client-geïntegreerde verificatiemethoden en -referenties.
Stel voor bewerkingen op accountniveau de volgende omgevingsvariabelen in:
DATABRICKS_HOST
, ingesteld op de waarde van de URL van uw Azure Databricks-accountconsole,https://accounts.azuredatabricks.net
.DATABRICKS_ACCOUNT_ID
ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
Stel voor bewerkingen op werkruimteniveau de volgende omgevingsvariabelen in:
DATABRICKS_HOST
, bijvoorbeeld ingesteld op de waarde van uw AZURE Databricks-URLhttps://adb-1234567890123456.7.azuredatabricks.net
per werkruimte.ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
Als voor bewerkingen op werkruimteniveau de Service-principal van Microsoft Entra ID nog niet is toegevoegd aan de werkruimte, geeft u DATABRICKS_AZURE_RESOURCE_ID
deze samen met de Azure-resource-id voor de Azure Databricks-werkruimte op in plaats van HOST
de werkruimte-URL. In dit geval moet de Service-principal van Microsoft Entra ID ten minste de machtiging Inzender of Eigenaar hebben voor de Azure-resource voor de Azure Databricks-werkruimte.
Profiel
Maak of identificeer een Azure Databricks-configuratieprofiel met de volgende velden in uw .databrickscfg
bestand. Als u het profiel maakt, vervangt u de tijdelijke aanduidingen door de juiste waarden. Als u het profiel wilt gebruiken met een hulpprogramma of SDK, raadpleegt u Ondersteunde verificatietypen van het Azure Databricks-hulpprogramma of de SDK of de documentatie van het hulpprogramma of de SDK. Zie ook Omgevingsvariabelen en -velden voor geïntegreerde clientverificatie en de standaardvolgorde van evaluatie voor client-geïntegreerde verificatiemethoden en -referenties.
Stel voor bewerkingen op accountniveau de volgende waarden in uw .databrickscfg
bestand in. In dit geval is https://accounts.azuredatabricks.net
de URL van de Azure Databricks-accountconsole:
[<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>
Stel voor bewerkingen op werkruimteniveau de volgende waarden in het .databrickscfg
bestand in. In dit geval is de host de URL van Azure Databricks per werkruimte, bijvoorbeeldhttps://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>
Als voor bewerkingen op werkruimteniveau de Service-principal van Microsoft Entra ID nog niet is toegevoegd aan de werkruimte, geeft u azure_workspace_resource_id
deze samen met de Azure-resource-id voor de Azure Databricks-werkruimte op in plaats van host
de werkruimte-URL. In dit geval moet de Service-principal van Microsoft Entra ID ten minste de machtiging Inzender of Eigenaar hebben voor de Azure-resource voor de Azure Databricks-werkruimte.
CLI
Ga op een van de volgende manieren te werk voor de Databricks CLI:
- Stel de omgevingsvariabelen in zoals opgegeven in de sectie 'Omgeving' van dit artikel.
- Stel de waarden in het
.databrickscfg
bestand in zoals opgegeven in de sectie Profiel van dit artikel.
Omgevingsvariabelen hebben altijd voorrang op waarden in uw .databrickscfg
bestand.
Zie ook verificatie van de service-principal van Microsoft Entra ID.
Verbinden
Notitie
Verificatie van de Microsoft Entra ID-service-principal wordt ondersteund in de volgende Databricks Connect-versies:
- Voor Python maakt Databricks Connect voor Databricks Runtime 13.1 en hoger.
- Voor Scala, Databricks Connect voor Databricks Runtime 13.3 LTS en hoger.
Voor Databricks Connect kunt u een van de volgende handelingen uitvoeren:
- Stel de waarden in uw
.databrickscfg
bestand in voor bewerkingen op werkruimteniveau van Azure Databricks, zoals opgegeven in de sectie Profiel van dit artikel. Stel ook decluster_id
omgevingsvariabele in uw profiel in op uw URL per werkruimte, bijvoorbeeldhttps://adb-1234567890123456.7.azuredatabricks.net
. - Stel de omgevingsvariabelen in voor bewerkingen op werkruimteniveau van Azure Databricks, zoals opgegeven in de sectie 'Omgeving' van dit artikel. Stel de
DATABRICKS_CLUSTER_ID
omgevingsvariabele ook in op uw URL per werkruimte, bijvoorbeeldhttps://adb-1234567890123456.7.azuredatabricks.net
.
Waarden in uw .databrickscfg
bestand hebben altijd voorrang op omgevingsvariabelen.
Zie een van de volgende manieren om de Databricks Connect-client te initialiseren met deze omgevingsvariabelen of -waarden in uw .databrickscfg
bestand:
- Zie Verbindingseigenschappen voor Python configureren voor Python voor Python.
- Zie Verbindingseigenschappen voor Scala configureren voor Scala.
VS Code
Ga als volgt te werk voor de Databricks-extensie voor Visual Studio Code:
- Stel de waarden in uw
.databrickscfg
bestand in voor bewerkingen op werkruimteniveau van Azure Databricks, zoals opgegeven in de sectie Profiel van dit artikel. - Klik in het deelvenster Configuratie van de Databricks-extensie voor Visual Studio Code op Databricks configureren.
- Voer in het opdrachtenpalet voor Databricks Host uw URL per werkruimte in, bijvoorbeeld
https://adb-1234567890123456.7.azuredatabricks.net
en drukEnter
op . - Selecteer in het opdrachtpalet de naam van uw doelprofiel in de lijst voor uw URL.
Zie Verificatie-instelling voor de Databricks-extensie voor VS Code voor meer informatie.
Terraform
Voor bewerkingen op accountniveau voor standaardverificatie:
provider "databricks" {
alias = "accounts"
}
Voor directe configuratie (vervang de retrieve
tijdelijke aanduidingen door uw eigen implementatie om de waarden op te halen uit de console of een ander configuratiearchief, zoals HashiCorp Vault. Zie ook Kluisprovider). In dit geval is https://accounts.azuredatabricks.net
de URL van de Azure Databricks-accountconsole:
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>
}
Voor bewerkingen op werkruimteniveau voor standaardverificatie:
provider "databricks" {
alias = "workspace"
}
Voor directe configuratie (vervang de retrieve
tijdelijke aanduidingen door uw eigen implementatie om de waarden op te halen uit de console of een ander configuratiearchief, zoals HashiCorp Vault. Zie ook Kluisprovider). In dit geval is de host de URL van Azure Databricks per werkruimte, bijvoorbeeldhttps://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>
}
Als voor bewerkingen op werkruimteniveau de Service-principal van Microsoft Entra ID nog niet is toegevoegd aan de werkruimte, geeft u azure_workspace_resource_id
deze samen met de Azure-resource-id voor de Azure Databricks-werkruimte op in plaats van host
de werkruimte-URL. In dit geval moet de Service-principal van Microsoft Entra ID ten minste de machtiging Inzender of Eigenaar hebben voor de Azure-resource voor de Azure Databricks-werkruimte.
Zie Verificatie voor meer informatie over verificatie met de Databricks Terraform-provider.
Python
Voor bewerkingen op accountniveau voor standaardverificatie:
from databricks.sdk import AccountClient
a = AccountClient()
# ...
Voor directe configuratie (vervang de retrieve
tijdelijke aanduidingen door uw eigen implementatie om de waarden op te halen uit de console of een ander configuratiearchief, zoals Azure KeyVault). In dit geval is https://accounts.azuredatabricks.net
de URL van de Azure Databricks-accountconsole:
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()
)
# ...
Voor bewerkingen op werkruimteniveau voor standaardverificatie:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
# ...
Voor directe configuratie (vervang de retrieve
tijdelijke aanduidingen door uw eigen implementatie om de waarden op te halen uit de console of een ander configuratiearchief, zoals Azure KeyVault). In dit geval is de host de URL van Azure Databricks per werkruimte, bijvoorbeeldhttps://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()
)
# ...
Als voor bewerkingen op werkruimteniveau de Service-principal van Microsoft Entra ID nog niet is toegevoegd aan de werkruimte, geeft u azure_workspace_resource_id
deze samen met de Azure-resource-id voor de Azure Databricks-werkruimte op in plaats van host
de werkruimte-URL. In dit geval moet de Service-principal van Microsoft Entra ID ten minste de machtiging Inzender of Eigenaar hebben voor de Azure-resource voor de Azure Databricks-werkruimte.
Zie voor meer informatie over verificatie met Databricks-hulpprogramma's en SDK's die gebruikmaken van Python en die geïntegreerde verificatie voor Databricks-clients implementeren:
- De Databricks Connect-client instellen voor Python
- Verificatie-instelling voor de Databricks-extensie voor VS Code
- De Databricks SDK voor Python verifiëren met uw Azure Databricks-account of -werkruimte
Java
Voor bewerkingen op accountniveau voor standaardverificatie:
import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...
Voor directe configuratie (vervang de retrieve
tijdelijke aanduidingen door uw eigen implementatie om de waarden op te halen uit de console of een ander configuratiearchief, zoals Azure KeyVault). In dit geval is https://accounts.azuredatabricks.net
de URL van de Azure Databricks-accountconsole:
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);
// ...
Voor bewerkingen op werkruimteniveau voor standaardverificatie:
import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...
Voor directe configuratie (vervang de retrieve
tijdelijke aanduidingen door uw eigen implementatie om de waarden op te halen uit de console of een ander configuratiearchief, zoals Azure KeyVault). In dit geval is de host de URL van Azure Databricks per werkruimte, bijvoorbeeldhttps://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);
// ...
Als voor bewerkingen op werkruimteniveau de Service-principal van Microsoft Entra ID nog niet is toegevoegd aan de werkruimte, geeft u setAzureWorkspaceResourceId
deze samen met de Azure-resource-id voor de Azure Databricks-werkruimte op in plaats van setHost
de werkruimte-URL. In dit geval moet de Service-principal van Microsoft Entra ID ten minste de machtiging Inzender of Eigenaar hebben voor de Azure-resource voor de Azure Databricks-werkruimte.
Zie voor meer informatie over verificatie met Databricks-hulpprogramma's en SDK's die gebruikmaken van Java en die geïntegreerde verificatie van databricks-clients implementeren:
- De Databricks Connect-client voor Scala instellen (de Databricks Connect-client voor Scala maakt gebruik van de meegeleverde Databricks SDK voor Java voor verificatie)
- De Databricks SDK voor Java verifiëren met uw Azure Databricks-account of -werkruimte
Go
Voor bewerkingen op accountniveau voor standaardverificatie:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...
Voor directe configuratie (vervang de retrieve
tijdelijke aanduidingen door uw eigen implementatie om de waarden op te halen uit de console of een ander configuratiearchief, zoals Azure KeyVault). In dit geval is https://accounts.azuredatabricks.net
de URL van de Azure Databricks-accountconsole:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
Host: retrieveAccountConsoleUrl(),
AccountId: retrieveAccountId(),
AzureTenantId: retrieveAzureTenantId(),
AzureClientId: retrieveAzureClientId(),
AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...
Voor bewerkingen op werkruimteniveau voor standaardverificatie:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...
Voor directe configuratie (vervang de retrieve
tijdelijke aanduidingen door uw eigen implementatie om de waarden op te halen uit de console of een ander configuratiearchief, zoals Azure KeyVault). In dit geval is de host de URL van Azure Databricks per werkruimte, bijvoorbeeldhttps://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(),
}))
// ...
Als voor bewerkingen op werkruimteniveau de Service-principal van Microsoft Entra ID nog niet is toegevoegd aan de werkruimte, geeft u AzureWorkspaceResourceId
deze samen met de Azure-resource-id voor de Azure Databricks-werkruimte op in plaats van Host
de werkruimte-URL. In dit geval moet de Service-principal van Microsoft Entra ID ten minste de machtiging Inzender of Eigenaar hebben voor de Azure-resource voor de Azure Databricks-werkruimte.
Zie De Databricks-SDK voor Go verifiëren met uw Azure Databricks-account of -werkruimte voor meer informatie over verificatie met Databricks-hulpprogramma's en SDK's die gebruikmaken van Go en die geïntegreerde Verificatie van de Databricks-client implementeren.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor