Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
U kunt een Databricks-app aanroepen die een HTTP-API beschikbaar maakt (bijvoorbeeld een FastAPI- of Gradio-app) met behulp van OAuth 2.0 Bearer-tokenverificatie. Deze methode werkt vanuit uw lokale ontwikkelomgeving, externe toepassingen en andere Azure Databricks-apps.
Opmerking
Deze methode is alleen van toepassing op apps die API's of eindpunten beschikbaar maken (toegankelijk via /api/ routes). Voor apps die alleen een gebruikersinterface of achtergrondverwerking bieden, kunt u geen verbinding maken met behulp van tokenverificatie.
Requirements
Als u verbinding wilt maken met een Databricks-app met behulp van tokenverificatie, moet u voldoen aan de volgende vereisten:
- De app moet ten minste één API-eindpunt beschikbaar maken dat toegankelijk is via
/api/routes. - U moet gemachtigd zijn
CAN USEvoor de app. Zie Machtigingen configureren voor een Databricks-app. - U moet een Azure Databricks-toegangstoken kunnen genereren met een van de ondersteunde verificatiemethoden.
Verificatiemethoden
Opmerking
U kunt een Databricks-app niet rechtstreeks aanroepen met behulp van een Azure Entra ID-token. Voor tokenfederatie is een tokenuitwisselingsstap aan de clientzijde vereist, die Azure Databricks niet aan de serverzijde uitvoert. Als u Azure Entra ID-tokens wilt gebruiken voor verificatie, moet u deze eerst uitwisselen voor OAuth-tokens. Zie Verifiëren met een id-providertoken.
Kies de verificatiemethode die overeenkomt met uw verbindingsscenario:
Lokale ontwikkeling
Als u verbinding wilt maken vanuit uw lokale ontwikkelomgeving, gebruikt u de Azure Databricks CLI of SDK's met uw gebruikersreferenties.
Meld u aan met de CLI:
databricks auth login --host https://<workspace-url> --profile my-envAzure Databricks raadt aan om OAuth-gebruikers-naar-machine-verificatie (U2M) te gebruiken.
Een toegangstoken genereren:
CLI (Command Line Interface)
databricks auth token --profile my-envPython
from databricks.sdk.core import Config config = Config(profile="my-env") token = config.oauth_token().access_token
Externe toepassingen
Gebruik voor programmatische toegang vanuit externe toepassingen service-principalverificatie met M2M-referenties (machine-to-machine). Zie Toegang tot de service-principal autoriseren voor Azure Databricks met OAuth.
Maak een service-principal en haal de client-id en de geheime sleutel op. Zie Service principals.
Genereer een toegangstoken met behulp van de 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()
Van andere Databricks-apps
Wanneer u vanuit de ene Databricks-app verbinding maakt met een andere app, verwerkt de app automatisch verificatie met behulp van de toegewezen service-principal.
from databricks.sdk import WorkspaceClient
import requests
# No explicit credentials needed, uses app's service principal
wc = WorkspaceClient()
headers = wc.config.authenticate()
OAuth-bereiken opgeven voor gebruikersautorisatie
Wanneer u de Azure Databricks CLI of SDK's met geïntegreerde verificatie gebruikt, zoals in de vorige sectie wordt weergegeven, vragen de hulpprogramma's automatisch het basisbereik all-apis aan. Als uw app echter gebruikmaakt van gebruikersautorisatie, moet u handmatig een toegangstoken met extra bereiken aanvragen met behulp van een aangepaste OAuth-stroom.
Zorg ervoor dat uw toegangstoken de bereiken bevat die zijn geconfigureerd inGebruikersautorisatie>. Als het token niet over de vereiste toepassingen beschikt, kunnen aanvragen mislukken met 401- of 403-errorcodes.
De volgende aanvraag vraagt bijvoorbeeld expliciet een toegangstoken aan met de sql, file.files, en dashboards.genie reikwijdtes.
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"
Zie OAuth U2M-toegangstokens handmatig genereren voor volledige instructies.
Aanvragen verzenden naar de app
Wanneer u de API-eindpunten van uw app aanroept, neemt u het Bearer-token op in de autorisatieheader en vervangt u <your-endpoint> door het werkelijke API-pad van uw app.
CURL
curl "https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>" \
-H "Authorization: Bearer <YOUR_TOKEN>"
Python met aanvragen
import requests
response = requests.get(
"https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>",
headers={"Authorization": f"Bearer {token}"}
)
Python met 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
)
Beveiligingsoverwegingen
Wanneer u vanuit uw lokale omgeving verbinding maakt met apps, volgt u deze aanbevolen beveiligingsprocedures:
- Codeer nooit toegangstokens in uw broncode. Gebruik omgevingsvariabelen of beveiligde referentiearchieven.
- Vernieuw tokens regelmatig om beveiligingsrisico's te minimaliseren als ze worden aangetast.
- Vermijd het loggen van toegangstokens of gevoelige gegevens in uw toepassingslogboeken.
Probleemoplossingsproces
Als u problemen ondervindt bij het maken van verbinding met uw app vanaf een lokale computer, kunt u deze oplossingen proberen.
Verificatiefouten (401-fouten)
Controleer het volgende:
- Uw token is geldig (voer
databricks auth token --profile my-envuit) - Uw profiel is correct geconfigureerd met
databricks auth login - Het token is niet verlopen
- Uw token bevat de vereiste OAuth-bereiken. CLI- en SDK-hulpprogramma's bieden alleen basisbereiken, zoals
all-apis, die mogelijk niet voldoende zijn voor gebruikersautorisatie.
Machtiging geweigerd (403-fouten)
Controleer het volgende:
- U heeft
CAN USEtoestemming voor de app - Uw token bevat de vereiste OAuth-bereiken. Onvoldoende toegangsrechten kunnen 403-fouten veroorzaken, zelfs met geldige machtigingen.
App is niet gevonden (404-fouten)
Controleer het volgende:
- De ID en werkruimte-URL zijn correct
- De app wordt geïmplementeerd en uitgevoerd
- Het eindpuntpad bestaat in de app
Problemen met de netwerkconnectiviteit
Controleer het volgende:
- Uw netwerk staat uitgaande HTTPS-verbindingen toe
- Het
*.databricksapps.comdomein is toegankelijk vanuit uw netwerk
Controleer bovendien of uw organisatie een proxy gebruikt waarvoor configuratie is vereist.
Aanvullende bronnen
Zie de volgende bronnen voor meer informatie:
- Kookboek: Verbinding maken vanaf lokale computer
- Kookboek: Verbinding maken vanuit externe toepassingen
- Kookboek: Verbinding maken vanuit andere apps
- Machtigingen configureren voor een Databricks-app
- Uw Databricks Apps-werkruimte en -ontwikkelomgeving instellen
- Verificatie voor de Databricks CLI
- Geïntegreerde Databricks-verificatie