Udostępnij za pośrednictwem


Uwierzytelnianie osobistego tokenu dostępu usługi Azure Databricks

Osobiste tokeny dostępu (PAT) usługi Azure Databricks służą do uwierzytelniania dostępu do zasobów i interfejsów API na poziomie obszaru roboczego usługi Azure Databricks. Wiele mechanizmów przechowywania poświadczeń i powiązanych informacji, takich jak zmienne środowiskowe i profile konfiguracji usługi Azure Databricks, zapewnia obsługę osobistych tokenów dostępu usługi Azure Databricks. Chociaż użytkownicy mogą mieć wiele osobistych tokenów dostępu w obszarze roboczym usługi Azure Databricks, każdy osobisty token dostępu działa tylko dla jednego obszaru roboczego usługi Azure Databricks. Liczba osobistych tokenów dostępu na użytkownika jest ograniczona do 600 na obszar roboczy.

Usługa Databricks automatycznie odwołuje osobiste tokeny dostępu, które nie były używane w ciągu 90 lub więcej dni.

Ważne

Usługa Databricks zaleca używanie protokołu OAuth zamiast paT na potrzeby uwierzytelniania klienta konta użytkownika i autoryzacji ze względu na ulepszone zabezpieczenia protokołu OAuth. Aby dowiedzieć się, jak używać protokołu OAuth do przeprowadzania uwierzytelniania klienta przy użyciu konta użytkownika usługi Databricks, zobacz Uwierzytelnianie dostępu do usługi Azure Databricks przy użyciu konta użytkownika przy użyciu protokołu OAuth (OAuth U2M) (w przypadku uwierzytelniania konta użytkownika).

10 lipca 2024 r. 10 lipca 2024 r. uwierzytelnianie podstawowe (nie oparte na tokenach) przy użyciu nazwy użytkownika i hasła usługi Azure Databricks.

Aby zautomatyzować funkcje na poziomie konta usługi Azure Databricks, nie można używać osobistych tokenów dostępu usługi Azure Databricks. Zamiast tego należy użyć tokenów identyfikatora Entra firmy Microsoft administratorów kont usługi Azure Databricks. Administratorzy kont usługi Azure Databricks mogą być użytkownikami lub jednostkami usługi. Aby uzyskać więcej informacji, zobacz:

Osobiste tokeny dostępu usługi Azure Databricks dla użytkowników obszaru roboczego

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

  1. W obszarze roboczym usługi Azure Databricks kliknij nazwę użytkownika usługi Azure Databricks na górnym pasku, a następnie wybierz pozycję Ustawienia z listy rozwijanej.
  2. Kliknij pozycję Deweloper.
  3. Obok pozycji Tokeny dostępu kliknij pozycję Zarządzaj.
  4. Kliknij pozycję Generuj nowy token.
  5. (Opcjonalnie) Wprowadź komentarz, który pomaga zidentyfikować ten token w przyszłości i zmienić domyślny okres istnienia tokenu na 90 dni. Aby utworzyć token bez okresu istnienia (niezalecane), pozostaw puste pole Okres istnienia (dni) (puste).
  6. Kliknij pozycję Generate (Generuj).
  7. Skopiuj wyświetlony token do bezpiecznej lokalizacji, a następnie kliknij przycisk Gotowe.

Uwaga

Pamiętaj, aby zapisać skopiowany token w bezpiecznej lokalizacji. Nie udostępniaj skopiowanego tokenu innym osobom. W przypadku utraty skopiowanego tokenu nie można wygenerować tego samego tokenu. Zamiast tego należy powtórzyć tę procedurę, aby utworzyć nowy token. Jeśli utracisz skopiowany token lub uważasz, że token został naruszony, usługa Databricks zdecydowanie zaleca natychmiastowe usunięcie tego tokenu z obszaru roboczego, klikając ikonę kosza (Odwołaj) obok tokenu na stronie Tokeny dostępu.

Jeśli nie możesz utworzyć lub użyć tokenów w obszarze roboczym, może to być spowodowane tym, że administrator obszaru roboczego wyłączył tokeny lub nie udzielił Ci uprawnień do tworzenia lub używania tokenów. Zapoznaj się z administratorem obszaru roboczego lub następującymi tematami:

Osobiste tokeny dostępu usługi Azure Databricks dla jednostek usługi

Jednostka usługi może utworzyć osobiste tokeny dostępu usługi Databricks dla siebie w następujący sposób:

W tej procedurze założono, że używasz uwierzytelniania maszyny do maszyny OAuth (M2M) lub uwierzytelniania jednostki usługi Microsoft Entra ID w celu skonfigurowania interfejsu wiersza polecenia usługi Databricks na potrzeby uwierzytelniania jednostki usługi w celu wygenerowania osobistych tokenów dostępu usługi Azure Databricks dla siebie. Zobacz Uwierzytelnianie maszyny do maszyny (M2M) protokołu OAuth lub uwierzytelnianie jednostki usługi Microsoft Entra ID.

  1. Użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić następujące polecenie, które generuje inny token dostępu dla jednostki usługi.

    Uruchom następujące polecenie:

    databricks tokens create --comment <comment> --lifetime-seconds <lifetime-seconds> -p <profile-name>
    
    • --comment: Zastąp <comment> ciąg znaczącym komentarzem dotyczącym celu tokenu dostępu. Jeśli opcja nie zostanie określona --comment , nie zostanie wygenerowany żaden komentarz.
    • --lifetime-seconds: zastąp <lifetime-seconds> ciąg liczbą sekund, dla których token dostępu jest prawidłowy. Na przykład 1 dzień to 86400 sekund. --lifetime-seconds Jeśli opcja nie zostanie określona, token dostępu zostanie ustawiony na nigdy nie wygasa (niezalecane).
    • --profile-name: zastąp <profile-name> ciąg nazwą profilu konfiguracji usługi Azure Databricks, który zawiera informacje o uwierzytelnianiu jednostki usługi i docelowego obszaru roboczego. -p Jeśli opcja nie zostanie określona, interfejs wiersza polecenia usługi Databricks podejmie próbę znalezienia i użycia profilu konfiguracji o nazwie DEFAULT.
  2. W odpowiedzi skopiuj wartość token_value, która jest tokenem dostępu dla jednostki usługi.

    Pamiętaj, aby zapisać skopiowany token w bezpiecznej lokalizacji. Nie udostępniaj skopiowanego tokenu innym osobom. W przypadku utraty skopiowanego tokenu nie można wygenerować tego samego tokenu. Zamiast tego należy powtórzyć tę procedurę, aby utworzyć nowy token.

    Jeśli nie możesz utworzyć lub użyć tokenów w obszarze roboczym, może to być spowodowane tym, że administrator obszaru roboczego wyłączył tokeny lub nie udzielił Ci uprawnień do tworzenia lub używania tokenów. Zobacz administratora obszaru roboczego lub następujące elementy:

Przeprowadzanie uwierzytelniania osobistego tokenu dostępu w usłudze Azure Databricks

Aby skonfigurować uwierzytelnianie osobistego tokenu dostępu usługi Azure Databricks, należy ustawić następujące skojarzone zmienne środowiskowe, .databrickscfg pola, pola programu Terraform lub Config pola:

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

Aby przeprowadzić uwierzytelnianie osobistego tokenu dostępu usługi Azure Databricks, zintegruj następujące elementy w kodzie na podstawie uczestniczącego narzędzia lub zestawu SDK:

Środowisko

Aby użyć zmiennych środowiskowych dla określonego typu uwierzytelniania usługi Azure Databricks za pomocą narzędzia lub zestawu SDK, zobacz Uwierzytelnianie dostępu do zasobów usługi Azure Databricks lub dokumentacji narzędzia lub zestawu SDK. Zobacz również Zmienne środowiskowe i pola dla ujednoliconego uwierzytelniania klienta oraz domyślne metody ujednoliconego uwierzytelniania klienta.

Ustaw następujące zmienne środowiskowe:

  • DATABRICKS_HOST, ustaw adres URL usługi Azure Databricks na obszar roboczy, na przykład https://adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN, ustaw wartość na ciąg tokenu.

Profil

Utwórz lub zidentyfikuj profil konfiguracji usługi Azure Databricks z następującymi polami w .databrickscfg pliku. Jeśli utworzysz profil, zastąp symbole zastępcze odpowiednimi wartościami. Aby użyć profilu za pomocą narzędzia lub zestawu SDK, zobacz Uwierzytelnianie dostępu do zasobów usługi Azure Databricks lub dokumentacji narzędzia lub zestawu SDK. Zobacz również Zmienne środowiskowe i pola dla ujednoliconego uwierzytelniania klienta oraz domyślne metody ujednoliconego uwierzytelniania klienta.

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

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

Zamiast ręcznie ustawiać powyższe wartości w .databrickscfg pliku, możesz użyć interfejsu wiersza polecenia usługi Databricks, aby ustawić te wartości w następujący sposób:

Uwaga

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

Aby sprawdzić, czy masz DEFAULT już profil konfiguracji i wyświetlić ustawienia tego profilu, jeśli istnieje, użyj interfejsu wiersza polecenia usługi Databricks, 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, aby utworzyć profil konfiguracji usługi Azure Databricks o nazwie DEFAULT korzystający z uwierzytelniania osobistego tokenu dostępu usługi Azure Databricks. Aby to zrobić, uruchom następujące polecenie:

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

  3. W przypadku monitu Osobisty token dostępu wprowadź osobisty token dostępu usługi Azure Databricks dla obszaru roboczego.

CLI

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

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

Aby uzyskać więcej informacji, zobacz Uwierzytelnianie osobistego tokenu dostępu w usłudze Azure Databricks.

Połącz

Uwaga

Uwierzytelnianie osobistego tokenu dostępu usługi Azure Databricks jest obsługiwane w następujących wersjach programu Databricks Connect:

  • W przypadku języka 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 usługi Databricks Connect możesz użyć interfejsu wiersza polecenia usługi Databricks, aby ustawić wartości w .databrickscfg pliku, w przypadku operacji na poziomie obszaru roboczego usługi Azure Databricks zgodnie z opisem w sekcji "Profil" tego artykułu w następujący sposób:

Uwaga

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

Aby sprawdzić, czy masz DEFAULT już profil konfiguracji i wyświetlić ustawienia tego profilu, jeśli istnieje, użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić polecenie databricks auth env --profile DEFAULT.

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

  1. Użyj interfejsu wiersza polecenia usługi Databricks, aby utworzyć profil konfiguracji usługi Azure Databricks o nazwie DEFAULT korzystający z uwierzytelniania osobistego tokenu dostępu usługi Azure Databricks. Aby to zrobić, uruchom następujące polecenie:

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

  3. W przypadku monitu Osobisty token dostępu wprowadź osobisty token dostępu usługi Azure Databricks dla obszaru roboczego.

  4. Na wyświetlonej liście dostępnych klastrów użyj strzałek w górę i w dół, aby wybrać docelowy klaster usługi Azure Databricks w obszarze roboczym, a następnie naciśnij Enter. Możesz również wpisać dowolną część nazwy wyświetlanej klastra, aby filtrować listę dostępnych klastrów.

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

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

Musisz podać określone wartości interfejsu API REST. W poniższym przykładzie ustaw następujące wartości:

  • Zastąp <databricks-instance> ciąg adresem URL obszaru roboczego usługi Databricks. Na przykład dbc-abcd1234-5678.cloud.databricks.com.
  • Zastąp <your-existing-access-token> element istniejącym prawidłowym tokenem pat (ciąg), który ma uprawnienia do tworzenia nowych tokenów.

Podaj wartości tych parametrów:

  • comment: opis nowego tokenu.
  • lifetime_seconds: okres istnienia tokenu w sekundach.
curl -X POST https://<databricks-instance>/api/2.0/token/create \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "comment": "New PAT using DB API",
  "lifetime_seconds": <lifetime-of-pat-in-seconds>
}'

Flaga -d udostępnia ładunek JSON dla żądania.

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

{
  "access_token": "<your-newly-issued-pat>",
  "token_type": "Bearer",
  "expires_in": <the-duration-of-the-new-pat>
}

Podaj nowy token z odpowiedzi w nagłówku Autoryzacja kolejnych wywołań 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)