Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Meghívhat egy Databricks-alkalmazást, amely egy HTTP API-t (például FastAPI- vagy Gradio-alkalmazást) tesz elérhetővé OAuth 2.0 Bearer token-hitelesítéssel. Ez a módszer a helyi fejlesztési környezetből, külső alkalmazásokból és más Azure Databricks-alkalmazásokból működik.
Megjegyzés:
Ez a módszer csak olyan alkalmazásokra vonatkozik, amelyek API-kat vagy végpontokat tesznek elérhetővé (amelyekhez útvonalakat használva /api/ lehet hozzáférni). Az olyan alkalmazások esetében, amelyek csak felhasználói felületet vagy háttérfeldolgozást biztosítanak, jogkivonat-hitelesítéssel nem lehet csatlakozni.
Requirements
A Databricks-alkalmazáshoz jogkivonat-hitelesítéssel való csatlakozáshoz meg kell felelnie az alábbi követelményeknek:
- Az alkalmazásnak legalább egy, útvonalakon
/api/elérhető API-végpontot kell elérhetővé tennie. - Rendelkeznie kell az alkalmazásban
CAN USEengedéllyel. Lásd: Databricks-alkalmazások engedélyeinek konfigurálása. - A támogatott hitelesítési módszerek egyikével létre kell hoznia egy Azure Databricks hozzáférési jogkivonatot.
Hitelesítési módszerek
Megjegyzés:
A Databricks-alkalmazásokat nem hívhatja meg közvetlenül azure Entra ID-jogkivonat használatával. A jogkivonat-összevonáshoz ügyféloldali jogkivonat-cserelépés szükséges, amelyet az Azure Databricks nem hajt végre kiszolgálóoldalon. Az Azure Entra ID-jogkivonatok hitelesítéshez való használatához először OAuth-jogkivonatokra kell cserélnie őket. Lásd Hitelesítés identitásszolgáltató tokennel.
Válassza ki a kapcsolati forgatókönyvnek megfelelő hitelesítési módszert:
Helyi fejlesztés
A helyi fejlesztési környezetből való csatlakozáshoz használd a Databricks CLI-t vagy az SDK-kat a felhasználói hitelesítő adataiddal.
Jelentkezzen be a parancssori felülettel:
databricks auth login --host https://<workspace-url> --profile my-envAz Azure Databricks az OAuth felhasználó–gép (U2M) hitelesítés használatát javasolja.
Hozzáférési jogkivonat létrehozása:
parancssori felület
databricks auth token --profile my-envPython
from databricks.sdk.core import Config config = Config(profile="my-env") token = config.oauth_token().access_token
Külső alkalmazások
A külső alkalmazásokból való programozott hozzáféréshez használjon egyszerű szolgáltatáshitelesítést gépről gépre (M2M) hitelesítő adatokkal. Lásd: Az Azure Databrickshez való hozzáférés engedélyezése a szolgáltatásnévi objektum számára az OAuth használatával.
Hozzon létre egy szolgáltatási azonosítót, és szerezze be az ügyfél-azonosítót és a kliens titkot. Lásd Szolgáltatásfelelősök.
Hozzáférési jogkivonat létrehozása a Databricks SDK használatával:
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()
Más Databricks-alkalmazásokból
Amikor egy Databricks-alkalmazásból csatlakozik egy másikhoz, az alkalmazás automatikusan kezeli a hitelesítést a hozzárendelt szolgáltatásnév használatával.
from databricks.sdk import WorkspaceClient
import requests
# No explicit credentials needed, uses app's service principal
wc = WorkspaceClient()
headers = wc.config.authenticate()
OAuth-hatókörök megadása a felhasználói engedélyezéshez
Ha a Databricks parancssori felületét vagy SDK-jait egységes hitelesítéssel használja, az előző szakaszban látható módon az eszközök automatikusan kérik az alapszintű all-apis hatókört. Ha azonban az alkalmazás felhasználói hitelesítést használ, manuálisan kell kérnie egy hozzáférési jogkivonatot további hatókörökkel egy egyéni OAuth-folyamat használatával.
Győződjön meg arról, hogy a hozzáférési jogkivonat tartalmazza a Felhasználó szerkesztése>engedélyben konfigurált hatóköröket. Ha a jogkivonat nem rendelkezik a szükséges hatókörökkel, a kérelmek 401 vagy 403 hibával meghiúsulhatnak.
A következő kérés például explicit módon kér hozzáférési jogkivonatot a sql, file.filesés dashboards.genie hatókörökkel:
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"
A teljes útmutatásért lásd: OAuth U2M-hozzáférési jogkivonatok manuális létrehozása.
Kérések küldése az alkalmazásnak
Amikor meghívja az alkalmazás API-végpontjait, vegye fel a Bearer tokent az Authorization fejlécbe, és cserélje le <your-endpoint> az alkalmazás tényleges API-elérési útjára:
CURL
curl "https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>" \
-H "Authorization: Bearer <YOUR_TOKEN>"
Python kérésekkel
import requests
response = requests.get(
"https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>",
headers={"Authorization": f"Bearer {token}"}
)
Python az SDK-val
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
)
Biztonsági szempontok
Amikor helyi környezetéből csatlakozik az alkalmazásokhoz, kövesse az alábbi ajánlott biztonsági eljárásokat:
- Soha ne kódoljon hozzáférési jogkivonatokat a forráskódban. Használjon környezeti változókat vagy biztonságos hitelesítőadat-tárolókat.
- A jogkivonatok rendszeres frissítése a biztonsági kockázatok minimalizálása érdekében, ha azok sérülnek.
- Kerülje a hozzáférési jogkivonatok vagy bizalmas adatok naplózását az alkalmazásnaplókban.
Hibaelhárítás
Ha problémákba ütközik, amikor helyi gépről csatlakozik az alkalmazáshoz, próbálkozzon ezekkel a megoldásokkal.
Hitelesítési hibák (401 hiba)
Ellenőrizze a következőket:
- Az ön tokenje érvényes (futtatás
databricks auth token --profile my-env) - A profil a
databricks auth loginmegfelelően van konfigurálva. - A token nem járt le
- A token tartalmazza a szükséges OAuth-hatóköröket. A CLI és SDK eszközök csak olyan alapvető hatóköröket biztosítanak, mint például
all-apis, amelyek lehet, hogy nem elégségesek a felhasználói engedélyezéshez.
Engedély megtagadva (403 hiba)
Ellenőrizze a következőket:
- Rendelkezik
CAN USEengedéllyel az alkalmazáshoz - A token tartalmazza a szükséges OAuth-hatóköröket. A nem megfelelő jogosultsági szintek 403 hibát okozhatnak még érvényes engedélyekkel is.
Az alkalmazás nem található (404 hiba)
Ellenőrizze a következőket:
- Az azonosító és a munkaterület URL-címe helyes
- Az alkalmazás üzembe helyezése és futtatása
- A végpont elérési útja létezik az alkalmazásban
Hálózati kapcsolati problémák
Ellenőrizze a következőket:
- A hálózat engedélyezi a kimenő HTTPS-kapcsolatokat
- A
*.databricksapps.comtartomány elérhető a hálózatról
Emellett ellenőrizze, hogy a szervezet konfigurációt igénylő proxyt használ-e.
További erőforrások
További információt a következő források tartalmaznak:
- Cookbook: Csatlakozás helyi gépről
- Cookbook: Csatlakozás külső alkalmazásokból
- Cookbook: Csatlakozás más alkalmazásokból
- Databricks-alkalmazások engedélyeinek konfigurálása
- A Databricks Apps-munkaterület és a fejlesztési környezet beállítása
- Hitelesítés a Databricks parancssori felületéhez
- Databricks egységes hitelesítési rendszere