Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Můžete volat aplikaci Databricks, která zveřejňuje rozhraní HTTP API (například aplikaci FastAPI nebo Gradio) pomocí ověřování nosným tokenem OAuth 2.0. Tato metoda funguje z místního vývojového prostředí, externích aplikací a dalších aplikací Azure Databricks.
Poznámka:
Tato metoda se vztahuje pouze na aplikace, které zpřístupňují rozhraní API nebo koncové body (přístupné pomocí /api/ tras). U aplikací, které poskytují pouze uživatelské rozhraní nebo zpracování na pozadí, se nemůžete připojit pomocí ověřování tokenu.
Požadavky
Pokud se chcete připojit k aplikaci Databricks pomocí ověřování tokenů, musíte splnit následující požadavky:
- Aplikace musí zpřístupnit alespoň jeden koncový bod rozhraní API přístupný pomocí
/api/tras. - Musíte mít
CAN USEoprávnění k aplikaci. Viz Konfigurace oprávnění pro aplikaci Databricks. - Musíte být schopni vygenerovat přístupový token Azure Databricks pomocí jedné z podporovaných metod ověřování.
Metody ověřování
Poznámka:
Aplikaci Databricks nemůžete volat přímo pomocí tokenu ID Azure Entra. Federace tokenů vyžaduje krok výměny tokenů na straně klienta, který Azure Databricks neprovádí na straně serveru. Pokud chcete pro ověřování použít tokeny ID Azure Entra, musíte je napřed vyměnit za tokeny OAuth. Viz Ověření pomocí tokenu zprostředkovatele identity.
Zvolte metodu ověřování, která odpovídá vašemu scénáři připojení:
Místní vývoj
Pokud se chcete připojit z místního vývojového prostředí, použijte azure Databricks CLI nebo sady SDK s přihlašovacími údaji uživatele.
Přihlaste se pomocí rozhraní příkazového řádku:
databricks auth login --host https://<workspace-url> --profile my-envAzure Databricks doporučuje používat ověřování OAuth uživatele vůči stroji (U2M).
Vygenerování přístupového tokenu:
CLI
databricks auth token --profile my-envPython
from databricks.sdk.core import Config config = Config(profile="my-env") token = config.oauth_token().access_token
Externí aplikace
Pro programový přístup z externích aplikací použijte ověřování služby principal s přihlašovacími údaji M2M (machine-to-machine). Viz Autorizace přístupu instančního objektu k Azure Databricks pomocí OAuth.
Vytvořte service principal a získejte ID klienta a tajemství. Viz principály služeb.
Vygenerujte přístupový token pomocí sady Azure Databricks SDK:
from databricks.sdk import WorkspaceClient import requests # Option 1: Explicit credentials wc = WorkspaceClient( host="https://<workspace-url>", client_id="<service-principal-client-id>", client_secret="<service-principal-client-secret>" ) # Option 2: Environment variables # Set DATABRICKS_HOST, DATABRICKS_CLIENT_ID, DATABRICKS_CLIENT_SECRET wc = WorkspaceClient() # Generate Bearer token headers = wc.config.authenticate()
Z jiných aplikací Databricks
Když se připojíte z jedné aplikace Databricks k jiné, aplikace provádí ověřování automaticky pomocí přiřazeného služebního principálu.
from databricks.sdk import WorkspaceClient
import requests
# No explicit credentials needed, uses app's service principal
wc = WorkspaceClient()
headers = wc.config.authenticate()
Zadání oborů OAuth pro autorizaci uživatelů
Když použijete Azure Databricks CLI nebo sady SDK s jednotným ověřováním, jak je znázorněno v předchozí části, nástroje automaticky požadují základní all-apis obor. Pokud ale vaše aplikace používá autorizaci uživatele, musíte ručně požádat o přístupový token s dalšími obory pomocí vlastního toku OAuth.
Ujistěte se, že přístupový token zahrnuje obory nakonfigurované vautorizaci> uživatele. Pokud token nemá požadované obory, požadavky můžou selhat s chybami 401 nebo 403.
Například následující požadavek explicitně požádá o přístupový token s obory sql, file.files a dashboards.genie.
curl --request POST \
https://<databricks-instance>/oidc/v1/token \
--data "client_id=databricks-cli" \
--data "grant_type=authorization_code" \
--data "redirect_uri=<redirect-url>" \
--data "code_verifier=<code-verifier>" \
--data "code=<authorization-code>" \
--data "scope=sql+file.files+dashboards.genie"
Úplné pokyny najdete v tématu Ruční generování přístupových tokenů OAuth U2M.
Odeslání požadavků do aplikace
Při volání koncových bodů rozhraní API vaší aplikace zahrňte do autorizační hlavičky nosný token a nahraďte <your-endpoint> skutečnou cestou rozhraní API vaší aplikace:
CURL
curl "https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>" \
-H "Authorization: Bearer <YOUR_TOKEN>"
Python s požadavky
import requests
response = requests.get(
"https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>",
headers={"Authorization": f"Bearer {token}"}
)
Python s využitím SDK
from databricks.sdk import WorkspaceClient
import requests
wc = WorkspaceClient()
headers = wc.config.authenticate()
response = requests.get(
"https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>",
headers=headers
)
Bezpečnostní aspekty
Při připojování k aplikacím z místního prostředí postupujte podle těchto osvědčených postupů zabezpečení:
- Nikdy ve zdrojovém kódu nezakódujte přístupové tokeny. Použijte proměnné prostředí nebo zabezpečené úložiště přihlašovacích údajů.
- Pravidelně obnovujte tokeny, aby byla minimalizována rizika zabezpečení v případě jejich kompromitace.
- Vyhněte se protokolování přístupových tokenů nebo citlivých dat v protokolech aplikace.
Řešení problémů
Pokud při připojování k aplikaci z místního počítače narazíte na problémy, vyzkoušejte tato řešení.
Selhání autentizace (chyby 401)
Zkontrolujte:
- Váš token je platný (spustit
databricks auth token --profile my-env) - Váš profil je správně nakonfigurovaný pomocí
databricks auth login - Platnost tokenu nevypršela.
- Váš token zahrnuje požadované obory OAuth. Nástroje CLI a SDK poskytují pouze základní rozsahy, jako je
all-apis, což nemusí stačit pro autorizaci uživatelů.
Přístup zamítnut (chyba 403)
Zkontrolujte:
- Máte
CAN USEoprávnění k aplikaci - Váš token zahrnuje požadované obory OAuth. Nedostatečné rozsahy oprávnění můžou způsobit chyby 403 i s platnými oprávněními.
Aplikace nebyla nalezena (chyby 404)
Zkontrolujte:
- ID a adresa URL pracovního prostoru jsou správné.
- Aplikace se nasadí a spustí.
- Cesta ke koncovému bodu existuje v aplikaci.
Problémy se síťovým připojením
Zkontrolujte:
- Vaše síť umožňuje odchozí připojení HTTPS.
- Doména
*.databricksapps.comje přístupná z vaší sítě.
Kromě toho zkontrolujte, jestli vaše organizace používá proxy server, který vyžaduje konfiguraci.
Dodatečné zdroje
Další informace najdete v následujících zdrojích informací: