Uwierzytelnianie dostępu do zasobów usługi Azure Databricks

Aby uzyskać dostęp do zasobu usługi Azure Databricks za pomocą interfejsu wiersza polecenia usługi Databricks lub interfejsów API REST, klienci muszą uwierzytelniać się przy użyciu konta usługi Azure Databricks z wymaganą autoryzacją w celu uzyskania dostępu do zasobu. Aby bezpiecznie uruchomić polecenie interfejsu wiersza polecenia usługi Databricks lub wywołać żądanie interfejsu API usługi Databricks, które wymaga autoryzowanego dostępu do konta lub obszaru roboczego, musisz podać token dostępu na podstawie prawidłowych poświadczeń konta usługi Azure Databricks. W tym artykule opisano opcje uwierzytelniania, aby podać te poświadczenia i autoryzować dostęp do obszaru roboczego lub konta usługi Azure Databricks.

W poniższej tabeli przedstawiono metody uwierzytelniania dostępne dla konta usługi Azure Databricks.

Metody uwierzytelniania usługi Azure Databricks

Ponieważ narzędzia i zestawy SDK usługi Azure Databricks współpracują z co najmniej jedną obsługiwaną metodą uwierzytelniania usługi Azure Databricks, możesz wybrać najlepszą metodę uwierzytelniania dla danego przypadku użycia. Aby uzyskać szczegółowe informacje, zobacz dokumentację narzędzia lub zestawu SDK w Narzędzia programistyczne i wskazówki.

Metoda opis Przypadek użycia
OAuth dla jednostek usługi (OAuth M2M) Krótkotrwałe tokeny OAuth dla jednostek usługi. Scenariusze uwierzytelniania nienadzorowanego, takie jak w pełni zautomatyzowane przepływy pracy ciągłej integracji/ciągłego wdrażania.
Uwierzytelnianie OAuth dla użytkowników (OAuth U2M) Krótkotrwałe tokeny OAuth dla użytkowników. Uczestniczyli w scenariuszach uwierzytelniania, w których używasz przeglądarki internetowej do uwierzytelniania w usłudze Azure Databricks w czasie rzeczywistym po wyświetleniu monitu.
Osobiste tokeny dostępu (PAT) Krótkotrwałe lub długotrwałe tokeny dla użytkowników lub jednostek usługi. Scenariusze, w których narzędzie docelowe nie obsługuje protokołu OAuth.
Uwierzytelnianie tożsamości zarządzanych platformy Azure Tokeny identyfikatora entra firmy Microsoft dla tożsamości zarządzanych platformy Azure. Używaj tylko z zasobami platformy Azure, które obsługują tożsamości zarządzane, takie jak maszyny wirtualne platformy Azure.
Uwierzytelnianie jednostki usługi Microsoft Entra ID Tokeny identyfikatora entra firmy Microsoft dla jednostek usługi Microsoft Entra ID. Używaj tylko z zasobami platformy Azure, które obsługują tokeny identyfikatorów Entra firmy Microsoft i nie obsługują tożsamości zarządzanych, takich jak Azure DevOps.
Uwierzytelnianie interfejsu wiersza polecenia platformy Azure Tokeny identyfikatora Entra firmy Microsoft dla użytkowników lub jednostek usługi Microsoft Entra ID. Służy do uwierzytelniania dostępu do zasobów platformy Azure i usługi Azure Databricks przy użyciu interfejsu wiersza polecenia platformy Azure.
Uwierzytelnianie użytkownika identyfikatora Entra firmy Microsoft Tokeny identyfikatora Entra firmy Microsoft dla użytkowników. Używaj tylko z zasobami platformy Azure, które obsługują tylko tokeny identyfikatorów Entra firmy Microsoft. Usługa Databricks nie zaleca ręcznego tworzenia tokenów identyfikatorów entra firmy Microsoft dla użytkowników usługi Azure Databricks.

Jakie podejście do uwierzytelniania należy wybrać?

Dostępne są dwie opcje uwierzytelniania polecenia interfejsu wiersza polecenia usługi Databricks lub wywołanie interfejsu API w celu uzyskania dostępu do zasobów usługi Azure Databricks:

  • Użyj konta użytkownika usługi Azure Databricks (nazywanego uwierzytelnianiem typu "użytkownik-komputer" lub U2M). Wybierz tę opcję tylko wtedy, gdy uruchamiasz polecenie interfejsu wiersza polecenia usługi Azure Databricks z lokalnego środowiska klienta lub wywołujesz żądanie interfejsu API usługi Azure Databricks z własnego kodu i uruchamiasz wyłącznie.
  • Użyj jednostki usługi Azure Databricks (nazywanej uwierzytelnianiem "maszyna-maszyna do maszyny" lub M2M). Wybierz tę opcję, jeśli inne osoby będą uruchamiać kod (szczególnie w przypadku aplikacji) lub jeśli tworzysz automatyzację, która będzie wywoływać polecenia interfejsu wiersza polecenia usługi Azure Databricks lub żądania interfejsu API.
  1. Jeśli używasz usługi Azure Databricks, możesz również użyć jednostki usługi MS Entra do uwierzytelniania dostępu do konta lub obszaru roboczego usługi Azure Databricks. Jednak usługa Databricks zaleca użycie jednostki usługi Databricks z udostępnionym uwierzytelnianiem OAuth za pośrednictwem uwierzytelniania jednostki usługi MS Entra. Jest to spowodowane tym, że uwierzytelnianie usługi Databricks używa tokenów dostępu OAuth, które są bardziej niezawodne podczas uwierzytelniania tylko w usłudze Azure Databricks.

Aby uzyskać więcej informacji na temat używania jednostki usługi MS Entra do uzyskiwania dostępu do zasobów usługi Databricks, zobacz uwierzytelnianie jednostki usługi MS Entra.

Musisz również mieć token dostępu połączony z kontem, którego będziesz używać do wywoływania interfejsu API usługi Databricks. Ten token może być tokenem dostępu OAuth 2.0 lub osobistym tokenem dostępu (PAT). Jednak usługa Azure Databricks zdecydowanie zaleca używanie protokołu OAuth za pośrednictwem paT do autoryzacji, ponieważ tokeny OAuth są domyślnie odświeżane automatycznie i nie wymagają bezpośredniego zarządzania tokenem dostępu, co poprawia bezpieczeństwo przed przejęciem tokenu i niepożądanym dostępem. Ponieważ protokół OAuth tworzy token dostępu i zarządza nim, należy podać adres URL punktu końcowego tokenu OAuth, identyfikator klienta i wpis tajny wygenerowany z obszaru roboczego usługi Azure Databricks zamiast bezpośrednio podać ciąg tokenu samodzielnie. Dostawcy paTs ujawniają ryzyko długotrwałych tokenów zapewniających możliwości ruchu wychodzącego, jeśli nie są regularnie poddawane inspekcji i obracane lub odwoływane, lub jeśli ciągi tokenów i hasła nie są bezpiecznie zarządzane dla środowiska deweloperskiego.

Jak mogę używać protokołu OAuth do uwierzytelniania w usłudze Azure Databricks?

Usługa Azure Databricks zapewnia ujednolicone uwierzytelnianie klienta, aby ułatwić uwierzytelnianie przy użyciu domyślnego zestawu zmiennych środowiskowych, które można ustawić na określone wartości poświadczeń. Ułatwia to pracę i bezpieczniej, ponieważ te zmienne środowiskowe są specyficzne dla środowiska, w którym będą uruchamiane polecenia interfejsu wiersza polecenia usługi Azure Databricks lub wywołując interfejsy API usługi Azure Databricks.

  • W przypadku uwierzytelniania konta użytkownika (użytkownika na maszynę) usługa Azure Databricks OAuth jest obsługiwana za pomocą ujednoliconego uwierzytelniania klienta usługi Databricks, o ile narzędzia i zestawy SDK implementują swój standard. Jeśli tak nie jest, możesz ręcznie wygenerować weryfikator kodu OAuth i parę wyzwań, aby używać ich bezpośrednio w poleceniach interfejsu wiersza polecenia usługi Azure Databricks i żądaniach interfejsu API. Zobacz Krok 1. Generowanie weryfikatora kodu OAuth i pary wyzwań kodu.
  • W przypadku uwierzytelniania jednostki usługi (maszyny na maszynę) usługa Azure Databricks OAuth wymaga podania poświadczeń klienta przez obiekt wywołujący wraz z adresem URL punktu końcowego tokenu, pod którym można autoryzować żądanie. (Jest to obsługiwane w przypadku korzystania z narzędzi i zestawów SDK usługi Azure Databricks obsługujących ujednolicone uwierzytelnianie klienta usługi Databricks). Poświadczenia obejmują unikatowy identyfikator klienta i klucz tajny klienta. Klient, czyli jednostka usługi Databricks, która będzie uruchamiać kod, musi być przypisana do obszarów roboczych usługi Databricks. Po przypisaniu jednostki usługi do obszarów roboczych, do których będzie uzyskiwany dostęp, otrzymasz identyfikator klienta i wpis tajny klienta, który zostanie ustawiony z określonymi zmiennymi środowiskowymi.

Te zmienne środowiskowe to:

  • DATABRICKS_HOST: Ta zmienna środowiskowa jest ustawiona na adres URL konsoli konta usługi Azure Databricks (http://accounts.cloud.databricks.com) lub adresu URL obszaru roboczego usługi Azure Databricks (https://{workspace-id}.cloud.databricks.com). Wybierz typ adresu URL hosta na podstawie typu operacji, które będą wykonywane w kodzie. W szczególności, jeśli używasz poleceń interfejsu wiersza polecenia na poziomie konta usługi Azure Databricks lub żądań interfejsu API REST, ustaw tę zmienną na adres URL konta usługi Azure Databricks. Jeśli używasz poleceń interfejsu wiersza polecenia na poziomie obszaru roboczego usługi Azure Databricks lub żądań interfejsu API REST, użyj adresu URL obszaru roboczego usługi Azure Databricks.
  • DATABRICKS_ACCOUNT_ID: używany na potrzeby operacji konta usługi Azure Databricks. Jest to identyfikator konta usługi Azure Databricks. Aby go uzyskać, zobacz Lokalizowanie identyfikatora konta.
  • DATABRICKS_CLIENT_ID: (Tylko protokół OAuth M2M) Identyfikator klienta, który został przypisany podczas tworzenia jednostki usługi.
  • DATABRICKS_CLIENT_SECRET: (Tylko protokół OAuth M2M) Wpis tajny klienta wygenerowany podczas tworzenia jednostki usługi.

Można je ustawić bezpośrednio lub za pomocą profilu konfiguracji usługi Databricks (.databrickscfg) na komputerze klienckim.

Aby użyć tokenu dostępu OAuth, obszar roboczy lub administrator konta usługi Azure Databricks musi przyznać swojemu kontu użytkownika lub jednostce usługi CAN USE uprawnienie dla funkcji konta i obszaru roboczego, do których będzie uzyskiwany dostęp kod.

Aby uzyskać więcej informacji na temat konfigurowania autoryzacji OAuth dla klienta i przeglądania opcji autoryzacji specyficznych dla dostawcy chmury, zobacz Ujednolicone uwierzytelnianie klienta.

Uwierzytelnianie dla usług i narzędzi innych firm

Jeśli piszesz kod, który uzyskuje dostęp do usług, narzędzi lub zestawów SDK innych firm, należy użyć mechanizmów uwierzytelniania i autoryzacji udostępnianych przez inną firmę. Jeśli jednak musisz udzielić narzędzia innej firmy, zestawu SDK lub usługi dostępu do konta usługi Azure Databricks lub zasobów obszaru roboczego, usługa Databricks zapewnia następującą pomoc techniczną:

Profile konfiguracji usługi Azure Databricks

Profil konfiguracji usługi Azure Databricks zawiera ustawienia i inne informacje potrzebne do uwierzytelniania w usłudze Azure Databricks. Profile konfiguracji usługi Azure Databricks są przechowywane w lokalnych plikach klienta dla narzędzi, zestawów SDK, skryptów i aplikacji do użycia. Standardowy plik profilu konfiguracji nosi nazwę .databrickscfg. Aby uzyskać więcej informacji, zobacz Profile konfiguracji usługi Azure Databricks.