Uwierzytelnij się za pomocą tokenów dostępu osobistego Azure Databricks (starsza wersja)

Osobiste tokeny dostępu Azure Databricks (PAT) umożliwiają uwierzytelnianie do zasobów i interfejsów API na poziomie obszaru roboczego. Można je przechowywać w zmiennych środowiskowych lub Azure Databricks profile konfiguracyjne. Każdy token dostępu jest ważny tylko dla jednego obszaru roboczego, a użytkownik może utworzyć maksymalnie 600 paTs na obszar roboczy. Azure Databricks automatycznie anuluje tokeny PAT, które nie były używane przez 90 dni.

Ważne

Jeśli to możliwe, usługa Databricks zaleca używanie protokołu OAuth zamiast paT na potrzeby uwierzytelniania konta użytkownika, ponieważ protokół OAuth zapewnia silniejsze zabezpieczenia. Aby dowiedzieć się, jak uwierzytelniać się przy użyciu konta użytkownika w Databricks za pomocą protokołu OAuth, zobacz Autoryzacja dostępu użytkownika do Azure Databricks za pomocą protokołu OAuth.

Nie można używać osobistych tokenów dostępu do automatyzowania funkcjonalności Azure Databricks na poziomie konta. Zamiast tego użyj tokenów Microsoft Entra ID administratorów konta Azure Databricks. Azure Databricks administratorami kont mogą być użytkownicy lub jednostki usługi. Aby uzyskać więcej informacji, zobacz:

Tworzenie osobistych tokenów dostępu dla użytkowników obszaru roboczego

Aby utworzyć osobisty token dostępu dla użytkownika obszaru roboczego Azure Databricks, wykonaj następujące czynności:

  1. W obszarze roboczym Azure Databricks kliknij swoją nazwę użytkownika na górnym pasku i wybierz pozycję Settings.
  2. Kliknij Deweloper.
  3. Obok pozycji Tokeny dostępu kliknij pozycję Zarządzaj.
  4. Kliknij pozycję Generuj nowy token.
  5. Wprowadź nazwę, która pomoże później zidentyfikować ten token.
  6. Ustaw okres istnienia tokenu w dniach. Zobacz Ustawianie maksymalnego okresu istnienia nowych osobistych tokenów dostępu.
  7. Wybierz typ zakresu i dodaj zakresy interfejsu API. Wybierz BI Tools dla narzędzi łączących się z magazynami SQL usługi Databricks, takimi jak Tableau lub Power BI, lub wybierz Inne interfejsy API aby wybrać zakresy ręcznie. Zobacz Temat Zakresowe osobiste tokeny dostępu.
  8. Aby włączyć automatyczne określanie zakresu dla tego tokena, włącz Tokeny Auto-scope. Auto-scoping automatycznie zawęża zakres tokena do używanych przez niego API, stosując zakres all-apis tymczasowo podczas okresu obserwacji. Ta opcja pojawia się tylko wtedy, gdy administrator włączył podgląd automatycznego określania zakresu dla twojej przestrzeni roboczej, a automatyczne określanie zakresu dotyczy tylko tokenów z żywotnością dłuższą niż 30 dni. Zobacz Automatyczne określanie zakresu dla osobistych tokenów dostępu.
  9. Kliknij pozycję Generuj.
  10. Skopiuj wyświetlony token do bezpiecznej lokalizacji, a następnie kliknij przycisk Gotowe. Bezpiecznie zapisz token i nie udostępniaj go. Jeśli go utracisz, musisz utworzyć nowy token.

Jeśli nie możesz tworzyć ani używać tokenów, administrator obszaru roboczego mógł wyłączyć tokeny lub nie przyznał Ci uprawnień. Skontaktuj się z administratorem obszaru roboczego lub zapoznaj się z poniższymi informacjami:

Osobiste tokeny dostępu o ograniczonym zakresie

Ograniczone osobiste tokeny dostępu ograniczają uprawnienia tokenu do określonych operacji interfejsu API. Zamiast udzielać pełnego dostępu do obszaru roboczego, należy przypisać co najmniej jeden zakres interfejsu API, taki jak sql, unity-cataloglub scim, który ogranicza operacje interfejsu API REST, które może wywołać token.

Ostrzeżenie

Tokeny z zakresem authentication mogą tworzyć nowe tokeny z dowolnym zakresem. Przyznaj ten zakres tylko tokenom, które muszą zarządzać innymi tokenami.

Aby utworzyć token o określonym zakresie w interfejsie użytkownika obszaru roboczego, wybierz typ zakresu i dodaj zakresy interfejsu API podczas generowania nowego tokenu. Wybierz BI Tools dla narzędzi łączących się z magazynami SQL usługi Databricks, takimi jak Tableau lub Power BI, lub wybierz Inne interfejsy API aby wybrać zakresy ręcznie.

Aby uzyskać pełną listę zakresów i skojarzonych z nimi operacji interfejsu API, zobacz Zakresy interfejsu API.

Automatyczne określanie zakresu dla osobistych tokenów dostępu

Automatyczne ograniczanie zakresu automatycznie zawęża uprawnienia tokena tylko do interfejsów API, z których aktywnie korzysta. Azure Databricks obserwuje użycie API tokena przez okres 30 dni, a następnie stosuje wnioskowane zakresy. Automatyczne określanie zakresu wykonuje się raz na token. W czasie obserwacji token zachowuje pełny dostęp do przestrzeni roboczej (zakres all-apis). Azure Databricks wysyła przypomnienie e-mail 7 dni przed wymuszeniem oraz wiadomość e-mail o wymuszeniu, gdy zastosowane są wywnioskowane zakresy.

Elementy sterujące automatycznym określaniem zakresu

  • Funkcja w wersji zapoznawczej dla obszaru roboczego (kontrolowana przez administratora): Administrator włącza lub wyłącza funkcję automatycznego określania zakresu w wersji zapoznawczej dla całego obszaru roboczego z konsoli konta lub strony Previews obszaru roboczego. Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.
  • Ustawienie dla tokena (autoscope_enabled): Gdy podgląd jest włączony, każdy token jest włączany lub wyłączany indywidualnie w momencie tworzenia.

Auto-scoping dotyczy tylko tokenów o żywotności dłuższej niż 30 dni. Obejmuje to nowe tokeny utworzone z włączonym automatycznym ograniczaniem zakresu oraz istniejące tokeny długoterminowe. Dla istniejącego uprawnionego tokena 30-dniowy okres obserwacji zaczyna się, gdy administrator włączy podgląd. Azure Databricks stosuje wnioskowane zakresy na koniec tego okresu i wysyła przypomnienie e-mail 7 dni przed egzekwowaniem, według tego samego harmonogramu co nowo utworzony token z automatycznym zakresem.

Zrezygnuj z automatycznego określania zakresu

  • Jeden token, przed wymuszeniem: ustaw token na określone zakresy uprawnień w interfejsie przestrzeni roboczej (Ustawienia>Developer>Tokeny dostępu>Zarządzaj, następnie kliknij Aktualizuj token) lub za pomocą interfejsu Token API (zobacz Aktualizowanie zakresów uprawnień tokena dostępu osobistego). Ustawienie konkretnych zakresów na stałe wyłącza automatyczne określanie zakresów dla danego tokena. Ponowne ustawienie tokena z powrotem na zakres all-apis (pustą tablicę scopes) nie powoduje żadnej operacji i nie zatrzymuje automatycznego określania zakresu. Aby zachować token z pełnym dostępem all-apis, który nigdy nie jest automatycznie ograniczany zakresem, stwórz nowy token z wyłączonym automatycznym ograniczaniem zakresu.
  • Cały obszar pracy: Poproś administratora o wyłączenie podglądu automatycznego określania zakresu na stronie Podglądy. Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.

Po zakończeniu egzekwowania automatyczne ustawianie zakresów nie uruchamia się ponownie dla tego tokena, więc można swobodnie ustawić jego zakresy, w tym z powrotem do all-apis.

Uwaga

Opcja wyłączenia interfejsu workspace działa tylko dla tokena, który posiadasz. Aby zrezygnować z tokenu nazwy głównej usługi, ustaw jego zakresy za pomocą żądania PATCH /api/2.0/token/{token_id_sha256}.

Aby przejrzeć stan automatycznego określania zakresu i wywnioskowane zakresy dla swoich tokenów, zobacz Sprawdź stan automatycznego określania zakresu tokenów.

Tworzenie osobistych tokenów dostępu dla podmiotów usługi

Podmiot usługi może tworzyć osobiste tokeny dostępu dla siebie.

  1. Uruchom następujące polecenie, aby wygenerować token dostępu:

    databricks tokens create \
      --lifetime-seconds <lifetime-seconds> \
      -p <profile-name>
    

    Zastąp następujące wartości:

    • <lifetime-seconds>: okres istnienia tokenu w sekundach, taki jak 86400 dla 1 dnia. Wartość domyślna to maksimum przestrzeni roboczej (zazwyczaj 730 dni).
    • <profile-name>: Profil konfiguracji z informacjami o uwierzytelnianiu. Wartość domyślna to DEFAULT.
  2. Skopiuj wartość token_value z odpowiedzi, która jest tokenem dostępu dla jednostki usługi. Bezpiecznie zapisz token i nie udostępniaj go. Jeśli go utracisz, musisz utworzyć nowy token.

Jeśli nie możesz tworzyć ani używać tokenów, administrator obszaru roboczego mógł wyłączyć tokeny lub nie przyznał Ci uprawnień. Skontaktuj się z administratorem obszaru roboczego lub zapoznaj się z poniższymi informacjami:

Przeprowadzanie uwierzytelniania osobistego tokenu dostępu

Aby skonfigurować uwierzytelnianie za pomocą osobistego tokena dostępu w Azure Databricks, ustaw następujące odpowiednie zmienne środowiskowe, .databrickscfg pola, pola programu Terraform lub Config pola:

  • Host Azure Databricks określony jako docelowy adres URL Azure Databricks per-workspace na przykład https://adb-1234567890123456.7.azuredatabricks.net.
  • Osobisty token dostępu Azure Databricks dla konta użytkownika Azure Databricks.

Aby przeprowadzić uwierzytelnianie za pomocą osobistego tokenu dostępu w Azure Databricks, należy zintegrować następujące elementy w kodzie, w zależności od używanego narzędzia lub zestawu SDK.

Środowisko

Aby użyć zmiennych środowiskowych dla określonego typu uwierzytelniania Azure Databricks za pomocą narzędzia lub zestawu SDK, zobacz Autoryzacja dostępu do zasobów Azure Databricks lub dokumentację narzędzia lub zestawu SDK. Zobacz również Zmienne środowiskowe i pola dotyczące ujednoliconego uwierzytelniania i priorytetu metody uwierzytelniania.

Ustaw następujące zmienne środowiskowe:

  • DATABRICKS_HOST ustawionego dla każdego obszaru roboczego Azure Databricks per-workspace URL, na przykład https://adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN, ustaw wartość na ciąg tokenu.

Profil

Utwórz lub zidentyfikuj profil konfiguracji Azure Databricks z następującymi polami w pliku .databrickscfg. Jeśli utworzysz profil, zastąp symbole zastępcze odpowiednimi wartościami. Aby użyć profilu z narzędziem lub zestawem SDK, zapoznaj się z Autoryzowanie dostępu do zasobów Azure Databricks lub dokumentacją narzędzia lub zestawu SDK. Zobacz również Zmienne środowiskowe i pola dotyczące ujednoliconego uwierzytelniania i priorytetu metody uwierzytelniania.

Ustaw następujące wartości w .databrickscfg pliku. W takim przypadku hostem jest adres URL Azure Databricks per-workspace na przykład https://adb-1234567890123456.7.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host  = <workspace-url>
token = <token>

Zamiast ręcznie ustawiać wartości, możesz użyć interfejsu wiersza polecenia usługi Databricks, aby ustawić następujące wartości:

Uwaga

Poniższa procedura używa interfejsu wiersza polecenia Databricks CLI do utworzenia profilu konfiguracji Azure Databricks o nazwie . Jeśli masz DEFAULT już profil konfiguracji, ta procedura zastępuje istniejący DEFAULT profil konfiguracji.

Aby sprawdzić, czy masz już profil konfiguracyjny DEFAULT i wyświetlić ustawienia tego profilu, jeśli istnieje, rozpocznij Databricks CLI, aby uruchomić polecenie databricks auth env --profile DEFAULT.

Aby utworzyć profil konfiguracji o nazwie innej niż DEFAULT, zastąp DEFAULT część w --profile DEFAULT poniższym databricks configure poleceniu inną nazwą profilu konfiguracji.

  1. Użyj interfejsu wiersza polecenia usługi Databricks utworzyć profil konfiguracji Azure Databricks o nazwie , który korzysta z uwierzytelniania za pomocą osobistego tokenu dostępu Azure Databricks. Aby to zrobić, uruchom następujące polecenie:

    databricks configure --profile DEFAULT
    
  2. W przypadku monitu Host usługi Databricks wprowadź adres URL obszaru roboczego Azure Databricks dla każdego obszaru roboczego, na przykład https://adb-1234567890123456.7.azuredatabricks.net.

  3. W przypadku monitu Personal Access Token wprowadź osobisty token dostępu Azure Databricks dla obszaru roboczego.

CLI

Dla interfejsu wiersza polecenia Databricks uruchom polecenie databricks configure. Po wyświetleniu monitów wprowadź następujące ustawienia:

  • Host Azure Databricks określony jako docelowy adres URL Azure Databricks per-workspace na przykład https://adb-1234567890123456.7.azuredatabricks.net.
  • Osobisty token dostępu Azure Databricks dla konta użytkownika Azure Databricks.

Aby uzyskać więcej informacji, zobacz Osobiste uwierzytelnianie tokenu dostępu (starsza wersja).

Połącz

Uwaga

Azure Databricks uwierzytelnianie z użyciem tokenu dostępu osobistego jest obsługiwane w następujących wersjach programu Databricks Connect:

  • W przypadku Python usługa Databricks Connect dla środowiska Databricks Runtime 13.3 LTS lub nowszego.
  • W przypadku języka Scala usługa Databricks Connect dla środowiska Databricks Runtime 13.3 LTS lub nowszego.

W przypadku narzędzia Databricks Connect użyj CLI usługi Databricks, aby ustawić wartości w pliku .databrickscfg dla operacji na poziomie workspace Azure Databricks zgodnie z sekcją Profil.

Poniższa procedura tworzy profil konfiguracji Azure Databricks o nazwie DEFAULT, który zastępuje dowolny istniejący profil DEFAULT. Aby sprawdzić, czy istnieje DEFAULT profil, uruchom databricks auth env --profile DEFAULT. Jeśli istnieje, użyj innej nazwy profilu.

  1. Uruchom następujące polecenie, aby utworzyć profil konfiguracji Azure Databricks o nazwie DEFAULT, który używa osobistego uwierzytelniania tokenu dostępu.

    databricks configure \
      --configure-cluster \
      --profile DEFAULT
    
  2. W przypadku monitu Host usługi Databricks wprowadź adres URL obszaru roboczego Azure Databricks dla każdego obszaru roboczego, na przykład https://adb-1234567890123456.7.azuredatabricks.net.

  3. W wierszu polecenia Osobisty token dostępu wprowadź osobisty token dostępu dla obszaru roboczego.

  4. Na liście dostępnych klastrów wybierz docelowy klaster Azure Databricks w obszarze roboczym. Możesz wpisać dowolną część nazwy wyświetlanej klastra, aby przefiltrować listę dostępnych klastrów.

Używanie interfejsu API REST Azure Databricks do wystawiania osobistych tokenów dostępu

Azure Databricks udostępnia punkt końcowy REST /api/2.0/token/create do wystawiania tokenów dostępu osobistego. Aby uzyskać szczegółowe informacje o interfejsie API, zobacz Tworzenie tokenu użytkownika .

W poniższym przykładzie ustaw następujące wartości:

  • <databricks-instance>: Adres URL obszaru roboczego usługi Databricks. Na przykład dbc-abcd1234-5678.cloud.databricks.com.
  • <your-existing-access-token>: istniejący prawidłowy token dostępu (ciąg), który ma uprawnienia do tworzenia nowych tokenów.
  • <lifetime-seconds>: okres istnienia tokenu w sekundach.
  • <scopes>: Lista zakresów do przypisania tokenowi lub pusta tablica ([]) zapewniająca pełny dostęp do przestrzeni roboczej (zakres all-apis). Zobacz Temat Zakresowe osobiste tokeny dostępu.
curl -X POST https://<databricks-instance>/api/2.0/token/create \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "lifetime_seconds": <lifetime-seconds>,
  "scopes": [
    "sql",
    "authentication"
  ],
  "autoscope_enabled": true
}'

Jeśli operacja powiedzie się, spowoduje to wyświetlenie ładunku odpowiedzi podobnego do następującego:

{
  "token_value": "<your-newly-issued-pat>",
  "token_info": {
    "token_id": "<token-id>",
    "creation_time": <creation-timestamp>,
    "expiry_time": <expiry-timestamp>,
    "comment": "<comment>",
    "scopes": ["authentication", "sql"],
    "last_accessed_time": 0
  }
}

Umieść nowy token z odpowiedzi w nagłówku „Autoryzacja” przy kolejnych wywołaniach do interfejsów API REST usługi Databricks. Na przykład:

# This example uses a simple GET. For POST or other REST verbs, you may need to provide additional parameters.
curl -X GET "https://<databricks-instance>/api/2.0/<path-to-endpoint>" \
     -H "Authorization: Bearer <your-new-pat>"
import requests

headers = {
    'Authorization': 'Bearer <your-new-pat>'
}
# This example is for an HTTP GET operation.
response = requests.get('https://<databricks-instance>/api/2.0/<path-to-endpoint>', headers=headers)

Aktualizowanie zakresów osobistego tokenu dostępu

Jeśli brakuje wymaganego zakresu uprawnień w tokenie dla wywołania interfejsu API, żądanie kończy się niepowodzeniem z błędem wskazującym brakujący zakres. Aby zaktualizować zakresy tokenu, użyj punktu końcowego /api/2.0/token/<token_id>REST . Token wywołujący musi mieć authentication zakres, który zezwala na zarządzanie innymi tokenami. Użyj pola update_mask, aby określić pola tokenu do zaktualizowania.

curl -X PATCH https://<databricks-instance>/api/2.0/token/<token_id> \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "token": {
    "scopes": ["sql", "unity-catalog"]
  },
  "update_mask": "scopes"
}'

Aby przyznać tokenowi pełny dostęp do przestrzeni roboczej (zakres all-apis), ustaw scopes na pustą tablicę ("scopes": []). Literalny ciąg all-apis nie jest akceptowaną wartością zakresu.

Uwaga

Azure Databricks zaleca przypisywanie konkretnych zakresów zamiast przyznawania all-apis dostępu. Zobacz Automatyczne określanie zakresu dla osobistych tokenów dostępu.

Zmiany zakresu mogą potrzebować do dziesięciu minut, aby się rozprzestrzenić.

Aby wyświetlić wszystkie dostępne zakresy, użyj polecenia GET /api/2.0/token-scopes.