Delen via


OAuth-verificatie van gebruiker naar machine (U2M)

OAuth-gebruikers-naar-machine-verificatie (U2M) maakt gebruik van realtime menselijke aanmelding en toestemming om het azure Databricks-doelgebruikersaccount te verifiëren. Nadat de gebruiker zich heeft aangemeld en toestemming heeft gegeven voor de OAuth-verificatieaanvraag, krijgt het deelnemende hulpprogramma of de SDK een OAuth-token om verificatie op basis van tokens uit te voeren vanaf dat moment namens de gebruiker. Het OAuth-token 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.

Als u OAuth U2M-verificatie wilt configureren met Azure Databricks, 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.

Als u OAuth U2M-verificatie wilt uitvoeren met Azure Databricks, integreert u het volgende in uw code op basis van het deelnemende hulpprogramma of de SDK. Afhankelijk van de Azure Databricks-bewerkingen die door uw code worden aanroepen, hoeft u niet per se een beheerder te zijn voor het Azure Databricks-account:

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

Stel voor bewerkingen op werkruimteniveau de volgende omgevingsvariabelen in:

  • DATABRICKS_HOST, bijvoorbeeld ingesteld op de waarde van uw AZURE Databricks-URL https://adb-1234567890123456.7.azuredatabricks.netper 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.netde URL van de Azure Databricks-accountconsole:

[<some-unique-configuration-profile-name>]
host       = <account-console-url>
account_id = <account-id>

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>

CLI

Voer voor de Databricks CLI de databricks auth login opdracht uit met de volgende opties:

Nadat u deze opdracht hebt uitgevoerd, volgt u de instructies in uw webbrowser om u aan te melden bij uw Azure Databricks-account of -werkruimte.

Zie OAuth-gebruikers-naar-machine-verificatie (U2M) voor meer informatie.

Verbinden

Notitie

OAuth U2M-verificatie 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 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. Klik in het deelvenster Configuratie op Databricks configureren.
  2. Voer in het opdrachtenpalet voor Databricks Host uw URL per werkruimte in, bijvoorbeeld https://adb-1234567890123456.7.azuredatabricks.neten druk Enterop .
  3. Selecteer OAuth (gebruiker naar computer).
  4. Voltooi de instructies op het scherm in uw webbrowser om de verificatie met uw Azure Databricks-account te voltooien en alle API's toegang te verlenen.

Zie OAuth U2M-verificatie instellen voor meer informatie.

Terraform

Notitie

OAuth U2M-verificatie wordt nog niet ondersteund.

Python

Voor bewerkingen op accountniveau moet u eerst de Databricks CLI gebruiken om de volgende opdracht uit te voeren voordat u uw Python-code uitvoert. Met deze opdracht wordt de Databricks CLI geïnstrueerd om het benodigde OAuth-token te genereren en in de cache op te slaan in het pad .databricks/token-cache.json in de basismap van uw gebruiker op uw computer:

databricks auth login --host <account-console-url> --account-id <account-id>

Vervang de volgende tijdelijke aanduidingen:

  • Vervang door <account-console-url> de waarde https://accounts.azuredatabricks.net. (Stel dit niet in op de waarde van de URL van uw Azure Databricks-werkruimte.)
  • Vervang door <account-id> de waarde van uw Azure Databricks-account. Zie Uw account-id zoeken.

Notitie

Als u een bestaand Azure Databricks-configuratieprofiel hebt met de host velden die account_id al zijn ingesteld, kunt u deze vervangen door --profile <profile-name>--host <account-console-url> --account-id <account-id> .

Nadat u de auth login opdracht hebt uitgevoerd, wordt u gevraagd om de aanmeldings-URL en account-id van het account op te slaan als een Azure Databricks-configuratieprofiel. Voer desgevraagd de naam in van een nieuw of bestaand profiel in uw .databrickscfg bestand. Elk bestaand profiel met dezelfde naam in uw .databrickscfg bestand wordt overschreven.

Als u hierom wordt gevraagd, vult u de instructies op het scherm van uw webbrowser in om de aanmelding te voltooien. Gebruik vervolgens Python-code die vergelijkbaar is met een van de volgende codefragmenten:

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.netde URL van de Azure Databricks-accountconsole:

from databricks.sdk import AccountClient

a = AccountClient(
  host       = retrieveAccountConsoleUrl(),
  account_id = retrieveAccountId()
)
# ...

Voor bewerkingen op werkruimteniveau moet u eerst de Databricks CLI gebruiken om de volgende opdracht uit te voeren voordat u uw Python-code uitvoert. Met deze opdracht wordt de Databricks CLI geïnstrueerd om het benodigde OAuth-token te genereren en in de cache op te slaan in het pad .databricks/token-cache.json in de basismap van uw gebruiker op uw computer:

databricks auth login --host <worskpace-url>

Vervang de tijdelijke aanduiding <workspace-url> door de doel-URL van Azure Databricks per werkruimte, bijvoorbeeldhttps://adb-1234567890123456.7.azuredatabricks.net.

Notitie

Als u een bestaand Azure Databricks-configuratieprofielhebt met het host veld dat al is ingesteld, kunt u deze vervangen --host <workspace-url> door --profile <profile-name>.

Als u de auth login opdracht uitvoert, wordt u gevraagd om de werkruimte-URL op te slaan als een Azure Databricks-configuratieprofiel. Voer desgevraagd de naam in van een nieuw of bestaand profiel in uw .databrickscfg bestand. Elk bestaand profiel met dezelfde naam in uw .databrickscfg bestand wordt overschreven.

Als u hierom wordt gevraagd, vult u de instructies op het scherm van uw webbrowser in om de aanmelding te voltooien. Gebruik vervolgens Python-code die vergelijkbaar is met een van de volgende codefragmenten:

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 = retrieveWorkspaceUrl())
# ...

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:

Java

Voor bewerkingen op accountniveau moet u eerst de Databricks CLI gebruiken om de volgende opdracht uit te voeren voordat u uw Java-code uitvoert. Met deze opdracht wordt de Databricks CLI geïnstrueerd om het benodigde OAuth-token te genereren en in de cache op te slaan in het pad .databricks/token-cache.json in de basismap van uw gebruiker op uw computer:

databricks auth login --host <account-console-url> --account-id <account-id>

Vervang de volgende tijdelijke aanduidingen:

  • Vervang door <account-console-url> de waarde https://accounts.azuredatabricks.net. (Stel dit niet in op de waarde van de URL van uw Azure Databricks-werkruimte.)
  • Vervang door <account-id> de waarde van uw Azure Databricks-account. Zie Uw account-id zoeken.

Notitie

Als u een bestaand Azure Databricks-configuratieprofiel hebt met de host velden die account_id al zijn ingesteld, kunt u deze vervangen door --profile <profile-name>--host <account-console-url> --account-id <account-id> .

Nadat u de auth login opdracht hebt uitgevoerd, wordt u gevraagd om de aanmeldings-URL en account-id van het account op te slaan als een Azure Databricks-configuratieprofiel. Voer desgevraagd de naam in van een nieuw of bestaand profiel in uw .databrickscfg bestand. Elk bestaand profiel met dezelfde naam in uw .databrickscfg bestand wordt overschreven.

Als u hierom wordt gevraagd, vult u de instructies op het scherm van uw webbrowser in om de aanmelding te voltooien. Gebruik vervolgens Java-code die vergelijkbaar is met een van de volgende codefragmenten:

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.netde 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());
AccountClient a = new AccountClient(cfg);
// ...

Voor bewerkingen op werkruimteniveau moet u eerst de Databricks CLI gebruiken om de volgende opdracht uit te voeren voordat u uw Java-code uitvoert. Met deze opdracht wordt de Databricks CLI geïnstrueerd om het benodigde OAuth-token te genereren en in de cache op te slaan in het pad .databricks/token-cache.json in de basismap van uw gebruiker op uw computer:

databricks auth login --host <worskpace-url>

Vervang de tijdelijke aanduiding <workspace-url> door de doel-URL van Azure Databricks per werkruimte, bijvoorbeeldhttps://adb-1234567890123456.7.azuredatabricks.net.

Notitie

Als u een bestaand Azure Databricks-configuratieprofielhebt met het host veld dat al is ingesteld, kunt u deze vervangen --host <workspace-url> door --profile <profile-name>.

Nadat u de auth login opdracht hebt uitgevoerd, wordt u gevraagd om de werkruimte-URL op te slaan als een Azure Databricks-configuratieprofiel. Voer desgevraagd de naam in van een nieuw of bestaand profiel in uw .databrickscfg bestand. Elk bestaand profiel met dezelfde naam in uw .databrickscfg bestand wordt overschreven.

Als u hierom wordt gevraagd, vult u de instructies op het scherm van uw webbrowser in om de aanmelding te voltooien. Gebruik vervolgens Java-code die vergelijkbaar is met een van de volgende codefragmenten:

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())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

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:

Go

Voor bewerkingen op accountniveau moet u eerst de Databricks CLI gebruiken om de volgende opdracht uit te voeren voordat u uw Go-code uitvoert. Met deze opdracht wordt de Databricks CLI geïnstrueerd om het benodigde OAuth-token te genereren en in de cache op te slaan in het pad .databricks/token-cache.json in de basismap van uw gebruiker op uw computer:

databricks auth login --host <account-login-url> --account-id <account-id>

Vervang de volgende tijdelijke aanduidingen:

  • Vervang door <account-console-url> de waarde https://accounts.azuredatabricks.net. (Stel dit niet in op de waarde van de URL van uw Azure Databricks-werkruimte.)
  • Vervang door <account-id> de waarde van uw Azure Databricks-account. Zie Uw account-id zoeken.

Notitie

Als u een bestaand Azure Databricks-configuratieprofiel hebt met de host velden die account_id al zijn ingesteld, kunt u deze vervangen door --profile <profile-name>--host <account-console-url> --account-id <account-id> .

Nadat u de auth login opdracht hebt uitgevoerd, wordt u gevraagd om de aanmeldings-URL en account-id van het account op te slaan als een Azure Databricks-configuratieprofiel. Voer desgevraagd de naam in van een nieuw of bestaand profiel in uw .databrickscfg bestand. Elk bestaand profiel met dezelfde naam in uw .databrickscfg bestand wordt overschreven.

Als u hierom wordt gevraagd, vult u de instructies op het scherm van uw webbrowser in om de aanmelding te voltooien. Gebruik vervolgens Go-code die vergelijkbaar is met een van de volgende codefragmenten:

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.netde URL van de Azure Databricks-accountconsole:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:      retrieveAccountConsoleUrl(),
  AccountId: retrieveAccountId(),
}))
// ...

Voor bewerkingen op werkruimteniveau moet u eerst de Databricks CLI gebruiken om de volgende opdracht uit te voeren voordat u uw Go-code uitvoert. Met deze opdracht wordt de Databricks CLI geïnstrueerd om het benodigde OAuth-token te genereren en in de cache op te slaan in het pad .databricks/token-cache.json in de basismap van uw gebruiker op uw computer:

databricks auth login --host <worskpace-url>

Vervang de tijdelijke aanduiding <workspace-url> door de doel-URL van Azure Databricks per werkruimte, bijvoorbeeldhttps://adb-1234567890123456.7.azuredatabricks.net.

Notitie

Als u een bestaand Azure Databricks-configuratieprofielhebt met het host veld dat al is ingesteld, kunt u deze vervangen --host <workspace-url> door --profile <profile-name>.

Nadat u de auth login opdracht hebt uitgevoerd, wordt u gevraagd om de werkruimte-URL op te slaan als een Azure Databricks-configuratieprofiel. Voer desgevraagd de naam in van een nieuw of bestaand profiel in uw .databrickscfg bestand. Elk bestaand profiel met dezelfde naam in uw .databrickscfg bestand wordt overschreven.

Als u hierom wordt gevraagd, vult u de instructies op het scherm van uw webbrowser in om de aanmelding te voltooien. Gebruik vervolgens Go-code die vergelijkbaar is met een van de volgende codefragmenten:

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(),
}))
// ...

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 OAuth-gebruikers-naar-machine-verificatie (U2M)

Azure Databricks-hulpprogramma's en SDK's waarmee de geïntegreerde verificatiestandaard van de Databricks-client wordt geïmplementeerd, genereert, vernieuwt en gebruikt azure Databricks OAuth-toegangstokens namens u die nodig zijn voor OAuth U2M-verificatie.

Als u om een of andere reden handmatig Azure Databricks OAuth-toegangstokens moet genereren, vernieuwen of gebruiken voor OAuth U2M-verificatie, volgt u de instructies in deze sectie.

Stap 1: Een OAuth-codeverificator en codevraagpaar genereren

Als u handmatig toegangstokens voor OAuth U2M-verificatie wilt genereren en gebruiken, moet u eerst een OAuth-codeverificator en een OAuth-codevraaghebben die is afgeleid van de codeverificator. U gebruikt de codevraag verderop in stap 2 om een OAuth-autorisatiecode te genereren. U gebruikt de codeverifier en de autorisatiecode verderop in stap 3 om het OAuth-toegangstoken te genereren.

Notitie

Hoewel het technisch mogelijk is om niet-gecodeerde tekenreeksen zonder opmaak te gebruiken voor de codeverifier en code-uitdaging, moedigt Databricks ten zeerste aan om in plaats daarvan de OAuth-standaard te volgen voor het genereren van de codeverifier en code-uitdaging.

De codeverificator moet een cryptografische willekeurige tekenreeks zijn met behulp van tekens uit de sets A-Z, a-zen 0-9de interpunctietekens -._~ (afbreekstreepje, punt, onderstrepingsteken en tilde), tussen 43 en 128 tekens lang. De codevraag moet een Base64-URL-gecodeerde tekenreeks van de SHA256-hash van de codeverifier zijn. Zie Autorisatieaanvraag voor meer informatie.

U kunt het volgende Python-script uitvoeren om snel een unieke codeverificator en code-uitdagingpaar te genereren. Hoewel u dit gegenereerde codeverificator en code-uitdagingpaar meerdere keren opnieuw kunt gebruiken, raadt Databricks u aan om telkens wanneer u handmatig toegangstokens genereert voor OAuth U2M-verificatie een nieuwe codeverificator en codevraagpaar te genereren.

import uuid, hashlib, base64

# Generate a UUID.
uuid1 = uuid.uuid4()

# Convert the UUID to a string.
uuid_str1 = str(uuid1).upper()

# Create the code verifier.
code_verifier = uuid_str1 + "-" + uuid_str1

# Create the code challenge based on the code verifier.
code_challenge = base64.urlsafe_b64encode(hashlib.sha256(code_verifier.encode()).digest()).decode('utf-8')

# Remove all padding from the code challenge.
code_challenge = code_challenge.replace('=', '')

# Print the code verifier and the code challenge.
# Use these in your calls to manually generate
# access tokens for OAuth U2M authentication.
print(f"code_verifier:  {code_verifier}")
print(f"code_challenge: {code_challenge}")

Stap 2: Een autorisatiecode genereren

U gebruikt een OAuth-autorisatiecode om een Azure Databricks OAuth-toegangstoken te genereren. De autorisatiecode verloopt onmiddellijk nadat u deze hebt gebruikt om een Azure Databricks OAuth-toegangstoken te genereren. Het bereik van de autorisatiecode is afhankelijk van het niveau waaruit u deze genereert. U kunt als volgt een autorisatiecode genereren op het niveau van het Azure Databricks-account of op werkruimteniveau:

Een autorisatiecode op accountniveau genereren

  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. Blader in de adresbalk van uw webbrowser naar de volgende URL. Regeleinden zijn toegevoegd voor leesbaarheid. Uw URL mag deze regeleinden niet bevatten.

    Vervang in de volgende URL het volgende:

    • Vervang door <account-id> de account-id die u hebt gekopieerd.
    • Vervang <redirect-url> bijvoorbeeld door een omleidings-URL naar uw lokale computer http://localhost:8020.
    • Vervang <state> door een tekenreeks zonder opmaak die u kunt gebruiken om de integriteit van de autorisatiecode te verifiëren.
    • Vervang <code-challenge> door de codevraag die u in stap 1 hebt gegenereerd.
    https://accounts.azuredatabricks.net/oidc/accounts/<account-id>/v1/authorize
    ?client_id=databricks-cli
    &redirect_url=<redirect-url>
    &response_type=code
    &state=<state>
    &code_challenge=<code-challenge>
    &code_challenge_method=S256
    &scope=all-apis+offline_access
    
  5. Wanneer u hierom wordt gevraagd, volgt u de aanwijzingen op het scherm om u aan te melden bij uw Azure Databricks-account.

  6. Kopieer de autorisatiecode in de adresbalk van uw webbrowser. De autorisatiecode is de volledige tekenreeks tussen code= en het & teken in de URL. De autorisatiecode in de volgende URL is dcod...7fe6bijvoorbeeld:

    http://localhost:8020/?code=dcod...7fe6&state=<state>
    

    Controleer de integriteit van deze autorisatiecode door visueel te bevestigen dat de <state> waarde in deze antwoord-URL overeenkomt met de state waarde die u hebt opgegeven in uw aanvraag-URL. Als de waarden verschillen, moet u deze autorisatiecode niet gebruiken, omdat deze mogelijk wordt aangetast.

  7. Ga verder met het genereren van een toegangstoken op accountniveau.

Een autorisatiecode op werkruimteniveau genereren

  1. Blader in de adresbalk van uw webbrowser naar de volgende URL. Regeleinden zijn toegevoegd voor leesbaarheid. Uw URL mag deze regeleinden niet bevatten.

    Vervang in de volgende URL het volgende:

    • Vervang bijvoorbeeld door <databricks-instance> de naam van het Azure Databricks-werkruimte-exemplaaradb-1234567890123456.7.azuredatabricks.net.
    • Vervang <redirect-url> bijvoorbeeld door een omleidings-URL naar uw lokale computer http://localhost:8020.
    • Vervang <state> door een tekenreeks zonder opmaak die u kunt gebruiken om de integriteit van de autorisatiecode te verifiëren.
    • Vervang <code-challenge> door de codevraag die u in stap 1 hebt gegenereerd.
    https://<databricks-instance>/oidc/v1/authorize
    ?client_id=databricks-cli
    &redirect_uri=<redirect-url>
    &response_type=code
    &state=<state>
    &code_challenge=<code-challenge>
    &code_challenge_method=S256
    &scope=all-apis+offline_access
    
  2. Wanneer u hierom wordt gevraagd, volgt u de aanwijzingen op het scherm om u aan te melden bij uw Azure Databricks-werkruimte.

  3. Kopieer de autorisatiecode in de adresbalk van uw webbrowser. De autorisatiecode is de volledige tekenreeks tussen code= en het & teken in de URL. De autorisatiecode in de volgende URL is dcod...7fe6bijvoorbeeld:

    http://localhost:8020/?code=dcod...7fe6&state=<state>
    

    Controleer de integriteit van deze autorisatiecode door visueel te bevestigen dat de <state> waarde in deze antwoord-URL overeenkomt met de state waarde die u hebt opgegeven in uw aanvraag-URL. Als de waarden verschillen, moet u deze autorisatiecode niet gebruiken, omdat deze mogelijk wordt aangetast.

Stap 3: De autorisatiecode gebruiken om een OAuth-toegangstoken te genereren

U gebruikt de OAuth-autorisatiecode uit de vorige stap om als volgt een OAuth-toegangstoken voor Azure Databricks te genereren:

Een toegangstoken op accountniveau genereren

  1. Gebruik een client zoals curl de autorisatiecode op accountniveau om het OAuth-toegangstoken op accountniveau te genereren. Vervang in de volgende curl aanroep de volgende tijdelijke aanduidingen:

    • Vervang <account-id> door de account-id uit stap 2.
    • Vervang <redirect-url> door de omleidings-URL uit stap 2.
    • Vervang <code-verifier> door de codeverificator die u in stap 1 hebt gegenereerd.
    • Vervang door <authorization-code> de autorisatiecode op accountniveau die u hebt gegenereerd in stap 2.
    curl --request POST \
    https://accounts.azuredatabricks.net/oidc/accounts/<account-id>/v1/token \
    --data "client_id=databricks-cli" \
    --data "grant_type=authorization_code" \
    --data "scope=all-apis offline_access" \
    --data "redirect_uri=<redirect-url>" \
    --data "code_verifier=<code-verifier>" \
    --data "code=<authorization-code>"
    
  2. Kopieer in het antwoord het OAuth-toegangstoken op accountniveau. Het toegangstoken is de volledige tekenreeks in het access_token object. Het toegangstoken in het volgende antwoord is eyJr...Dkagbijvoorbeeld:

    {
      "access_token": "eyJr...Dkag",
      "refresh_token": "doau...f26e",
      "scope": "all-apis offline_access",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    Dit toegangstoken verloopt over één uur. Als u een nieuw toegangstoken wilt genereren, herhaalt u deze procedure uit stap 1.

  3. Ga verder met stap 4: Een Databricks REST API aanroepen.

Een toegangstoken op werkruimteniveau genereren

  1. Gebruik een client zoals curl de autorisatiecode op werkruimteniveau om het OAuth-toegangstoken op werkruimteniveau te genereren. Vervang in de volgende curl aanroep de volgende tijdelijke aanduidingen:

    • Vervang bijvoorbeeld door <databricks-instance> de naam van het Azure Databricks-werkruimte-exemplaaradb-1234567890123456.7.azuredatabricks.net.
    • Vervang <redirect-url> door de omleidings-URL uit stap 2.
    • Vervang <code-verifier> door de codeverificator die u in stap 1 hebt gegenereerd.
    • Vervang door <authorization-code> de autorisatiecode op werkruimteniveau die u hebt gegenereerd in stap 2.
    curl --request POST \
    https://<databricks-instance>/oidc/v1/token \
    --data "client_id=databricks-cli" \
    --data "grant_type=authorization_code" \
    --data "scope=all-apis offline_access" \
    --data "redirect_uri=<redirect-url>" \
    --data "code_verifier=<code-verifier>" \
    --data "code=<authorization-code>"
    
  2. Kopieer in het antwoord het OAuth-toegangstoken op werkruimteniveau. Het toegangstoken is de volledige tekenreeks in het access_token object. Het toegangstoken in het volgende antwoord is eyJr...Dkagbijvoorbeeld:

    {
      "access_token": "eyJr...Dkag",
      "refresh_token": "doau...f26e",
      "scope": "all-apis offline_access",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    Dit toegangstoken verloopt over één uur. Als u een nieuw toegangstoken wilt genereren, herhaalt u deze procedure uit stap 1.

Stap 4: Een Databricks REST API aanroepen

U gebruikt het OAuth-toegangstoken op accountniveau of op werkruimteniveau om te verifiëren bij REST API's op accountniveau van Azure Databricks en REST API's op werkruimteniveau, afhankelijk van het bereik van het toegangstoken. Uw Azure Databricks-gebruikersaccount moet een accountbeheerder zijn om REST API's op accountniveau aan te roepen.

Voorbeeld van REST API-aanvraag op accountniveau

In dit voorbeeld wordt curl gebruikgemaakt van Bearer verificatie om een lijst op te halen met alle werkruimten die zijn gekoppeld aan een account.

  • Vervang <oauth-access-token> door het OAuth-toegangstoken op accountniveau.
  • 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 curl gebruikgemaakt van Bearer verificatie om alle beschikbare clusters in de opgegeven werkruimte weer te geven.

  • Vervang <oauth-access-token> dit door het OAuth-toegangstoken op account- of werkruimteniveau.
  • Vervang bijvoorbeeld door <databricks-instance> de naam van het Azure Databricks-werkruimte-exemplaaradb-1234567890123456.7.azuredatabricks.net.
export OAUTH_TOKEN=<oauth-access-token>

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