Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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 jogkivonatcsere lépésre van szükség, amely Azure Databricks nem hajtja végre a kiszolgálóoldali műveleteket. Ha Azure Entra ID jogkivonatokat szeretne használni a hitelesítéshez, 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-envAzure Databricks javasolja a OAuth felhasználó–gép (U2M) hitelesítés használatát.
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: Hogyan engedélyezzük a szolgáltatásnév hozzáférését az Azure Databricks szolgáltatáshoz 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()
Azure Databricks jegyzetfüzetből
Ha egy alkalmazás API-t egy Azure Databricks-jegyzetfüzetből szeretne meghívni, a jegyzetfüzet belső jogkivonatát egy célközönség-hatókörű OAuth-jogkivonatra kell cserélnie, majd ezzel a jogkivonattal kell lekérdeznie az alkalmazást.
Kérje le az alkalmazás OAuth-ügyfélazonosítóját. Az azonosító lekérése a Azure Databricks SDK használatával:
from databricks.sdk import WorkspaceClient w = WorkspaceClient() app_client_id = w.apps.get("<app-name>").oauth2_app_client_idJegyzetfüzet tokenjét cserélje le egy célközönség hatókörű hozzáférési jogkivonatra:
import requests url = "https://<workspace-url>/oidc/v1/token" notebook_token = ( dbutils.notebook.entry_point.getDbutils() .notebook().getContext().apiToken().get() ) data = { "grant_type": "urn:ietf:params:oauth:grant-type:token-exchange", "subject_token": notebook_token, "subject_token_type": "urn:databricks:params:oauth:token-type:personal-access-token", "requested_token_type": "urn:ietf:params:oauth:token-type:access_token", "scope": "all-apis", "audience": app_client_id, } response = requests.post(url=url, data=data) audience_token = response.json()["access_token"]Az alkalmazás meghívásához használja a
audience_tokenHordozó tokent. Példák: Kérések küldése az alkalmazásnak.
Megjegyzés:
A kicserélt jogkivonat hatóköre az adott alkalmazásra vonatkozik, így nem hívhat meg más Azure Databricks API-kat. A scope paraméternek a jogkivonat cserekérelmében meg kell egyeznie az alkalmazáshoz a felhasználói engedélyezésben konfigurált hatókörökkel, vagy tartalmaznia kell azokat.
OAuth-hatókörök megadása a felhasználói engedélyezéshez
Ha az alkalmazás felhasználói engedélyezést használ, a hozzáférési jogkivonatnak olyan hatóköröket kell tartalmaznia, amelyek az alkalmazáshoz konfigurált hatókörök szuperhalmazai. Ha a jogkivonat nem rendelkezik a szükséges hatókörökkel, a kérelmek 401 vagy 403 hibával meghiúsulhatnak.
A Databricks CLI használatával létrehozott jogkivonat alapértelmezés szerint tartalmazza a all-apis hatókört, amely megfelel bármely alkalmazás felhasználói jogosultságainak.
databricks auth token --profile my-env
Ahelyett all-apis, hogy konkrét hatóköröket szeretne lekérni, manuálisan kérheti le a hozzáférési jogkivonatot explicit hatókörökkel egy egyéni OAuth-folyamat használatával. A következő kérés például explicit módon kér hozzáférési jogkivonatot a sql, filesés 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+files+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 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 token hatóköreinek a felhasználói engedélyezés során az alkalmazáshoz konfigurált hatókörök szuperhalmazának kell lenniük.
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