Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Możesz wywołać aplikację Databricks, która udostępnia interfejs API HTTP (na przykład aplikację FastAPI lub Gradio) przy użyciu uwierzytelniania z użyciem tokenu typu Bearer OAuth 2.0. Ta metoda działa z lokalnego środowiska deweloperskiego, aplikacji zewnętrznych i innych aplikacji usługi Azure Databricks.
Uwaga / Notatka
Metoda ta dotyczy tylko aplikacji, które udostępniają interfejsy API lub punkty końcowe (dostępne przy użyciu /api/ ścieżek). W przypadku aplikacji, które zapewniają tylko interfejs użytkownika lub przetwarzanie w tle, nie można nawiązać połączenia przy użyciu uwierzytelniania tokenu.
Requirements
Aby nawiązać połączenie z aplikacją usługi Databricks przy użyciu uwierzytelniania tokenu, musisz spełnić następujące wymagania:
- Aplikacja musi udostępniać co najmniej jeden punkt końcowy interfejsu API dostępny przy użyciu
/api/ścieżek. - Musisz mieć
CAN USEuprawnienia do aplikacji. Zobacz Konfigurowanie uprawnień dla aplikacji usługi Databricks. - Musisz mieć możliwość wygenerowania tokenu dostępu usługi Azure Databricks przy użyciu jednej z obsługiwanych metod uwierzytelniania.
Metody uwierzytelniania
Uwaga / Notatka
Nie można wywołać aplikacji Databricks bezpośrednio przy użyciu tokenu Azure Entra ID. Federacja tokenów wymaga kroku wymiany tokenów po stronie klienta, którego usługa Azure Databricks nie wykonuje po stronie serwera. Aby użyć tokenów identyfikatora entra platformy Azure do uwierzytelniania, należy najpierw wymienić je na tokeny OAuth. Zobacz Uwierzytelnianie przy użyciu tokenu dostawcy tożsamości.
Wybierz metodę uwierzytelniania zgodną ze scenariuszem połączenia:
Rozwój lokalny
Aby nawiązać połączenie ze swojego lokalnego środowiska deweloperskiego, użyj interfejsu wiersza polecenia usługi Azure Databricks lub zestawów SDK z poświadczeniami użytkownika.
Zaloguj się za pomocą interfejsu wiersza polecenia:
databricks auth login --host https://<workspace-url> --profile my-envUsługa Azure Databricks zaleca korzystanie z uwierzytelniania użytkownika do komputera (U2M) OAuth.
Generowanie tokenu dostępu:
CLI
databricks auth token --profile my-envPython
from databricks.sdk.core import Config config = Config(profile="my-env") token = config.oauth_token().access_token
Aplikacje zewnętrzne
W przypadku dostępu programowego z aplikacji zewnętrznych użyj uwierzytelniania jednostki usługi z poświadczeniami maszyny do maszyny (M2M). Zobacz Autoryzowanie dostępu jednostki usługi do usługi Azure Databricks przy użyciu protokołu OAuth.
Utwórz jednostkę usługi i uzyskaj identyfikator klienta oraz tajny klucz. Zobacz Zasady usługi.
Wygeneruj token dostępu przy użyciu zestawu SDK usługi Azure Databricks:
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 pozostałych aplikacji Databricks
Po połączeniu jednej aplikacji Databricks z inną, aplikacja automatycznie obsługuje uwierzytelnianie przy użyciu przypisanej jednostki usługi.
from databricks.sdk import WorkspaceClient
import requests
# No explicit credentials needed, uses app's service principal
wc = WorkspaceClient()
headers = wc.config.authenticate()
Określanie zakresów protokołu OAuth na potrzeby autoryzacji użytkownika
Jeśli używasz CLI usługi Azure Databricks lub SDK z ujednoliconym uwierzytelnianiem, jak pokazano w poprzedniej sekcji, narzędzia automatycznie żądają podstawowego zakresu all-apis. Jeśli jednak aplikacja używa autoryzacji użytkownika, musisz ręcznie zażądać tokenu dostępu z dodatkowymi zakresami przy użyciu niestandardowego przepływu OAuth.
Upewnij się, że token dostępu zawiera zakresy skonfigurowane w sekcji Edytuj autoryzację>użytkownika. Jeśli token nie ma wymaganych zakresów, żądania mogą zakończyć się niepowodzeniem z błędami 401 lub 403.
Na przykład następujące żądanie jawnie żąda tokenu dostępu z zakresami sql, file.filesi 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"
Aby uzyskać pełne instrukcje, zobacz Ręczne generowanie tokenów dostępu OAuth U2M.
Wysyłanie żądań do aplikacji
Podczas wywoływania punktów końcowych interfejsu API aplikacji dołącz token Bearer w nagłówku Autoryzacji i zastąp <your-endpoint> rzeczywistą ścieżką API swojej aplikacji.
CURL
curl "https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>" \
-H "Authorization: Bearer <YOUR_TOKEN>"
Język Python z żądaniami
import requests
response = requests.get(
"https://<app-name>-<id>.<region>.databricksapps.com/api/<your-endpoint>",
headers={"Authorization": f"Bearer {token}"}
)
Język Python z zestawem 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
)
Zagadnienia dotyczące zabezpieczeń
Podczas nawiązywania połączenia z aplikacjami ze środowiska lokalnego postępuj zgodnie z następującymi najlepszymi rozwiązaniami w zakresie zabezpieczeń:
- Nigdy nie koduj tokenów dostępu na stałe w kodzie źródłowym. Użyj zmiennych środowiskowych lub bezpiecznych magazynów poświadczeń.
- Odśwież tokeny regularnie, aby zminimalizować zagrożenia bezpieczeństwa, jeśli zostaną naruszone.
- Unikaj rejestrowania tokenów dostępu lub poufnych danych w dziennikach aplikacji.
Rozwiązywanie problemów
Jeśli wystąpią problemy podczas nawiązywania połączenia z aplikacją z komputera lokalnego, wypróbuj te rozwiązania.
Błędy uwierzytelniania (błędy 401)
Sprawdź następujące:
- Token jest prawidłowy (uruchom
databricks auth token --profile my-env) - Twój profil jest poprawnie skonfigurowany za pomocą polecenia
databricks auth login - Token nie wygasł
- Token zawiera wymagane zakresy protokołu OAuth. Narzędzia interfejsu wiersza polecenia i zestawu SDK udostępniają tylko podstawowe zakresy, takie jak
all-apis, które mogą nie być wystarczające do autoryzacji użytkownika.
Odmowa uprawnień (błędy 403)
Sprawdź następujące:
-
CAN USEMasz uprawnienia do aplikacji - Token zawiera wymagane zakresy protokołu OAuth. Niewystarczające zakresy mogą powodować błędy 403 nawet z prawidłowymi uprawnieniami.
Nie znaleziono aplikacji (błędy 404)
Sprawdź następujące:
- Identyfikator i adres URL obszaru roboczego są poprawne
- Aplikacja jest wdrażana i uruchomiona
- Ścieżka punktu końcowego istnieje w aplikacji
Problemy z łącznością sieciową
Sprawdź następujące:
- Sieć zezwala na wychodzące połączenia HTTPS
- Domena
*.databricksapps.comjest dostępna z sieci
Ponadto sprawdź, czy organizacja używa serwera proxy wymagającego konfiguracji.
Dodatkowe zasoby
Aby uzyskać więcej informacji, zobacz następujące zasoby:
- Poradnik: Nawiązanie połączenia z komputera lokalnego
- Poradnik: łączenie z aplikacjami zewnętrznymi
- Książka kucharska: Łączenie z innych aplikacji
- Konfigurowanie uprawnień dla aplikacji usługi Databricks
- Konfigurowanie obszaru roboczego usługi Databricks Apps i środowiska programistycznego
- Uwierzytelnianie CLI dla Databricks
- Ujednolicone uwierzytelnianie Databricks