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ź komentarz, który pomaga zidentyfikować ten token w przyszłości.
  6. Ustaw okres istnienia tokenu w dniach. Zobacz Ustawianie maksymalnego okresu istnienia nowych osobistych tokenów dostępu.
  7. Aby ograniczyć uprawnienia tokenu, wybierz typ tokenu i dodaj zakresy interfejsu API. Zobacz Temat Zakresowe osobiste tokeny dostępu.
  8. Kliknij pozycję Generuj.
  9. 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 tokenu i dodaj zakresy interfejsu API podczas generowania nowego tokenu. Jeśli nie przypiszesz żadnych zakresów, token zachowuje pełne uprawnienia do tworzenia tożsamości.

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

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 do tokenu. 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"
  ]
}'

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"
}'

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.