Toegang tot Azure Databricks verifiëren met een service-principal met behulp van OAuth (OAuth M2M)
In dit artikel wordt uitgelegd hoe u een Azure Databricks-service-principal maakt en deze gebruikt, of een door Microsoft Entra ID beheerde service-principal, om te verifiëren bij een doelentiteit.
Notitie
U moet een Azure Databricks-accountbeheerder zijn om Azure Databricks OAuth-referenties voor service-principals te beheren.
Stap 1: Een Microsoft Entra ID-service-principal maken in uw Azure-account
Voer deze stap uit als u een Service-principal van Microsoft Entra ID wilt koppelen aan uw Azure Databricks-account, werkruimte of beide. Ga anders verder naar stap 2.
Meld u aan bij het Azure-portaal.
Notitie
De portal die moet worden gebruikt, is afhankelijk van of uw Microsoft Entra ID-toepassing wordt uitgevoerd in de openbare Azure-cloud of in een nationale of onafhankelijke cloud. Zie Nationale clouds voor meer informatie.
Als u toegang hebt tot meerdere tenants, abonnementen of mappen, klikt u op het pictogram Mappen en abonnementen (directory met filter) in het bovenste menu om over te schakelen naar de map waarin u de service-principal wilt inrichten.
Zoek in zoekbronnen, services en documenten naar Microsoft Entra-id en selecteer deze.
Klik op + Toevoegen en selecteer App-registratie.
Voer bij Naam een naam in voor de toepassing.
Selecteer in de sectie Ondersteunde accounttypen alleen Accounts in deze organisatiemap (één tenant).
Klik op Registreren.
Kopieer op de overzichtspagina van de toepassingspagina in de sectie Essentials de volgende waarden:
- Toepassings-id (client)
- Map-id (tenant)
Als u een clientgeheim wilt genereren, klikt u in Beheren op Certificaten en geheimen.
Notitie
U gebruikt dit clientgeheim om Microsoft Entra ID-tokens te genereren voor het verifiëren van service-principals voor Microsoft Entra ID met Azure Databricks. Als u wilt bepalen of een Azure Databricks-hulpprogramma of SDK Microsoft Entra ID-tokens kan gebruiken, raadpleegt u de documentatie van het hulpprogramma of de SDK.
Klik op het tabblad Clientgeheimen op Nieuw clientgeheim.
Voer in het deelvenster Een clientgeheim toevoegen voor Beschrijving een beschrijving in voor het clientgeheim.
Voor Verlopen selecteert u een verloopperiode voor het clientgeheim en klikt u op Toevoegen.
Kopieer en sla de waarde van het clientgeheim op een veilige plaats op, omdat dit clientgeheim het wachtwoord is voor uw toepassing.
Stap 2: Een service-principal toevoegen aan uw Azure Databricks-account
Deze stap werkt alleen als uw Azure Databricks-doelwerkruimte is ingeschakeld voor identiteitsfederatie. Als uw werkruimte niet is ingeschakeld voor identiteitsfederatie, gaat u verder met stap 3.
Klik in uw Azure Databricks-werkruimte op uw gebruikersnaam in de bovenste balk en klik op Account beheren.
U kunt ook rechtstreeks naar uw Azure Databricks-accountconsole gaan op https://accounts.azuredatabricks.net.
Meld u aan bij uw Azure Databricks-account als u hierom wordt gevraagd.
Klik in de zijbalk op Gebruikersbeheer.
Klik op het tabblad Service-principals .
Klik op Service-principal toevoegen.
Kies onder Beheer de beheerde Databricks- of Microsoft Entra-id.
Als u microsoft Entra-id hebt gekozen die wordt beheerd, plakt u onder Microsoft Entra-toepassings-id de waarde van de toepassings-id (client) uit stap 1.
Voer een naam in voor de service-principal.
Klik op Toevoegen.
(Optioneel) Wijs machtigingen op accountniveau toe aan de service-principal:
- Klik op het tabblad Service-principals op de naam van uw service-principal.
- Schakel op het tabblad Rollen de wisselknop om elke doelrol in of uit te schakelen die deze service-principal moet hebben.
- Op het tabblad Machtigingen verleent u toegang tot alle Azure Databricks-gebruikers, service-principals en accountgroeprollen die u wilt beheren en gebruiken deze service-principal. Zie Rollen beheren in een service-principal.
Stap 3: De service-principal toevoegen aan uw Azure Databricks-werkruimte
Als uw werkruimte is ingeschakeld voor identiteitsfederatie:
- Klik in uw Azure Databricks-werkruimte op uw gebruikersnaam in de bovenste balk en klik op Instellingen.
- Klik op het tabblad Identiteit en toegang .
- Klik naast Service-principals op Beheren.
- Klik op Service-principal toevoegen.
- Selecteer uw service-principal in stap 2 en klik op Toevoegen.
Ga verder met stap 4.
Als uw werkruimte niet is ingeschakeld voor identiteitsfederatie:
- Klik in uw Azure Databricks-werkruimte op uw gebruikersnaam in de bovenste balk en klik op Instellingen.
- Klik op het tabblad Identiteit en toegang .
- Klik naast Service-principals op Beheren.
- Klik op Service-principal toevoegen.
- Klik op Nieuwe toevoegen.
- Kies onder Beheer de beheerde Databricks- of Microsoft Entra-id.
- Als u microsoft Entra-id hebt gekozen die wordt beheerd, plakt u onder Microsoft Entra-toepassings-id de waarde van de toepassings-id (client) uit stap 1.
- Voer een weergavenaam in voor de nieuwe service-principal en klik op Toevoegen.
Stap 4: Machtigingen op werkruimteniveau toewijzen aan de service-principal
- Als de beheerconsole voor uw werkruimte nog niet is geopend, klikt u op uw gebruikersnaam in de bovenste balk en klikt u op Instellingen.
- Klik op het tabblad Identiteit en toegang .
- Klik naast Service-principals op Beheren.
- Klik op de naam van uw service-principal om de instellingenpagina te openen.
- Schakel op het tabblad Configuraties het selectievakje in naast elk recht dat uw service-principal voor deze werkruimte moet hebben en klik vervolgens op Bijwerken.
- Op het tabblad Machtigingen verleent u toegang tot alle Azure Databricks-gebruikers, service-principals en groepen die u wilt beheren en gebruiken. Zie Rollen beheren in een service-principal.
Stap 5: Een Azure Databricks OAuth-geheim maken voor de service-principal
Voordat u OAuth kunt gebruiken om te verifiëren bij Azure Databricks, moet u eerst een OAuth-geheim maken, dat kan worden gebruikt om OAuth-toegangstokens te genereren. Een service-principal kan maximaal vijf OAuth-geheimen bevatten.
Een OAuth-geheim maken voor een service-principal vanuit de accountconsole:
- Meld u aan bij de Azure Databricks-accountconsole op https://accounts.azuredatabricks.net.
- Meld u aan bij uw Azure Databricks-account als u hierom wordt gevraagd.
- Klik in de zijbalk op Gebruikersbeheer.
- Klik op het tabblad Service-principals .
- Klik op de naam van de service-principal.
- Klik in de sectie OAuth-geheimen op het tabblad OAuth-geheimen van principal op Geheim genereren.
- Kopieer en sla in het dialoogvenster Geheim genereren de geheime waarde op een veilige plaats op, omdat dit OAuth-geheim het wachtwoord is voor de service-principal.
- Klik op Gereed.
Een OAuth-geheim maken voor een service-principal vanuit de werkruimte:
Als werkruimtebeheerder klikt u op uw gebruikersnaam in de bovenste balk en klikt u op Instellingen.
Klik op het tabblad Identiteit en toegang .
Klik naast Service-principals op Beheren.
Klik op de naam van uw service-principal om de instellingenpagina te openen.
Klik op het tabblad Geheimen .
Klik onder OAuth-geheimen op Geheim genereren.
Kopieer het weergegeven geheim en de client-id en klik vervolgens op Gereed.
Het geheim wordt slechts eenmaal onthuld tijdens het maken. De client-id is hetzelfde als de toepassings-id van de service-principal.
Notitie
Als u wilt dat de service-principal clusters of SQL-warehouses kan gebruiken, moet u de service-principal toegang geven tot deze clusters. Zie Compute-machtigingen of een SQL-warehouse beheren.
De configuratie van OAuth M2M-verificatie voltooien
Als u de configuratie van OAuth M2M-verificatie wilt voltooien, moet u de volgende gekoppelde omgevingsvariabelen, .databrickscfg
velden, Terraform-velden of Config
-velden instellen:
- De Azure Databricks-host, opgegeven als
https://accounts.azuredatabricks.net
voor accountbewerkingen of de doel-URL per werkruimte, bijvoorbeeldhttps://adb-1234567890123456.7.azuredatabricks.net
voor werkruimtebewerkingen. - De account-id van Azure Databricks voor bewerkingen van het Azure Databricks-account.
- De client-id van de service-principal.
- Het geheim van de service-principal.
Als u OAuth M2M-verificatie wilt uitvoeren, 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 Verificatietoegang tot Azure Databricks-resources of de documentatie van het hulpprogramma of de SDK. Zie ook Omgevingsvariabelen en -velden voor geïntegreerde clientverificatie en de standaardmethoden voor geïntegreerde clientverificatie.
Stel voor bewerkingen op accountniveau de volgende omgevingsvariabelen in:
DATABRICKS_HOST
, ingesteld op de URL van de Azure Databricks-accountconsole,https://accounts.azuredatabricks.net
.DATABRICKS_ACCOUNT_ID
DATABRICKS_CLIENT_ID
DATABRICKS_CLIENT_SECRET
Stel voor bewerkingen op werkruimteniveau de volgende omgevingsvariabelen in:
DATABRICKS_HOST
, bijvoorbeeld ingesteld op de URLhttps://adb-1234567890123456.7.azuredatabricks.net
van Azure Databricks per werkruimte.DATABRICKS_CLIENT_ID
DATABRICKS_CLIENT_SECRET
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 Toegang tot Azure Databricks-resources of de documentatie van het hulpprogramma of de SDK verifiëren. Zie ook Omgevingsvariabelen en -velden voor geïntegreerde clientverificatie en de standaardmethoden voor geïntegreerde clientverificatie.
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>
client_id = <service-principal-client-id>
client_secret = <service-principal-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>
client_id = <service-principal-client-id>
client_secret = <service-principal-secret>
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 OAuth-verificatie van machine-naar-machine (M2M).
Verbinden
Notitie
OAuth M2M-verificatie wordt ondersteund in de volgende Databricks Connect-versies:
- Voor Python maakt Databricks Connect voor Databricks Runtime 14.0 en hoger.
- Voor Scala, Databricks Connect voor Databricks Runtime 13.3 LTS en hoger. De Databricks SDK voor Java die is opgenomen in Databricks Connect voor Databricks Runtime 13.3 LTS en hoger, moet worden bijgewerkt naar Databricks SDK voor Java 0.17.0 of 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 Visual Studio 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>
client_id = <retrieve-client-id>
client_secret = <retrieve-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>
client_id = <retrieve-client-id>
client_secret = <retrieve-client-secret>
}
Zie Verificatie voor meer informatie over verificatie met de Databricks Terraform-provider.
Python
Gebruik voor bewerkingen op accountniveau het volgende voor standaardverificatie:
from databricks.sdk import AccountClient
a = AccountClient()
# ...
Voor directe configuratie gebruikt u het volgende, waarbij u de retrieve
tijdelijke aanduidingen vervangt 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(),
client_id = retrieve_client_id(),
client_secret = retrieve_client_secret()
)
# ...
Voor bewerkingen op werkruimteniveau, met name voor standaardverificatie:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
# ...
Vervang voor directe configuratie 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(),
client_id = retrieve_client_id(),
client_secret = retrieve_client_secret()
)
# ...
Zie voor meer informatie over verificatie met Databricks-hulpprogramma's en SDK's die gebruikmaken van Python en geïntegreerde Verificatie voor Databricks-clients implementeren:
- De Databricks Connect-client instellen voor Python
- De Databricks SDK voor Python verifiëren met uw Azure Databricks-account of -werkruimte
Notitie
De Databricks-extensie voor Visual Studio Code maakt gebruik van Python, maar heeft nog geen OAuth M2M-verificatie geïmplementeerd.
Java
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())
.setClientId(retrieveClientId())
.setClientSecret(retrieveClientSecret());
WorkspaceClient w = new WorkspaceClient(cfg);
// ...
Zie voor meer informatie over verificatie met Databricks-hulpprogramma's en SDK's die gebruikmaken van Java en 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"
)
// ...
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 https://accounts.azuredatabricks.net
de URL van de Azure Databricks-accountconsole:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
Host: retrieveAccountConsoleUrl(),
AccountId: retrieveAccountId(),
ClientId: retrieveClientId(),
ClientSecret: retrieveClientSecret(),
}))
// ...
Voor bewerkingen op werkruimteniveau 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 de host de URL van Azure Databricks per werkruimte, bijvoorbeeldhttps://adb-1234567890123456.7.azuredatabricks.net
:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
Host: retrieveWorkspaceUrl(),
ClientId: retrieveClientId(),
ClientSecret: retrieveClientSecret(),
}))
// ...
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.
Toegangstokens handmatig genereren en gebruiken voor OAuth M2M-verificatie
Azure Databricks-hulpprogramma's en SDK's die de geïntegreerde verificatiestandaard van de Databricks-client implementeren, genereert, vernieuwt en gebruikt azure Databricks OAuth-toegangstokens namens u indien nodig voor OAuth M2M-verificatie.
Als u azure Databricks OAuth-toegangstokens handmatig moet genereren, vernieuwen of gebruiken voor OAuth M2M-verificatie, volgt u de instructies in deze sectie.
Stap 1: een service-principal en een OAuth-geheim maken
Als u nog geen door Azure Databricks beheerde service-principal of door Microsoft Entra ID beheerde service-principal en het bijbehorende Azure Databricks OAuth-geheim hebt, maakt u deze door stap 1-5 aan het begin van dit artikel uit te voeren.
Stap 2: Handmatig een toegangstoken genereren
Gebruik de client-id van de door Azure Databricks beheerde service-principal of de client-id van de door Microsoft Entra ID beheerde service-principal en het Azure Databricks OAuth-geheim om een Azure Databricks OAuth-toegangstoken aan te vragen voor verificatie bij zowel REST API's op accountniveau als REST API's op werkruimteniveau . Het token verloopt over een uur. U moet na de vervaldatum een nieuw Azure Databricks OAuth-toegangstoken aanvragen. Het bereik van het OAuth-toegangstoken is afhankelijk van het niveau van waaruit u het token maakt. U kunt als volgt een token maken op accountniveau of op werkruimteniveau:
- Als u REST API's op account- en werkruimteniveau wilt aanroepen binnen accounts en werkruimten waartoe de door Azure Databricks beheerde service-principal of door Microsoft Entra ID beheerde service-principal toegang heeft, genereert u handmatig een toegangstoken op accountniveau.
- Als u REST API's wilt aanroepen binnen slechts één werkruimte waartoe de door Azure Databricks beheerde service-principal of door Microsoft Entra ID beheerde service-principal toegang heeft, kunt u handmatig een toegangstoken genereren op werkruimteniveau voor alleen die werkruimte.
Handmatig een toegangstoken op accountniveau genereren
Een Azure Databricks OAuth-toegangstoken dat is gemaakt op accountniveau, kan worden gebruikt voor Databricks REST API's in het account en in werkruimten waaraan de beheerde service-principal van Azure Databricks of de beheerde Service-principal van Microsoft Entra ID is toegewezen.
Meld u als accountbeheerder aan bij de accountconsole.
Klik op de pijl-omlaag naast uw gebruikersnaam in de rechterbovenhoek.
Kopieer uw account-id.
Maak de eindpunt-URL van het token door de volgende URL te vervangen door
<my-account-id>
de account-id die u hebt gekopieerd.https://accounts.azuredatabricks.net/oidc/accounts/<my-account-id>/v1/token
Gebruik een client zoals
curl
het aanvragen van een Azure Databricks OAuth-toegangstoken met de eindpunt-URL van het token, de client-id (ook wel de toepassings-id genoemd) van de door Azure Databricks beheerde service-principal of door Microsoft Entra ID beheerde service-principal, en het Azure Databricks OAuth-geheim dat u hebt gemaakt voor de beheerde service-principal van Azure Databricks of de beheerde service-principal van Microsoft Entra ID. Hetall-apis
bereik vraagt een Azure Databricks OAuth-toegangstoken aan dat kan worden gebruikt voor toegang tot alle Databricks REST API's waartoe de beheerde service-principal van Azure Databricks of de beheerde service-principal van Microsoft Entra ID toegang heeft gekregen.- Vervang door
<token-endpoint-URL>
de eindpunt-URL van het token van hierboven. - Vervang door
<client-id>
de client-id van de door Azure Databricks beheerde service-principal of de client-id van de door Microsoft Entra ID beheerde service-principal, ook wel toepassings-id genoemd. - Vervang
<client-secret>
door het Azure Databricks OAuth-geheim dat u hebt gemaakt voor de beheerde service-principal van Azure Databricks of de beheerde service-principal van Microsoft Entra ID.
export CLIENT_ID=<client-id> export CLIENT_SECRET=<client-secret> curl --request POST \ --url <token-endpoint-URL> \ --user "$CLIENT_ID:$CLIENT_SECRET" \ --data 'grant_type=client_credentials&scope=all-apis'
Hiermee wordt een antwoord gegenereerd dat vergelijkbaar is met:
{ "access_token": "eyJraWQiOiJkYTA4ZTVjZ…", "scope": "all-apis", "token_type": "Bearer", "expires_in": 3600 }
Kopieer het
access_token
uit het antwoord.Het Azure Databricks OAuth-toegangstoken verloopt over één uur. U moet na de vervaldatum handmatig een nieuw Azure Databricks OAuth-toegangstoken genereren.
- Vervang door
Ga verder met stap 3: Een Databricks REST API aanroepen.
Handmatig een toegangstoken op werkruimteniveau genereren
Een Azure Databricks OAuth-toegangstoken dat is gemaakt op werkruimteniveau, heeft alleen toegang tot REST API's in die werkruimte, zelfs als de beheerde service-principal van Azure Databricks of de beheerde service-principal van Microsoft Entra ID een accountbeheerder is of lid is van andere werkruimten.
Bouw de eindpunt-URL van het token door de werkruimte-URL van uw Azure Databricks-implementatie te vervangen
https://<databricks-instance>
:https://<databricks-instance>/oidc/v1/token
Gebruik een client zoals
curl
het aanvragen van een Azure Databricks OAuth-toegangstoken met de eindpunt-URL van het token, de client-id (ook wel de toepassings-id genoemd) van de beheerde service-principal van Azure Databricks of door Microsoft Entra ID beheerde service-principal, en het Azure Databricks OAuth-geheim dat u hebt gemaakt voor de beheerde service-principal van Azure Databricks of door Microsoft Entra ID beheerde service-principal. Hetall-apis
bereik vraagt een Azure Databricks OAuth-toegangstoken aan dat kan worden gebruikt voor toegang tot alle Databricks REST API's waarvoor de beheerde service-principal van Azure Databricks of de beheerde service-principal van Microsoft Entra ID toegang heeft gekregen binnen de werkruimte waaruit u het token aanvraagt.Vervang door
<token-endpoint-URL>
de eindpunt-URL van het token van hierboven.Vervang door
<client-id>
de client-id van de door Azure Databricks beheerde service-principal of de client-id van de door Microsoft Entra ID beheerde service-principal, ook wel toepassings-id genoemd.Vervang
<client-secret>
door het Azure Databricks OAuth-geheim dat u hebt gemaakt voor de beheerde service-principal van Azure Databricks of de beheerde service-principal van Microsoft Entra ID.export CLIENT_ID=<client-id> export CLIENT_SECRET=<client-secret> curl --request POST \ --url <token-endpoint-URL> \ --user "$CLIENT_ID:$CLIENT_SECRET" \ --data 'grant_type=client_credentials&scope=all-apis'
Hiermee wordt een antwoord gegenereerd dat vergelijkbaar is met:
{ "access_token": "eyJraWQiOiJkYTA4ZTVjZ…", "scope": "all-apis", "token_type": "Bearer", "expires_in": 3600 }
Kopieer het
access_token
uit het antwoord.
Stap 3: Een Databricks REST API aanroepen
U kunt nu een Azure Databricks OAuth-toegangstoken gebruiken om te verifiëren bij REST API's op accountniveau van Azure Databricks en REST API's op werkruimteniveau. De beheerde service-principal van Azure Databricks of de door Microsoft Entra ID beheerde service-principal moet een accountbeheerder zijn om REST API's op accountniveau aan te roepen.
U kunt het token opnemen in de header met behulp van Bearer
verificatie. U kunt deze benadering gebruiken met curl
of elke client die u bouwt.
Voorbeeld van REST API-aanvraag op accountniveau
In dit voorbeeld wordt verificatie gebruikt Bearer
om een lijst op te halen met alle werkruimten die zijn gekoppeld aan een account.
- Vervang
<oauth-access-token>
door het azure Databricks OAuth-toegangstoken voor de beheerde service-principal van Azure Databricks of de beheerde service-principal van Microsoft Entra ID. - Vervang door
<account-id>
uw account-id.
export OAUTH_TOKEN=<oauth-access-token>
curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
'https://accounts.azuredatabricks.net/api/2.0/accounts/<account-id>/workspaces'
Voorbeeld van REST API-aanvraag op werkruimteniveau
In dit voorbeeld wordt verificatie gebruikt Bearer
om alle beschikbare clusters in de opgegeven werkruimte weer te geven.
Vervang
<oauth-access-token>
door het azure Databricks OAuth-toegangstoken voor de beheerde service-principal van Azure Databricks of de beheerde service-principal van Microsoft Entra ID.Vervang door
<workspace-URL>
de URL van uw basiswerkruimte, die het formulier heeft dat vergelijkbaar is metadb-1111111111111111.1.azuredatabricks.net
.export OAUTH_TOKEN=<oauth-access-token> curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \ 'https://<workspace-URL>/api/2.0/clusters/list'
Aanvullende bronnen
- Service-principals
- Overzicht van het Databricks-identiteitsmodel
- Aanvullende informatie over verificatie en toegangsbeheer