Delen via


Een service-principal gebruiken om te verifiëren met Azure Databricks

In dit artikel wordt uitgelegd hoe u een azure Databricks-service-principal maakt en deze gebruikt, of een door Microsoft Entra ID (voorheen Azure Active Directory) 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.

  1. Meld u aan bij het Azure-portaal.

    Notitie

    De portal die moet worden gebruikt, is afhankelijk van of uw Microsoft Entra ID-toepassing (voorheen Azure Active Directory) wordt uitgevoerd in de openbare Azure-cloud of in een nationale of onafhankelijke cloud. Zie Nationale clouds voor meer informatie.

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

  3. Zoek in zoekbronnen, services en documenten naar Microsoft Entra-id en selecteer deze.

  4. Klik op + Toevoegen en selecteer App-registratie.

  5. Voer bij Naam een naam in voor de toepassing.

  6. Selecteer in de sectie Ondersteunde accounttypen alleen Accounts in deze organisatiemap (één tenant).

  7. Klik op Registreren.

  8. Kopieer op de overzichtspagina van de toepassingspagina in de sectie Essentials de volgende waarden:

    • Toepassings-id (client)
    • Map-id (tenant)

    Overzicht van geregistreerde Azure-apps

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

  10. Klik op het tabblad Clientgeheimen op Nieuw clientgeheim.

    Nieuw clientgeheim

  11. Voer in het deelvenster Een clientgeheim toevoegen voor Beschrijving een beschrijving in voor het clientgeheim.

  12. Voor Verlopen selecteert u een verloopperiode voor het clientgeheim en klikt u op Toevoegen.

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

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

  2. Meld u aan bij uw Azure Databricks-account als u hierom wordt gevraagd.

  3. Klik in de zijbalk op Gebruikersbeheer.

  4. Klik op het tabblad Service-principals .

  5. Klik op Service-principal toevoegen.

  6. Kies onder Beheer de beheerde Databricks- of Microsoft Entra-id.

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

  8. Voer een naam in voor de service-principal.

  9. Klik op Toevoegen.

  10. (Optioneel) Wijs machtigingen op accountniveau toe aan de service-principal:

    1. Klik op het tabblad Service-principals op de naam van uw service-principal.
    2. Schakel op het tabblad Rollen de wisselknop om elke doelrol in of uit te schakelen die deze service-principal moet hebben.
    3. 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:

  1. Klik in uw Azure Databricks-werkruimte op uw gebruikersnaam in de bovenste balk en klik op Instellingen.
  2. Klik op het tabblad Identiteit en toegang .
  3. Klik naast Service-principals op Beheren.
  4. Klik op Service-principal toevoegen.
  5. Selecteer uw service-principal in stap 2 en klik op Toevoegen.

Ga verder met stap 4.

Als uw werkruimte niet is ingeschakeld voor identiteitsfederatie:

  1. Klik in uw Azure Databricks-werkruimte op uw gebruikersnaam in de bovenste balk en klik op Instellingen.
  2. Klik op het tabblad Identiteit en toegang .
  3. Klik naast Service-principals op Beheren.
  4. Klik op Service-principal toevoegen.
  5. Klik op Nieuwe toevoegen.
  6. Kies onder Beheer de beheerde Databricks- of Microsoft Entra-id.
  7. 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.
  8. Voer een weergavenaam in voor de nieuwe service-principal en klik op Toevoegen.

Stap 4: Machtigingen op werkruimteniveau toewijzen aan de service-principal

  1. Als de beheerconsole voor uw werkruimte nog niet is geopend, klikt u op uw gebruikersnaam in de bovenste balk en klikt u op Instellingen.
  2. Klik op het tabblad Identiteit en toegang .
  3. Klik naast Service-principals op Beheren.
  4. Klik op de naam van uw service-principal om de instellingenpagina te openen.
  5. 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.
  6. 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:

  1. Meld u aan bij de Azure Databricks-accountconsole op https://accounts.azuredatabricks.net.
  2. Meld u aan bij uw Azure Databricks-account als u hierom wordt gevraagd.
  3. Klik in de zijbalk op Gebruikersbeheer.
  4. Klik op het tabblad Service-principals .
  5. Klik op de naam van de service-principal.
  6. Klik in de sectie OAuth-geheimen op het tabblad OAuth-geheimen van principal op Geheim genereren.
  7. 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.
  8. Klik op Gereed.

Een OAuth-geheim maken voor een service-principal vanuit de werkruimte:

  1. Als werkruimtebeheerder klikt u op uw gebruikersnaam in de bovenste balk en klikt u op Instellingen.

  2. Klik op het tabblad Identiteit en toegang .

  3. Klik naast Service-principals op Beheren.

  4. Klik op de naam van uw service-principal om de instellingenpagina te openen.

  5. Klik op het tabblad Geheimen .

  6. Klik onder OAuth-geheimen op Geheim genereren.

  7. 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, 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 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 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 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:

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.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, 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 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 een van de volgende manieren om de Databricks Connect-client te initialiseren met deze omgevingsvariabelen of -waarden in uw .databrickscfg 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 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.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 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.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, 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:

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:

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

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.

  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. 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
    
  5. 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. Het all-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.

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

  1. Bouw de eindpunt-URL van het token door de werkruimte-URL van uw Azure Databricks-implementatie te vervangenhttps://<databricks-instance>:

    https://<databricks-instance>/oidc/v1/token
    
  2. 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. Het all-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 met adb-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