Ověřování přístupu k Azure Databricks pomocí uživatelského účtu pomocí OAuth (OAuth U2M)
Azure Databricks používá ověřování U2M (user-to-machine) OAuth k povolení přístupu rozhraní příkazového řádku a rozhraní API k účtu Azure Databricks a prostředkům pracovního prostoru jménem uživatele. Jakmile se uživatel poprvé přihlásí a souhlasí s požadavkem na ověření OAuth, předá se zúčastněnému nástroji nebo sadě SDK, aby od té doby provedl ověřování na základě tokenu jménem 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.
Azure Databricks podporuje dva způsoby ověřování přístupu k uživatelskému účtu pomocí OAuth:
- Většinou se používá jednotná podpora ověřování klientů Databricks. Tento zjednodušený přístup použijte, pokud používáte konkrétní sady SDK Azure Databricks (jako je sada Databricks Terraform SDK) a nástroje. Podporované nástroje a sady SDK jsou uvedeny v jednotném ověřování klientů Databricks.
- Ručně vygenerováním páru ověření kódu OAuth nebo výzvy a autorizačního kódu a jejich použitím k vytvoření počátečního tokenu OAuth, který zadáte ve své konfiguraci. Tento přístup použijte, pokud nepoužíváte rozhraní API podporované jednotným ověřováním klientů Databricks. Další podrobnosti najdete v tématu: Ruční generování a používání přístupových tokenů pro ověřování uživatele a počítače OAuth (U2M).
Ověřování U2M s jednotným ověřováním klientů Databricks
Poznámka:
Než začnete s konfigurací ověřování, zkontrolujte oprávnění seznamu ACL pro konkrétní kategorii operací s objekty pracovního prostoru a určete, jestli má váš účet požadovanou úroveň přístupu. Další podrobnosti najdete v tématu Seznamy řízení přístupu.
Pokud chcete provést ověřování OAuth U2M pomocí sad SDK a nástrojů Azure Databricks, které podporují jednotné ověřování klientů, integrujte do kódu následující:
Prostředí
Pokud chcete použít proměnné prostředí pro konkrétní typ ověřování Azure Databricks pomocí nástroje nebo sady SDK, přečtěte si téma Ověřování přístupu k prostředkům Azure Databricks nebo dokumentaci k nástroji nebo sadě SDK. Viz také proměnné prostředí a pole pro jednotné ověřování klienta a výchozí metody pro jednotné ověřování 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říkladhttps://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 Ověřování přístupu k prostředkům Azure Databricks nebo dokumentaci k nástroji nebo sadě SDK. Viz také proměnné prostředí a pole pro jednotné ověřování klienta a výchozí metody pro jednotné ověřování 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:
- Pro operace na úrovni účtu Azure Databricks .
--host <account-console-url> --account-id <account-id>
- Pro operace na úrovni pracovního prostoru Azure Databricks .
--host <workspace-url>
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í OAuth U2M pomocí rozhraní příkazového řádku Databricks.
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ěnnoucluster_id
prostředí ve vašem profilu na adresu URL pro jednotlivé pracovní prostory, napříkladhttps://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říkladhttps://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í:
- Informace o Pythonu najdete v tématu Konfigurace vlastností připojení pro Python.
- Informace o jazyce Scala naleznete v tématu Konfigurace vlastností připojení pro Scala.
VS Code
Pro rozšíření Databricks pro Visual Studio Code postupujte takto:
- V podokně Konfigurace klikněte na Konfigurovat Databricks.
- V paletě příkazů zadejte pro hostitele Databricks adresu URL pro jednotlivé pracovní prostory, například
https://adb-1234567890123456.7.azuredatabricks.net
a stiskněteEnter
. - Vyberte OAuth (uživatel do počítače).
- 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 Ověřování OAuth U2M pomocí rozhraní příkazového řádku Databricks.
Terraform
Poznámka:
Ověřování OAuth U2M se zatím nepodporuje.
Python
Pro operace na úrovni účtu i na úrovni pracovního prostoru musíte před spuštěním kódu Pythonu 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:
Konfigurace operací na úrovni účtu Databricks
databricks auth login --host <account-console-url> --account-id <account-id>
Nahraďte následující zástupné symboly:
- Nahraďte
<account-console-url>
hodnotouhttps://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()
)
# ...
Konfigurace operací na úrovni pracovního prostoru Databricks
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:
- Nastavení klienta Databricks Connect pro Python
- Nastavení ověřování pro rozšíření Databricks pro Visual Studio Code
- Ověření sady Databricks SDK pro Python pomocí účtu nebo pracovního prostoru Azure Databricks
Java
Pro operace na úrovni účtu i na úrovni pracovního prostoru musíte před spuštěním kódu v Javě 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
do domovské složky uživatele na vašem počítači:
Konfigurace operací na úrovni účtu Databricks
databricks auth login --host <account-console-url> --account-id <account-id>
Nahraďte následující zástupné symboly:
- Nahraďte
<account-console-url>
hodnotouhttps://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);
// ...
Konfigurace operací na úrovni pracovního prostoru Databricks
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:
- Nastavení klienta Databricks Connect pro Scala (klient Databricks Connect pro Scala používá k ověřování zahrnutou sadu Databricks SDK pro Javu)
- Ověření sady Databricks SDK pro Javu pomocí účtu nebo pracovního prostoru Azure Databricks
Go
Pro operace na úrovni účtu i na úrovni pracovního prostoru musíte před spuštěním kódu Go 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:
Konfigurace operací na úrovni účtu Databricks
databricks auth login --host <account-login-url> --account-id <account-id>
Nahraďte následující zástupné symboly:
- Nahraďte
<account-console-url>
hodnotouhttps://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(),
}))
// ...
Konfigurace operací na úrovni pracovního prostoru Databricks
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. Pomocí výzvy kódu v kroku 2 vygenerujete autorizační kód OAuth. K vygenerování přístupového tokenu OAuth použijete ověřovatel kódu a autorizační kód v kroku 3.
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-9
a 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:
- Pokud chcete volat rozhraní REST API na úrovni účtu a pracovního prostoru v účtech a pracovních prostorech, ke kterým má váš uživatelský účet Azure Databricks přístup, vygenerujte autorizační kód na úrovni účtu.
- Pokud chcete volat rozhraní REST API pouze v jednom pracovním prostoru, ke kterému má váš uživatelský účet přístup, můžete vygenerovat autorizační kód na úrovni pracovního prostoru pouze pro tento pracovní prostor.
Generování autorizačního kódu na úrovni účtu
Jako správce účtu se přihlaste ke konzole účtu.
Klikněte na šipku dolů vedle svého uživatelského jména v pravém horním rohu.
Zkopírujte ID účtu.
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říkladhttp://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_uri=<redirect-url> &response_type=code &state=<state> &code_challenge=<code-challenge> &code_challenge_method=S256 &scope=all-apis+offline_access
- Nahraďte
Po zobrazení výzvy se přihlaste ke svému účtu Azure Databricks podle pokynů na obrazovce.
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 jedcod...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í.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
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říkladhttp://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
- Nahraďte
Po zobrazení výzvy se přihlaste k pracovnímu prostoru Azure Databricks podle pokynů na obrazovce.
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 jedcod...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:
- Pokud chcete volat rozhraní REST API na úrovni účtu a pracovního prostoru v rámci účtů a pracovních prostorů, ke kterým má váš uživatelský účet Azure Databricks přístup, použijte autorizační kód na úrovni účtu k vygenerování přístupového tokenu na úrovni účtu.
- Pokud chcete volat rozhraní REST API pouze v jednom pracovním prostoru, ke kterému má váš uživatelský účet přístup, můžete pomocí autorizačního kódu na úrovni pracovního prostoru vygenerovat přístupový token na úrovni pracovního prostoru pouze pro tento pracovní prostor.
Vygenerování přístupového tokenu na úrovni účtu
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ímcurl
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>"
- Nahraďte
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.
Přeskočte k kroku 4: Volání rozhraní REST API Databricks.
Generování přístupového tokenu na úrovni pracovního prostoru
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ímcurl
volání nahraďte následující zástupné symboly:- 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í 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 pracovního prostoru, který jste vygenerovali v kroku 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>"
- Nahraďte
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.
- Nahraďte
<oauth-access-token>
přístupovým tokenem OAuth na úrovni účtu nebo pracovního prostoru. - Nahraďte
<databricks-instance>
například názvemadb-1234567890123456.7.azuredatabricks.net
instance pracovního prostoru Azure Databricks.
export OAUTH_TOKEN=<oauth-access-token>
curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
"https://<databricks-instance>/api/2.0/clusters/list"