Sdílet prostřednictvím


Ověřování uživatele OAuth na počítač (U2M)

Ověřování uživatele OAuth na počítač (U2M) používá k ověření cílového uživatelského účtu Azure Databricks přihlášení člověka v reálném čase a vyjádření souhlasu. Jakmile se uživatel úspěšně přihlásí a souhlasí s požadavkem na ověření OAuth, udělí se zúčastněnému nástroji nebo sadě SDK token k provedení ověřování na základě tokenu od daného okamžiku za uživatele. Token OAuth má životnost jedné hodiny, po které nástroj nebo sada SDK provede automatický pokus o získání nového tokenu, který je platný i po dobu jedné hodiny.

Pokud chcete nakonfigurovat ověřování OAuth U2M pomocí Azure Databricks, musíte nastavit následující přidružené proměnné prostředí, .databrickscfg pole, pole Terraformu nebo Config pole:

  • Hostitel Azure Databricks určený pro https://accounts.azuredatabricks.net operace účtu nebo cílovou adresu URL pracovního prostoru, například https://adb-1234567890123456.7.azuredatabricks.net pro operace pracovního prostoru.
  • ID účtu Azure Databricks pro operace účtu Azure Databricks

Pokud chcete provést ověřování OAuth U2M pomocí Azure Databricks, integrujte do kódu následující kód na základě zúčastněného nástroje nebo sady SDK. Všimněte si, že v závislosti na operacích Azure Databricks, které váš kód volá, nemusíte být nutně správcem účtu Azure Databricks:

Prostředí

Informace o použití proměnných prostředí pro konkrétní typ ověřování Azure Databricks pomocí nástroje nebo sady SDK najdete v tématu Podporované typy ověřování nástrojem Azure Databricks nebo sadou SDK nebo dokumentací k nástroji nebo sadě SDK. Viz také proměnné prostředí a pole pro jednotné ověřování klienta a výchozí pořadí vyhodnocení pro metody a přihlašovací údaje sjednoceného klienta.

Pro operace na úrovni účtu nastavte následující proměnné prostředí:

  • DATABRICKS_HOST, nastavte hodnotu adresy URL konzoly účtu Azure Databricks. https://accounts.azuredatabricks.net
  • DATABRICKS_ACCOUNT_ID

Pro operace na úrovni pracovního prostoru nastavte následující proměnné prostředí:

  • DATABRICKS_HOST, nastavte hodnotu adresy URL služby Azure Databricks pro jednotlivé pracovní prostory, například https://adb-1234567890123456.7.azuredatabricks.net.

Profil

Vytvořte nebo identifikujte konfigurační profil Azure Databricks s následujícími poli v .databrickscfg souboru. Pokud vytvoříte profil, nahraďte zástupné symboly příslušnými hodnotami. Pokud chcete profil použít s nástrojem nebo sadou SDK, přečtěte si téma Podporované typy ověřování pomocí nástroje Azure Databricks nebo sady SDK nebo dokumentace k sadě SDK . Viz také proměnné prostředí a pole pro jednotné ověřování klienta a výchozí pořadí vyhodnocení pro metody a přihlašovací údaje sjednoceného klienta.

V případě operací na úrovni účtu nastavte v .databrickscfg souboru následující hodnoty. V tomto případě adresa URL konzoly účtu Azure Databricks je https://accounts.azuredatabricks.net:

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

U operací na úrovni pracovního prostoru nastavte v .databrickscfg souboru následující hodnoty. V tomto případě je hostitelem adresa URL azure Databricks pro jednotlivé pracovní prostory, napříkladhttps://adb-1234567890123456.7.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host = <workspace-url>

Rozhraní příkazového řádku

Pro Rozhraní příkazového řádku Databricks spusťte databricks auth login příkaz s následujícími možnostmi:

Po spuštění tohoto příkazu se přihlaste k účtu nebo pracovnímu prostoru Azure Databricks podle pokynů ve webovém prohlížeči.

Další podrobnosti najdete v tématu Ověřování U2M (user-to-machine) OAuth.

Propojit

Poznámka:

Ověřování OAuth U2M se podporuje v následujících verzích Databricks Connect:

  • Pro Python databricks Connect pro Databricks Runtime 13.1 a novější.
  • Pro Scala, Databricks Connect pro Databricks Runtime 13.3 LTS a vyšší.

Pro Databricks Connect můžete udělat jednu z těchto věcí:

  • Nastavte hodnoty v .databrickscfg souboru pro operace na úrovni pracovního prostoru Azure Databricks, jak je uvedeno v části Profil tohoto článku. Nastavte také proměnnou cluster_id prostředí ve vašem profilu na adresu URL pro jednotlivé pracovní prostory, například https://adb-1234567890123456.7.azuredatabricks.net.
  • Nastavte proměnné prostředí pro operace na úrovni pracovního prostoru Azure Databricks, jak je uvedeno v části Prostředí tohoto článku. Nastavte také proměnnou DATABRICKS_CLUSTER_ID prostředí na adresu URL pro jednotlivé pracovní prostory, například https://adb-1234567890123456.7.azuredatabricks.net.

Hodnoty v .databrickscfg souboru mají vždy přednost před proměnnými prostředí.

Pokud chcete inicializovat klienta Databricks Connect pomocí těchto proměnných prostředí nebo hodnot v souboru, podívejte .databrickscfg se na jednu z těchto věcí:

VS Code

Pro rozšíření Databricks pro Visual Studio Code postupujte takto:

  1. V podokně Konfigurace klikněte na Konfigurovat Databricks.
  2. V paletě příkazů zadejte pro hostitele Databricks adresu URL pro jednotlivé pracovní prostory, například https://adb-1234567890123456.7.azuredatabricks.neta stiskněte Enter.
  3. Vyberte OAuth (uživatel do počítače).
  4. Dokončete pokyny na obrazovce ve webovém prohlížeči a dokončete ověřování pomocí účtu Azure Databricks a povolte přístup all-apis .

Další podrobnosti najdete v tématu Nastavení ověřování OAuth U2M.

Terraform

Poznámka:

Ověřování OAuth U2M se zatím nepodporuje.

Python

V případě operací na úrovni účtu byste před spuštěním kódu Pythonu měli nejprve spustit následující příkaz pomocí rozhraní příkazového řádku Databricks. Tento příkaz dává rozhraní příkazového řádku Databricks pokyn, aby vygeneroval a uložil do mezipaměti potřebný token OAuth v cestě .databricks/token-cache.json v domovské složce uživatele na vašem počítači:

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

Nahraďte následující zástupné symboly:

  • Nahraďte <account-console-url> hodnotou https://accounts.azuredatabricks.net. (Nenastavujte tuto hodnotu na hodnotu adresy URL pracovního prostoru Azure Databricks.)
  • Nahraďte <account-id> hodnotou účtu Azure Databricks. Viz Vyhledání ID účtu.

Poznámka:

Pokud máte existující konfigurační profil Azure Databricks s již nastavenými host poli a account_id poli, můžete ho --profile <profile-name>nahradit --host <account-console-url> --account-id <account-id> .

Po spuštění auth login příkazu se zobrazí výzva k uložení přihlašovací adresy URL účtu a ID účtu jako konfiguračního profilu Azure Databricks. Po zobrazení výzvy zadejte do souboru název nového nebo existujícího profilu .databrickscfg . Všechny existující profily se stejným názvem v .databrickscfg souboru se přepíšou.

Po zobrazení výzvy dokončete přihlášení dokončením pokynů webového prohlížeče na obrazovce. Pak použijte kód Pythonu podobný jednomu z následujících fragmentů kódu:

Pro výchozí ověřování:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

Pro přímou retrieve konfiguraci (nahraďte zástupné symboly vlastní implementací pro načtení hodnot z konzoly nebo jiného úložiště konfigurace, například Azure KeyVault). V tomto případě adresa URL konzoly účtu Azure Databricks je https://accounts.azuredatabricks.net:

from databricks.sdk import AccountClient

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

V případě operací na úrovni pracovního prostoru byste před spuštěním kódu Pythonu nejprve měli použít rozhraní příkazového řádku Databricks k spuštění následujícího příkazu. Tento příkaz dává rozhraní příkazového řádku Databricks pokyn, aby vygeneroval a uložil do mezipaměti potřebný token OAuth v cestě .databricks/token-cache.json v domovské složce uživatele na vašem počítači:

databricks auth login --host <worskpace-url>

Zástupný symbol <workspace-url> nahraďte cílovou adresou URL azure Databricks pro jednotlivé pracovní prostory, například https://adb-1234567890123456.7.azuredatabricks.net.

Poznámka:

Pokud máte existující konfigurační profil Azure Databricks s již nastaveným host polem, můžete ho --profile <profile-name>nahradit --host <workspace-url> .

Po spuštění auth login příkazu se zobrazí výzva k uložení adresy URL pracovního prostoru jako konfiguračního profilu Azure Databricks. Po zobrazení výzvy zadejte do souboru název nového nebo existujícího profilu .databrickscfg . Všechny existující profily se stejným názvem v .databrickscfg souboru se přepíšou.

Po zobrazení výzvy dokončete přihlášení dokončením pokynů webového prohlížeče na obrazovce. Pak použijte kód Pythonu podobný jednomu z následujících fragmentů kódu:

Pro výchozí ověřování:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

Pro přímou retrieve konfiguraci (nahraďte zástupné symboly vlastní implementací pro načtení hodnot z konzoly nebo jiného úložiště konfigurace, například Azure KeyVault). V tomto případě je hostitelem adresa URL azure Databricks pro jednotlivé pracovní prostory, napříkladhttps://adb-1234567890123456.7.azuredatabricks.net:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(host = retrieveWorkspaceUrl())
# ...

Další informace o ověřování pomocí nástrojů Databricks a sad SDK, které používají Python a které implementují jednotné ověřování klienta Databricks, najdete v tématu:

Java

V případě operací na úrovni účtu byste před spuštěním kódu v Javě měli nejprve spustit následující příkaz pomocí rozhraní příkazového řádku Databricks. Tento příkaz dává rozhraní příkazového řádku Databricks pokyn, aby vygeneroval a uložil do mezipaměti potřebný token OAuth v cestě .databricks/token-cache.json v domovské složce uživatele na vašem počítači:

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

Nahraďte následující zástupné symboly:

  • Nahraďte <account-console-url> hodnotou https://accounts.azuredatabricks.net. (Nenastavujte tuto hodnotu na hodnotu adresy URL pracovního prostoru Azure Databricks.)
  • Nahraďte <account-id> hodnotou účtu Azure Databricks. Viz Vyhledání ID účtu.

Poznámka:

Pokud máte existující konfigurační profil Azure Databricks s již nastavenými host poli a account_id poli, můžete ho --profile <profile-name>nahradit --host <account-console-url> --account-id <account-id> .

Po spuštění auth login příkazu se zobrazí výzva k uložení přihlašovací adresy URL účtu a ID účtu jako konfiguračního profilu Azure Databricks. Po zobrazení výzvy zadejte do souboru název nového nebo existujícího profilu .databrickscfg . Všechny existující profily se stejným názvem v .databrickscfg souboru se přepíšou.

Po zobrazení výzvy dokončete přihlášení dokončením pokynů webového prohlížeče na obrazovce. Pak použijte kód Java podobný jednomu z následujících fragmentů kódu:

Pro výchozí ověřování:

import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...

Pro přímou retrieve konfiguraci (nahraďte zástupné symboly vlastní implementací pro načtení hodnot z konzoly nebo jiného úložiště konfigurace, například Azure KeyVault). V tomto případě adresa URL konzoly účtu Azure Databricks je https://accounts.azuredatabricks.net:

import com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveAccountConsoleUrl())
  .setAccountId(retrieveAccountId());
AccountClient a = new AccountClient(cfg);
// ...

V případě operací na úrovni pracovního prostoru byste před spuštěním kódu v Javě nejprve měli použít rozhraní příkazového řádku Databricks. Tento příkaz dává rozhraní příkazového řádku Databricks pokyn, aby vygeneroval a uložil do mezipaměti potřebný token OAuth v cestě .databricks/token-cache.json v domovské složce uživatele na vašem počítači:

databricks auth login --host <worskpace-url>

Zástupný symbol <workspace-url> nahraďte cílovou adresou URL azure Databricks pro jednotlivé pracovní prostory, například https://adb-1234567890123456.7.azuredatabricks.net.

Poznámka:

Pokud máte existující konfigurační profil Azure Databricks s již nastaveným host polem, můžete ho --profile <profile-name>nahradit --host <workspace-url> .

Po spuštění auth login příkazu se zobrazí výzva k uložení adresy URL pracovního prostoru jako konfiguračního profilu Azure Databricks. Po zobrazení výzvy zadejte do souboru název nového nebo existujícího profilu .databrickscfg . Všechny existující profily se stejným názvem v .databrickscfg souboru se přepíšou.

Po zobrazení výzvy dokončete přihlášení dokončením pokynů webového prohlížeče na obrazovce. Pak použijte kód Java podobný jednomu z následujících fragmentů kódu:

Pro výchozí ověřování:

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

Pro přímou retrieve konfiguraci (nahraďte zástupné symboly vlastní implementací pro načtení hodnot z konzoly nebo jiného úložiště konfigurace, například Azure KeyVault). V tomto případě je hostitelem adresa URL azure Databricks pro jednotlivé pracovní prostory, napříkladhttps://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);
// ...

Další informace o ověřování pomocí nástrojů Databricks a sad SDK, které používají Javu a které implementují jednotné ověřování klienta Databricks, najdete v tématu:

Go

V případě operací na úrovni účtu byste před spuštěním kódu Go měli nejprve spustit následující příkaz pomocí rozhraní příkazového řádku Databricks. Tento příkaz dává rozhraní příkazového řádku Databricks pokyn, aby vygeneroval a uložil do mezipaměti potřebný token OAuth v cestě .databricks/token-cache.json v domovské složce uživatele na vašem počítači:

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

Nahraďte následující zástupné symboly:

  • Nahraďte <account-console-url> hodnotou https://accounts.azuredatabricks.net. (Nenastavujte tuto hodnotu na hodnotu adresy URL pracovního prostoru Azure Databricks.)
  • Nahraďte <account-id> hodnotou účtu Azure Databricks. Viz Vyhledání ID účtu.

Poznámka:

Pokud máte existující konfigurační profil Azure Databricks s již nastavenými host poli a account_id poli, můžete ho --profile <profile-name>nahradit --host <account-console-url> --account-id <account-id> .

Po spuštění auth login příkazu se zobrazí výzva k uložení přihlašovací adresy URL účtu a ID účtu jako konfiguračního profilu Azure Databricks. Po zobrazení výzvy zadejte do souboru název nového nebo existujícího profilu .databrickscfg . Všechny existující profily se stejným názvem v .databrickscfg souboru se přepíšou.

Po zobrazení výzvy dokončete přihlášení dokončením pokynů webového prohlížeče na obrazovce. Pak použijte kód Go podobný jednomu z následujících fragmentů kódu:

Pro výchozí ověřování:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

Pro přímou retrieve konfiguraci (nahraďte zástupné symboly vlastní implementací pro načtení hodnot z konzoly nebo jiného úložiště konfigurace, například Azure KeyVault). V tomto případě adresa URL konzoly účtu Azure Databricks je https://accounts.azuredatabricks.net:

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

V případě operací na úrovni pracovního prostoru byste před spuštěním kódu Go měli nejprve pomocí rozhraní příkazového řádku Databricks spustit následující příkaz. Tento příkaz dává rozhraní příkazového řádku Databricks pokyn, aby vygeneroval a uložil do mezipaměti potřebný token OAuth v cestě .databricks/token-cache.json v domovské složce uživatele na vašem počítači:

databricks auth login --host <worskpace-url>

Zástupný symbol <workspace-url> nahraďte cílovou adresou URL azure Databricks pro jednotlivé pracovní prostory, například https://adb-1234567890123456.7.azuredatabricks.net.

Poznámka:

Pokud máte existující konfigurační profil Azure Databricks s již nastaveným host polem, můžete ho --profile <profile-name>nahradit --host <workspace-url> .

Po spuštění auth login příkazu se zobrazí výzva k uložení adresy URL pracovního prostoru jako konfiguračního profilu Azure Databricks. Po zobrazení výzvy zadejte do souboru název nového nebo existujícího profilu .databrickscfg . Všechny existující profily se stejným názvem v .databrickscfg souboru se přepíšou.

Po zobrazení výzvy dokončete přihlášení dokončením pokynů webového prohlížeče na obrazovce. Pak použijte kód Go podobný jednomu z následujících fragmentů kódu:

Pro výchozí ověřování:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

Pro přímou retrieve konfiguraci (nahraďte zástupné symboly vlastní implementací pro načtení hodnot z konzoly nebo jiného úložiště konfigurace, například Azure KeyVault). V tomto případě je hostitelem adresa URL azure Databricks pro jednotlivé pracovní prostory, napříkladhttps://adb-1234567890123456.7.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host: retrieveWorkspaceUrl(),
}))
// ...

Další informace o ověřování pomocí nástrojů Databricks a sad SDK, které používají Go a které implementují jednotné ověřování klienta Databricks, najdete v tématu Ověření sady Databricks SDK for Go pomocí účtu nebo pracovního prostoru Azure Databricks.

Ruční generování a používání přístupových tokenů pro ověřování uživatele AAuth (U2M)

Nástroje a sady SDK Azure Databricks, které implementují standard sjednoceného ověřování klienta Databricks, automaticky vygenerují, aktualizují a použijí přístupové tokeny Azure Databricks OAuth vaším jménem podle potřeby pro ověřování OAuth U2M.

Pokud z nějakého důvodu musíte ručně generovat, aktualizovat nebo používat přístupové tokeny Azure Databricks OAuth pro ověřování OAuth U2M, postupujte podle pokynů v této části.

Krok 1: Vygenerování ověřovacího kódu OAuth a páru výzvy kódu

Pokud chcete ručně generovat a používat přístupové tokeny pro ověřování OAuth U2M, musíte mít nejprve ověřovatel kódu OAuth a výzvu kódu OAuth odvozenou od ověřovatele kódu. Výzvu kódu použijete později v kroku 2 k vygenerování autorizačního kódu OAuth. Ověřovací kód a autorizační kód použijete později v kroku 3 k vygenerování přístupového tokenu OAuth.

Poznámka:

I když je technicky možné použít nekódované řetězce prostého textu pro ověřovatel kódu a výzvu kódu, Databricks důrazně podporuje dodržování standardu OAuth pro generování ověřovatele kódu a výzvy kódu.

Konkrétně by měl být ověřovatel kódu kryptograficky náhodný řetězec používající znaky ze sad A-Z, a-z, 0-9a interpunkční znaky -._~ (spojovník, tečka, podtržítka a tilda) mezi 43 a 128 znaky dlouhé. Výzvou kódu by měl být řetězec zakódovaný pomocí adresy URL base64 s hodnotou hash SHA256 ověřovatele kódu. Další informace najdete v tématu Žádost o autorizaci.

Spuštěním následujícího skriptu Pythonu můžete rychle vygenerovat jedinečný kód a dvojici výzvy kódu. I když můžete tento vygenerovaný ověřovatel kódu a dvojici výzvy kódu opakovaně použít, databricks doporučuje vygenerovat nový ověřovatel kódu a dvojici výzvy kódu pokaždé, když ručně vygenerujete přístupové tokeny pro ověřování U2M OAuth.

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}")

Krok 2: Vygenerování autorizačního kódu

K vygenerování přístupového tokenu Azure Databricks OAuth použijete autorizační kód OAuth. Autorizační kód vyprší okamžitě po jeho použití k vygenerování přístupového tokenu Azure Databricks OAuth. Rozsah autorizačního kódu závisí na úrovni, ze které ho vygenerujete. Autorizační kód můžete vygenerovat buď na úrovni účtu Azure Databricks, nebo na úrovni pracovního prostoru:

Generování autorizačního kódu na úrovni účtu

  1. Jako správce účtu se přihlaste ke konzole účtu.

  2. Klikněte na šipku dolů vedle svého uživatelského jména v pravém horním rohu.

  3. Zkopírujte ID účtu.

  4. Na adresní řádku webového prohlížeče přejděte na následující adresu URL. Konce řádků byly přidány pro čitelnost. Adresa URL nesmí obsahovat tyto konce řádků.

    V následující adrese URL nahraďte následující:

    • Nahraďte <account-id> ID účtu, které jste zkopírovali.
    • Nahraďte <redirect-url> adresou URL pro přesměrování na místní počítač, například http://localhost:8020.
    • Nahraďte <state> nějakým textovým řetězcem ve formátu prostého textu, který můžete použít k ověření integrity autorizačního kódu.
    • Nahraďte <code-challenge> výzvou kódu, kterou jste vygenerovali v kroku 1.
    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. Po zobrazení výzvy se přihlaste ke svému účtu Azure Databricks podle pokynů na obrazovce.

  6. Na adresní řádku webového prohlížeče zkopírujte autorizační kód. Autorizační kód je úplný řetězec znaků mezi code= a znakem & v adrese URL. Například autorizační kód v následující adrese URL je dcod...7fe6:

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

    Integritu tohoto autorizačního kódu byste měli ověřit vizuálním potvrzením, že <state> hodnota v této adrese URL odpovědi odpovídá state hodnotě, kterou jste zadali v adrese URL požadavku. Pokud se hodnoty liší, neměli byste tento autorizační kód používat, protože by mohlo dojít k ohrožení zabezpečení.

  7. Přeskočte k vygenerování přístupového tokenu na úrovni účtu.

Generování autorizačního kódu na úrovni pracovního prostoru

  1. Na adresní řádku webového prohlížeče přejděte na následující adresu URL. Konce řádků byly přidány pro čitelnost. Adresa URL nesmí obsahovat tyto konce řádků.

    V následující adrese URL nahraďte následující:

    • Nahraďte <databricks-instance> například názvemadb-1234567890123456.7.azuredatabricks.net instance pracovního prostoru Azure Databricks.
    • Nahraďte <redirect-url> adresou URL pro přesměrování na místní počítač, například http://localhost:8020.
    • Nahraďte <state> nějakým textovým řetězcem ve formátu prostého textu, který můžete použít k ověření integrity autorizačního kódu.
    • Nahraďte <code-challenge> výzvou kódu, kterou jste vygenerovali v kroku 1.
    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. Po zobrazení výzvy se přihlaste k pracovnímu prostoru Azure Databricks podle pokynů na obrazovce.

  3. Na adresní řádku webového prohlížeče zkopírujte autorizační kód. Autorizační kód je úplný řetězec znaků mezi code= a znakem & v adrese URL. Například autorizační kód v následující adrese URL je dcod...7fe6:

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

    Integritu tohoto autorizačního kódu byste měli ověřit vizuálním potvrzením, že <state> hodnota v této adrese URL odpovědi odpovídá state hodnotě, kterou jste zadali v adrese URL požadavku. Pokud se hodnoty liší, neměli byste tento autorizační kód používat, protože by mohlo dojít k ohrožení zabezpečení.

Krok 3: Použití autorizačního kódu k vygenerování přístupového tokenu OAuth

Autorizační kód OAuth z předchozího kroku použijete k vygenerování přístupového tokenu Azure Databricks OAuth následujícím způsobem:

Vygenerování přístupového tokenu na úrovni účtu

  1. K vygenerování přístupového tokenu OAuth na úrovni účtu použijte klienta, například curl autorizační kód na úrovni účtu. V následujícím curl volání nahraďte následující zástupné symboly:

    • Nahraďte <account-id> ID účtu z kroku 2.
    • Nahraďte <redirect-url> adresou URL pro přesměrování z kroku 2.
    • Nahraďte <code-verifier> kódem, který jste vygenerovali v kroku 1.
    • Nahraďte <authorization-code> autorizačním kódem na úrovni účtu, který jste vygenerovali v kroku 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. V odpovědi zkopírujte přístupový token OAuth na úrovni účtu. Přístupový token je úplný řetězec znaků v objektu access_token . Například přístupový token v následující odpovědi:eyJr...Dkag

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

    Platnost tohoto přístupového tokenu vyprší za jednu hodinu. Pokud chcete vygenerovat nový přístupový token, opakujte tento postup z kroku 1.

  3. Přeskočte k kroku 4: Volání rozhraní REST API Databricks.

Generování přístupového tokenu na úrovni pracovního prostoru

  1. K vygenerování přístupového tokenu OAuth na úrovni pracovního prostoru použijte klienta, například curl autorizační kód na úrovni pracovního prostoru. V následujícím curl volání nahraďte následující zástupné symboly:

    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. V odpovědi zkopírujte přístupový token OAuth na úrovni pracovního prostoru. Přístupový token je úplný řetězec znaků v objektu access_token . Například přístupový token v následující odpovědi:eyJr...Dkag

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

    Platnost tohoto přístupového tokenu vyprší za jednu hodinu. Pokud chcete vygenerovat nový přístupový token, opakujte tento postup z kroku 1.

Krok 4: Volání rozhraní REST API Databricks

Přístupový token OAuth na úrovni účtu nebo pracovního prostoru použijete k ověření v rozhraních REST API na úrovni účtu Azure Databricks a rozhraní REST API na úrovni pracovního prostoru v závislosti na rozsahu přístupového tokenu. Aby bylo možné volat rozhraní REST API na úrovni účtu, musí být váš uživatelský účet Azure Databricks správcem účtu.

Příklad požadavku rozhraní REST API na úrovni účtu

Tento příklad používá curl spolu s ověřováním Bearer seznam všech pracovních prostorů přidružených k účtu.

  • Nahraďte <oauth-access-token> přístupovým tokenem OAuth na úrovni účtu.
  • Nahraďte <account-id> ID účtu.
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"

Příklad požadavku rozhraní REST API na úrovni pracovního prostoru

Tento příklad používá curl spolu s ověřováním Bearer seznam všech dostupných clusterů v zadaném pracovním prostoru.

export OAUTH_TOKEN=<oauth-access-token>

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