Delen via


Toegang zonder toezicht tot Azure Databricks-resources met een service-principal autoriseren met behulp van OAuth

Dit onderwerp bevat stappen en details voor het autoriseren van toegang tot Azure Databricks-resources bij het automatiseren van Azure Databricks CLI-opdrachten of het aanroepen van Azure Databricks REST API's vanuit code die wordt uitgevoerd vanuit een proces zonder toezicht.

Azure Databricks maakt gebruik van OAuth als voorkeursprotocol voor gebruikersautorisatie en verificatie bij interactie met Azure Databricks-resources buiten de gebruikersinterface. Azure Databricks biedt ook het geïntegreerde hulpprogramma voor clientverificatie voor het automatiseren van het vernieuwen van de toegangstokens die zijn gegenereerd als onderdeel van de verificatiemethode van OAuth. Dit geldt voor service-principals en gebruikersaccounts, maar u moet een service-principal configureren met de juiste machtigingen en bevoegdheden voor de Azure Databricks-resources die deze moet openen als onderdeel van de bewerkingen.

Zie Toegang tot Azure Databricks-resources autoriseren voor meer informatie op hoog niveau.

Wat zijn mijn opties voor autorisatie en verificatie bij het gebruik van een Azure Databricks-service-principal?

In dit onderwerp verwijst autorisatie naar het protocol (OAuth) dat wordt gebruikt om via delegatie te onderhandelen over toegang tot specifieke Azure Databricks-resources. Verificatie verwijst naar het mechanisme waarmee referenties worden weergegeven, verzonden en geverifieerd, wat in dit geval toegangstokens zijn.

Azure Databricks maakt gebruik van op OAuth 2.0 gebaseerde autorisatie om toegang tot Azure Databricks-account- en werkruimtebronnen mogelijk te maken vanaf de opdrachtregel of code namens een service-principal met de machtigingen voor toegang tot deze resources. Zodra een Azure Databricks-service-principal is geconfigureerd en de referenties ervan zijn geverifieerd wanneer een CLI-opdracht wordt uitgevoerd of een REST API aanroept, wordt er vanaf die tijd een OAuth-token aan het deelnemende hulpprogramma of de SDK gegeven om verificatie op basis van tokens uit te voeren namens de service-principal. Het OAuth-toegangstoken heeft een levensduur van één uur, waarna het betrokken hulpprogramma of de SDK een automatische achtergrondpoging uitvoert om een nieuw token te verkrijgen dat ook één uur geldig is.

Azure Databricks ondersteunt twee manieren om toegang te verlenen voor een service-principal met OAuth:

  • Meestal automatisch, met behulp van de geïntegreerde ondersteuning voor Databricks-clientverificatie. Gebruik deze vereenvoudigde benadering als u specifieke Azure Databricks SDK's (zoals de Databricks Terraform SDK) en hulpprogramma's gebruikt. Ondersteunde hulpprogramma's en SDK's worden vermeld in geïntegreerde Databricks-clientverificatie. Deze benadering is geschikt voor automatisering of andere processcenario's zonder toezicht.
  • Handmatig, door rechtstreeks een OAuth-codeverifier/challenge-paar en een autorisatiecode te genereren en deze te gebruiken om het oorspronkelijke OAuth-token te maken dat u in uw configuratie opgeeft. Gebruik deze benadering wanneer u geen API gebruikt die wordt ondersteund door geïntegreerde Databricks-clientverificatie. In dit geval moet u mogelijk uw eigen mechanisme ontwikkelen om het vernieuwen van toegangstokens af te handelen die specifiek zijn voor het hulpprogramma of de API van derden die u gebruikt. Zie voor meer informatie: Handmatig toegangstokens genereren en gebruiken voor verificatie van OAuth-service-principals.

Voordat u begint, moet u een Azure Databricks-service-principal configureren en deze de juiste machtigingen toewijzen om toegang te krijgen tot de resources die moeten worden gebruikt wanneer uw automation-code of -opdrachten deze aanvragen.

Voorwaarde: Maak een service-principal aan

Accountbeheerders en werkruimtebeheerders kunnen service-principals maken. In deze stap wordt beschreven hoe u een service-principal maakt in een Azure Databricks-werkruimte. Zie Service-principals toevoegen aan uw account voor meer informatie over de Console van het Azure Databricks-account zelf.

U kunt ook een door Microsoft Entra ID beheerde service-principal maken en deze toevoegen aan Azure Databricks. Zie Databricks en Microsoft Entra ID-service-principals voor meer informatie.

  1. Meld u als werkruimtebeheerder aan bij de Azure Databricks-werkruimte.
  2. Klik op uw gebruikersnaam in de bovenste balk van de Azure Databricks-werkruimte en selecteer Instellingen.
  3. Klik op het tabblad Identiteit en toegang .
  4. Klik naast Service-principals op Beheren.
  5. Klik op Service-principal toevoegen.
  6. Klik op de vervolgkeuzepijl in het zoekvak en klik vervolgens op Nieuwe toevoegen.
  7. Kies onder Beheerde optie Databricks beheerd.
  8. Voer een naam in voor de service-principal.
  9. Klik op Toevoegen.

De Service-Principal wordt toegevoegd aan zowel je werkruimte als het Azure Databricks-account.

Stap 1: Machtigingen toewijzen aan uw service-principal

  1. Klik op de naam van uw service-principal om de bijbehorende detailpagina te openen.
  2. 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.
  3. 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 2: Een OAuth-geheim maken voor een service-principal

Voordat u OAuth kunt gebruiken om toegang tot uw Azure Databricks-resources te autoriseren, moet u eerst een OAuth-geheim maken, dat kan worden gebruikt voor het genereren van OAuth-toegangstokens voor verificatie. Een service-principal kan maximaal vijf OAuth-geheimen bevatten.

OAuth-geheimen hebben een maximale levensduur van twee jaar. Accountbeheerders en werkruimtebeheerders kunnen een OAuth-geheim maken voor een service-principal.

  1. Klik op de detailpagina van uw service-principal op het tabblad Geheimen .

  2. Klik onder OAuth-geheimen op Geheim genereren.

    OAuth-geheim genereren vanuit werkruimte

  3. Stel de levensduur van het geheim in dagen in. OAuth-geheimen hebben een maximale levensduur van 730 dagen (twee jaar).

  4. 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.

Accountbeheerders kunnen ook een OAuth-geheim genereren op de pagina met details van de service-principal in de accountconsole.

  1. Meld u als accountbeheerder aan bij de accountconsole.

  2. Klik in de zijbalk op Gebruikersbeheer.

  3. Selecteer uw service-principal op het tabblad Service-principals .

  4. Klik onder OAuth-geheimen op Geheim genereren.

    OAuth-geheim genereren op basis van account

  5. Stel de levensduur van het geheim in dagen in. OAuth-geheimen hebben een maximale levensduur van 730 dagen (twee jaar).

  6. Kopieer het weergegeven geheim en de client-id en klik vervolgens op Gereed.

Opmerking

Als u wilt dat de service-principal clusters of SQL-warehouses kan gebruiken, moet u de service-principal toegang geven tot deze clusters. Zie Rekenmachtigingen of een SQL-magazijn beheren.

Stap 3: OAuth-autorisatie gebruiken

Als u OAuth-autorisatie wilt gebruiken met het hulpprogramma voor geïntegreerde clientverificatie, 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, bijvoorbeeld https://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 wachtwoord van de service-principal.

Als u OAuth-service-principalverificatie wilt uitvoeren, integreert u het volgende in uw code op basis van het deelnemende hulpprogramma of de SDK:

Milieu

Als u omgevingsvariabelen wilt gebruiken voor een specifiek Verificatietype van Azure Databricks met een hulpprogramma of SDK, raadpleegt u Autorisatie voor toegang 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, ingesteld op de per-werkruimte URL van Azure Databricks, bijvoorbeeld https://adb-1234567890123456.7.azuredatabricks.net.
  • 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, zie Toegang tot Azure Databricks-resources autoriseren of raadpleeg 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 waarden in uw .databrickscfg bestand in. In dit geval is https://accounts.azuredatabricks.netde 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, bijvoorbeeld https://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 (Command Line Interface)

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

Opmerking

Verificatie van de OAuth service principal wordt ondersteund in de volgende Databricks Connect-versies:

  • Met Python werkt 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 de cluster_id omgevingsvariabele in uw profiel in op uw URL per werkruimte, bijvoorbeeld https://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, bijvoorbeeld https://adb-1234567890123456.7.azuredatabricks.net.

Waarden in uw .databrickscfg-bestand hebben altijd voorrang op omgevingsvariabelen.

Zie .databrickscfg Connect-client te initialiseren met deze omgevingsvariabelen of -waarden in uw bestand.

VS Code

Ga als volgt te werk voor de Databricks-extensie voor Visual Studio Code:

  1. Stel de waarden in uw .databrickscfg bestand in voor bewerkingen op werkruimteniveau van Azure Databricks, zoals opgegeven in de sectie Profiel van dit artikel.
  2. Klik in het deelvenster Configuratie van de Databricks-extensie voor Visual Studio Code op Databricks configureren.
  3. Voer in het opdrachtenpalet voor Databricks Host uw URL per werkruimte in, bijvoorbeeld https://adb-1234567890123456.7.azuredatabricks.neten druk Enterop .
  4. Selecteer in het opdrachtpalet de naam van uw doelprofiel in de lijst voor uw URL.

Zie Autorisatie instellen voor de Databricks-extensie voor Visual Studio Code voor meer informatie.

Terraformatie

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 andere configuratiewinkel, zoals HashiCorp Vault. Zie ook Vault Provider). In dit geval is https://accounts.azuredatabricks.netde 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 andere configuratiewinkel, zoals HashiCorp Vault. Zie ook Vault Provider). In dit geval is de host de URL van Azure Databricks per werkruimte, bijvoorbeeld https://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.netde 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, bijvoorbeeld https://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:

Opmerking

De Databricks-extensie voor Visual Studio Code maakt gebruik van Python, maar heeft nog geen OAuth-service-principalverificatie geïmplementeerd.

Java

Voor bewerkingen op werkruimteniveau met 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, bijvoorbeeld https://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:

Ga

Voor bewerkingen op accountniveau met behulp van 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.netde 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 met 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, bijvoorbeeld https://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.

handmatig toegangstokens genereren en gebruiken voor authenticatie van OAuth-service-principal

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 wanneer nodig namens u voor verificatie van de OAuth-service-principal.

Databricks raadt u aan om geïntegreerde clientverificatie te gebruiken, maar als u azure Databricks OAuth-toegangstokens handmatig moet genereren, vernieuwen of gebruiken, volgt u de instructies in deze sectie.

Gebruik de client-id en het OAuth-geheim van de service-principal om een OAuth-toegangstoken aan te vragen om te verifiëren bij zowel REST API's op accountniveau als REST API's op werkruimteniveau. Het toegangstoken verloopt over een uur. U moet een nieuw OAuth-toegangstoken aanvragen na de vervaldatum. 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:

Handmatig een toegangstoken op accountniveau genereren

Een OAuth-toegangstoken dat is gemaakt op basis van het accountniveau, kan worden gebruikt voor Databricks REST API's in het account en in alle werkruimten waar de service-principal toegang toe heeft.

  1. Meld u als accountbeheerder aan bij de accountconsole.

  2. Klik op de pijl-omlaag naast uw gebruikersnaam in de rechterbovenhoek.

  3. Kopieer uw account-id.

  4. Stel de token-eindpunt-URL samen door in de volgende URL <my-account-id> te vervangen door de account-id die u hebt gekopieerd.

    https://accounts.azuredatabricks.net/oidc/accounts/<my-account-id>/v1/token
    
  5. Gebruik een client zoals curl het aanvragen van een OAuth-toegangstoken met de eindpunt-URL van het token, de client-id van de service-principal (ook wel een toepassings-id genoemd) en het OAuth-geheim van de service-principal dat u hebt gemaakt. Het all-apis bereik vraagt een OAuth-toegangstoken aan dat kan worden gebruikt voor toegang tot alle Databricks REST API's waartoe de service-principal toegang heeft gekregen.

    • Vervang door <token-endpoint-URL> de url van het voorgaande tokeneindpunt.
    • Vervang door <client-id> de client-id van de service-principal, die ook wel een toepassings-id wordt genoemd.
    • Vervang <client-secret> door het OAuth-geheim van de service-principal dat u hebt gemaakt.
    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…",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    Kopieer het access_token uit het antwoord.

Handmatig een toegangstoken op werkruimteniveau genereren

Een OAuth-toegangstoken dat is gemaakt op werkruimteniveau, heeft alleen toegang tot REST API's in die werkruimte, zelfs als de service-principal een accountbeheerder is of lid is van andere werkruimten.

  1. Vervang https://<databricks-instance> door de werkruimte-URL van uw Azure Databricks-implementatie om de token-eindpunt-URL te construeren.

    https://<databricks-instance>/oidc/v1/token
    
  2. Gebruik een client zoals curl het aanvragen van een OAuth-toegangstoken met de eindpunt-URL van het token, de client-id van de service-principal (ook wel een toepassings-id genoemd) en het OAuth-geheim van de service-principal dat u hebt gemaakt. Het all-apis bereik vraagt een OAuth-toegangstoken aan dat kan worden gebruikt voor toegang tot alle Databricks REST API's waartoe de service-principal toegang heeft gekregen binnen de werkruimte waaruit u het token aanvraagt.

    • Vervang door <token-endpoint-URL> de url van het voorgaande tokeneindpunt.
    • Vervang door <client-id> de client-id van de service-principal, die ook wel een toepassings-id wordt genoemd.
    • Vervang <client-secret> door het OAuth-geheim van de service-principal dat u hebt gemaakt.
    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…",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    Kopieer het access_token uit het antwoord.

Een Databricks REST API aanroepen

U kunt het OAuth-toegangstoken gebruiken om te verifiëren bij REST API's op azure Databricks-accountniveau en REST API's op werkruimteniveau . De service-principal moet accountbeheerdersbevoegdheden hebben om REST API's op accountniveau aan te roepen.

Neem het toegangstoken op in de autorisatieheader met behulp van Bearer authenticatie. U kunt deze benadering gebruiken met curl of elke client die u bouwt.

Voorbeeld van REST API-aanvraag op accountniveau

In dit voorbeeld wordt Bearer authenticatie gebruikt om een lijst op te halen van alle werkruimten die aan een account zijn gekoppeld.

  • Vervang <oauth-access-token> door het OAuth-toegangstoken van de service-principal dat u in de vorige stap hebt gekopieerd.
  • Vervang <account-id> door 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 authenticatie gebruikt met Bearer om alle beschikbare clusters in de opgegeven werkruimte weer te geven.

  • Vervang <oauth-access-token> door het OAuth-toegangstoken van de service-principal dat u in de vorige stap hebt gekopieerd.
  • Vervang <workspace-URL> door de URL van uw basiswerkruimte, die de vorm heeft van dbc-a1b2345c-d6e7.cloud.databricks.com.
export OAUTH_TOKEN=<oauth-access-token>

curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
'https://<workspace-URL>/api/2.0/clusters/list'

Aanvullende bronnen