Udostępnij za pośrednictwem


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

W tym temacie omówiono podstawowe podejścia do tworzenia zabezpieczonych wywołań interfejsu wiersza polecenia usługi Azure Databricks lub interfejsu API REST przy użyciu poświadczeń konta usługi Azure Databricks, takich jak konta użytkowników lub jednostki usługi.

Autoryzacja dla CLI (interfejsu wiersza polecenia) i interfejsów API 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ą autoryzować przy użyciu konta usługi Azure Databricks. To konto musi mieć uprawnienia dostępu do zasobu, który można skonfigurować przez administratora usługi Azure Databricks lub konto użytkownika z uprawnieniami administratora.

Istnieją dwa typy kont, których można użyć, w zależności od sposobu uzyskiwania dostępu do zasobów usługi Azure Databricks:

  • Konto użytkownika: Użyj tego, aby interaktywnie wprowadzać polecenia CLI lub wywołania API REST w usłudze Azure Databricks.
  • główny element usługi: Użyj tego, aby zautomatyzować polecenia CLI Azure Databricks lub wywołania API REST bez interakcji manualnej.

Po wybraniu typu konta usługi Azure Databricks należy uzyskać token dostępu reprezentujący poświadczenia konta. Ten token dostępu zostanie przekazany podczas uzyskiwania dostępu do zasobów konta w skryptach lub kodzie albo w sesjach interaktywnych.

  1. Jeśli używasz usługi Azure Databricks, możesz również użyć głównego konta usługi MS Entra, aby autoryzować dostęp do swojego konta lub obszaru roboczego usługi Azure Databricks. Jednak Databricks zaleca użycie identyfikatora usługi Databricks z autoryzacją OAuth przyznaną przez nas, zamiast autoryzacji identyfikatora usługi MS Entra. Dzieje się tak, ponieważ autoryzacja usługi Databricks korzysta z tokenów dostępu OAuth, które są bardziej niezawodne w przypadku autoryzowania 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.

Uzyskiwanie tokenu dostępu

Poświadczenia Twojego konta są reprezentowane przez bezpieczny token dostępu, który podajesz bezpośrednio lub pośrednio do polecenia CLI albo wywołania API.

Aby bezpiecznie uruchomić polecenie CLI Databricks lub żądanie API wymagające autoryzowanego dostępu do konta lub obszaru roboczego, musisz podać token dostępu opierający się na ważnych poświadczeniach konta Azure Databricks.

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

metody autoryzacji usługi Azure Databricks

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

Użytkownicy usługi Azure Databricks mogą wymagać dostępu do zasobów specyficznych dla platformy Azure, które nie są bezpośrednio zarządzane na koncie usługi Databricks. Metody uzyskiwania dostępu do tych zasobów znajdują się również w tej tabeli. W przypadku dostępu do zasobów platformy Azure należy użyć tożsamości usługi zarządzanej platformy Azure (MSI) lub identyfikatora MS Entra (w zależności od scenariusza), a nie poświadczeń konta usługi Azure Databricks.

Metoda opis Przypadek użycia
OAuth usługi Databricks dla podmiotów usługi Krótkotrwałe tokeny OAuth dla jednostek usługi. Nienadzorowane scenariusze autoryzacji, takie jak w pełni zautomatyzowane przepływy pracy w ramach ciągłej integracji i ciągłego wdrażania.
OAuth usługi Databricks dla użytkowników Krótkotrwałe tokeny OAuth dla użytkowników. Uczestniczyli w scenariuszach autoryzacji, w których używasz przeglądarki internetowej lub innej metody interaktywnej do autoryzowania za pomocą usługi Databricks po wyświetleniu monitu.
Osobiste tokeny dostępu do Databricks (PATs) Krótkotrwałe lub długotrwałe tokeny dla użytkowników lub jednostek usługi. Tej funkcji należy używać tylko w przypadkach, gdy narzędzie docelowe nie obsługuje protokołu OAuth.
autoryzacja tożsamości zarządzanej usługi 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.
Autoryzacja obiektu 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.
autoryzacja Azure CLI Tokeny identyfikatora Entra firmy Microsoft dla użytkowników lub jednostek usługi Microsoft Entra ID. Użyj Azure CLI do autoryzacji dostępu do zasobów platformy Azure i Azure Databricks.
Autoryzacja użytkowników Microsoft Entra ID 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.

Jaką opcję autoryzacji należy wybrać?

Usługa Azure Databricks udostępnia 2 opcje autoryzacji lub uwierzytelniania przy użyciu tokenu dostępu:

  • Tokeny dostępu oparte na protokole OAuth 2.0.
  • Osobiste tokeny dostępu (PATs).

Uwaga

Usługa Azure Databricks zdecydowanie zaleca używanie protokołu OAuth zamiast PATs do autoryzacji, ponieważ tokeny OAuth są domyślnie automatycznie odświeżane 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. Wybierz tokeny dostępu osobistego (PAT) tylko wtedy, gdy integrujesz narzędzie lub usługę zewnętrznej firmy, które nie są obsługiwane przez ujednolicone uwierzytelnianie klienta w Azure Databricks lub nie obsługują protokołu OAuth.

Jak używać protokołu OAuth do autoryzowania dostępu do zasobów usługi Azure Databricks?

Usługa Azure Databricks udostępnia ujednoliconego uwierzytelniania klienta, aby ułatwić autoryzację 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 autoryzacji konta użytkownika część uwierzytelniania usługi Azure Databricks OAuth — tworzenie tokenów dostępu i zarządzanie nimi — jest obsługiwana za pomocą ujednoliconego uwierzytelniania klienta usługi Databricks, o ile narzędzia i zestawy SDK implementują jego 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 autoryzacji głównego użytkownika usługi, Azure Databricks OAuth wymaga, aby obiekt wywołujący podał poświadczenia klienta razem z adresem URL punktu końcowego tokenu, gdzie 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:

Zmienna środowiskowa opis
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 Służy do obsługi 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 jednostki usługi OAuth) Identyfikator klienta, który został przypisany podczas tworzenia jednostki usługi .
DATABRICKS_CLIENT_SECRET (Tylko jednostki usługi OAuth) Klucz 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, które są potrzebne, aby umożliwić autoryzację dostępu przez usługę 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.