Udostępnij za pośrednictwem


Używanie jednostki usługi do uwierzytelniania w usłudze Azure Databricks

W tym artykule wyjaśniono, jak utworzyć jednostkę usługi Azure Databricks i użyć jej lub jednostki usługi zarządzanej microsoft Entra ID (dawniej Azure Active Directory) w celu uwierzytelnienia w jednostce docelowej.

Uwaga

Aby zarządzać poświadczeniami protokołu OAuth usługi Azure Databricks dla jednostek usługi, musisz być administratorem konta usługi Azure Databricks.

Krok 1. Tworzenie jednostki usługi Microsoft Entra ID na koncie platformy Azure

Wykonaj ten krok, jeśli chcesz połączyć jednostkę usługi Microsoft Entra ID z kontem, obszarem roboczym lub obydwoma kontami usługi Azure Databricks. W przeciwnym razie przejdź do kroku 2.

  1. Zaloguj się w witrynie Azure Portal.

    Uwaga

    Portal do użycia różni się w zależności od tego, czy aplikacja Microsoft Entra ID (dawniej Azure Active Directory) działa w chmurze publicznej platformy Azure, czy w krajowej lub suwerennej chmurze. Aby uzyskać więcej informacji, zobacz Chmury krajowe.

  2. Jeśli masz dostęp do wielu dzierżaw, subskrypcji lub katalogów, kliknij ikonę Katalogi i subskrypcje (katalog z filtrem) w górnym menu, aby przełączyć się do katalogu, w którym chcesz aprowizować jednostkę usługi.

  3. W obszarze Wyszukaj zasoby, usługi i dokumenty wyszukaj i wybierz pozycję Microsoft Entra ID.

  4. Kliknij pozycję + Dodaj i wybierz pozycję Rejestracja aplikacji.

  5. W polu Nazwa wprowadź nazwę aplikacji.

  6. W sekcji Obsługiwane typy kont wybierz pozycję Konta w tym katalogu organizacyjnym (tylko jedna dzierżawa).

  7. Kliknij pozycję Zarejestruj.

  8. Na stronie Przegląd aplikacji w sekcji Podstawy skopiuj następujące wartości:

    • Identyfikator aplikacji (klienta)
    • Identyfikator katalogu (dzierżawy)

    Omówienie zarejestrowanej aplikacji platformy Azure

  9. Aby wygenerować klucz tajny klienta, w obszarze Zarządzanie kliknij pozycję Certyfikaty i wpisy tajne.

    Uwaga

    Ten klucz tajny klienta służy do generowania tokenów identyfikatora entra firmy Microsoft na potrzeby uwierzytelniania jednostek usługi Microsoft Entra ID za pomocą usługi Azure Databricks. Aby określić, czy narzędzie usługi Azure Databricks lub zestaw SDK mogą używać tokenów identyfikatora Entra firmy Microsoft, zapoznaj się z dokumentacją narzędzia lub zestawu SDK.

  10. Na karcie Wpisy tajne klienta kliknij pozycję Nowy klucz tajny klienta.

    Nowy wpis tajny klienta

  11. W okienku Dodawanie wpisu tajnego klienta w polu Opis wprowadź opis wpisu tajnego klienta.

  12. W obszarze Wygasa wybierz okres wygaśnięcia wpisu tajnego klienta, a następnie kliknij przycisk Dodaj.

  13. Skopiuj i zapisz wartość wpisu tajnego klienta w bezpiecznym miejscu, ponieważ ten klucz tajny klienta jest hasłem dla aplikacji.

Krok 2. Dodawanie jednostki usługi do konta usługi Azure Databricks

Ten krok działa tylko wtedy, gdy docelowy obszar roboczy usługi Azure Databricks jest włączony dla federacji tożsamości. Jeśli obszar roboczy nie jest włączony dla federacji tożsamości, przejdź do kroku 3.

  1. W obszarze roboczym usługi Azure Databricks kliknij swoją nazwę użytkownika na górnym pasku i kliknij pozycję Zarządzaj kontem.

    Możesz też przejść bezpośrednio do konsoli konta usługi Azure Databricks pod adresem https://accounts.azuredatabricks.net.

  2. Zaloguj się do konta usługi Azure Databricks, jeśli zostanie wyświetlony monit.

  3. Na pasku bocznym kliknij pozycję Zarządzanie użytkownikami.

  4. Kliknij kartę Jednostki usługi.

  5. Kliknij pozycję Dodaj jednostkę usługi.

  6. W obszarze Zarządzanie wybierz pozycję Zarządzane przez usługę Databricks lub Zarządzany identyfikator entra firmy Microsoft.

  7. Jeśli wybrano pozycję Zarządzany identyfikator entra firmy Microsoft, w obszarze Identyfikator aplikacji Entra firmy Microsoft wklej wartość identyfikatora aplikacji (klienta) z kroku 1.

  8. Wprowadź nazwę jednostki usługi.

  9. Kliknij przycisk Dodaj.

  10. (Opcjonalnie) Przypisz uprawnienia na poziomie konta do jednostki usługi:

    1. Na karcie Jednostki usługi kliknij nazwę jednostki usługi.
    2. Na karcie Role przełącz się, aby włączyć lub wyłączyć każdą rolę docelową, którą ma mieć ta jednostka usługi.
    3. Na karcie Uprawnienia przyznaj dostęp do wszystkich użytkowników usługi Azure Databricks, jednostek usługi i ról grupy kont, którymi chcesz zarządzać i używać tej jednostki usługi. Zobacz Zarządzanie rolami w jednostce usługi.

Krok 3. Dodawanie jednostki usługi do obszaru roboczego usługi Azure Databricks

Jeśli obszar roboczy jest włączony dla federacji tożsamości:

  1. W obszarze roboczym usługi Azure Databricks kliknij swoją nazwę użytkownika na górnym pasku i kliknij pozycję Ustawienia.
  2. Kliknij kartę Tożsamość i dostęp .
  3. Obok pozycji Jednostki usługi kliknij pozycję Zarządzaj.
  4. Kliknij pozycję Dodaj jednostkę usługi.
  5. Wybierz jednostkę usługi z kroku 2, a następnie kliknij przycisk Dodaj.

Przejdź do kroku 4.

Jeśli obszar roboczy nie jest włączony dla federacji tożsamości:

  1. W obszarze roboczym usługi Azure Databricks kliknij swoją nazwę użytkownika na górnym pasku i kliknij pozycję Ustawienia.
  2. Kliknij kartę Tożsamość i dostęp .
  3. Obok pozycji Jednostki usługi kliknij pozycję Zarządzaj.
  4. Kliknij pozycję Dodaj jednostkę usługi.
  5. Kliknij pozycję Dodaj nowy.
  6. W obszarze Zarządzanie wybierz pozycję Zarządzane przez usługę Databricks lub Zarządzany identyfikator entra firmy Microsoft.
  7. Jeśli wybrano pozycję Zarządzany identyfikator entra firmy Microsoft, w obszarze Identyfikator aplikacji Entra firmy Microsoft wklej wartość identyfikatora aplikacji (klienta) z kroku 1.
  8. Wprowadź nazwę wyświetlaną nowej jednostki usługi i kliknij przycisk Dodaj.

Krok 4. Przypisywanie uprawnień na poziomie obszaru roboczego do jednostki usługi

  1. Jeśli konsola administracyjna obszaru roboczego nie jest jeszcze otwarta, kliknij swoją nazwę użytkownika na górnym pasku i kliknij pozycję Ustawienia.
  2. Kliknij kartę Tożsamość i dostęp .
  3. Obok pozycji Jednostki usługi kliknij pozycję Zarządzaj.
  4. Kliknij nazwę jednostki usługi, aby otworzyć stronę ustawień.
  5. Na karcie Konfiguracje zaznacz pole wyboru obok każdego uprawnienia, które ma mieć jednostka usługi dla tego obszaru roboczego, a następnie kliknij przycisk Aktualizuj.
  6. Na karcie Uprawnienia przyznaj dostęp wszystkim użytkownikom usługi Azure Databricks, jednostkom usługi i grupom, którymi chcesz zarządzać i używać tej jednostki usługi. Zobacz Zarządzanie rolami w jednostce usługi.

Krok 5. Tworzenie wpisu tajnego OAuth usługi Azure Databricks dla jednostki usługi

Przed użyciem protokołu OAuth do uwierzytelniania w usłudze Azure Databricks należy najpierw utworzyć wpis tajny OAuth, który może służyć do generowania tokenów dostępu OAuth. Jednostka usługi może mieć maksymalnie pięć wpisów tajnych protokołu OAuth.

Aby utworzyć wpis tajny OAuth dla jednostki usługi z poziomu konsoli konta:

  1. Zaloguj się do konsoli konta usługi Azure Databricks pod adresem https://accounts.azuredatabricks.net.
  2. Zaloguj się do konta usługi Azure Databricks, jeśli zostanie wyświetlony monit.
  3. Na pasku bocznym kliknij pozycję Zarządzanie użytkownikami.
  4. Kliknij kartę Jednostki usługi.
  5. Kliknij nazwę jednostki usługi.
  6. W sekcji Wpisy tajne OAuth karty Informacje główne kliknij pozycję Generuj wpis tajny.
  7. W oknie dialogowym Generowanie wpisu tajnego skopiuj i zapisz wartość Wpisu tajnego w bezpiecznym miejscu, ponieważ ten wpis tajny OAuth jest hasłem dla jednostki usługi.
  8. Kliknij Gotowe.

Aby utworzyć wpis tajny OAuth dla jednostki usługi z obszaru roboczego:

  1. Jako administrator obszaru roboczego kliknij swoją nazwę użytkownika na górnym pasku i kliknij pozycję Ustawienia.

  2. Kliknij kartę Tożsamość i dostęp .

  3. Obok pozycji Jednostki usługi kliknij pozycję Zarządzaj.

  4. Kliknij nazwę jednostki usługi, aby otworzyć stronę ustawień.

  5. Kliknij kartę Wpisy tajne .

  6. W obszarze Wpisy tajne protokołu OAuth kliknij pozycję Generuj wpis tajny.

  7. Skopiuj wyświetlony wpis tajny i identyfikator klienta, a następnie kliknij przycisk Gotowe.

    Wpis tajny zostanie ujawniony tylko raz podczas tworzenia. Identyfikator klienta jest taki sam jak identyfikator aplikacji jednostki usługi.

Uwaga

Aby umożliwić jednostce usługi korzystanie z klastrów lub magazynów SQL, należy przyznać jednostce usługi dostęp do nich. Zobacz Uprawnienia obliczeniowe lub Zarządzanie usługą SQL Warehouse.

Kończenie konfigurowania uwierzytelniania OAuth M2M

Aby zakończyć konfigurowanie uwierzytelniania OAuth M2M, 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 https://accounts.azuredatabricks.net operacje konta lub docelowy adres URL dla obszaru roboczego, na przykład https://adb-1234567890123456.7.azuredatabricks.net w przypadku operacji obszaru roboczego.
  • Identyfikator konta usługi Azure Databricks dla operacji konta usługi Azure Databricks.
  • Identyfikator klienta jednostki usługi.
  • Wpis tajny jednostki usługi.

Aby przeprowadzić uwierzytelnianie OAuth M2M, zintegruj następujące elementy w kodzie na podstawie uczestniczących narzędzi 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 Obsługiwane typy uwierzytelniania za pomocą narzędzia lub zestawu SDK usługi Azure Databricks albo dokumentacji narzędzia lub zestawu SDK. Zobacz również Zmienne środowiskowe i pola dla ujednoliconego uwierzytelniania klienta oraz Domyślna kolejność oceny dla ujednoliconych metod uwierzytelniania i poświadczeń klienta.

W przypadku operacji na poziomie konta ustaw następujące zmienne środowiskowe:

  • DATABRICKS_HOST, ustaw adres URL konsoli konta usługi Azure Databricks, https://accounts.azuredatabricks.net.
  • DATABRICKS_ACCOUNT_ID
  • DATABRICKS_CLIENT_ID
  • DATABRICKS_CLIENT_SECRET

W przypadku operacji na poziomie obszaru roboczego 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_CLIENT_ID
  • DATABRICKS_CLIENT_SECRET

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 z narzędziem lub zestawem SDK, zobacz Obsługiwane typy uwierzytelniania według narzędzia lub zestawu SDK usługi Azure Databricks albo dokumentacji narzędzia lub zestawu SDK. Zobacz również Zmienne środowiskowe i pola dla ujednoliconego uwierzytelniania klienta oraz Domyślna kolejność oceny dla ujednoliconych metod uwierzytelniania i poświadczeń klienta.

W przypadku operacji na poziomie konta ustaw następujące wartości w .databrickscfg pliku. W takim przypadku adres URL konsoli konta usługi Azure Databricks to https://accounts.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host          = <account-console-url>
account_id    = <account-id>
client_id     = <service-principal-client-id>
client_secret = <service-principal-secret>

W przypadku operacji na poziomie obszaru roboczego 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>
client_id     = <service-principal-client-id>
client_secret = <service-principal-secret>

Interfejs wiersza polecenia

W przypadku interfejsu wiersza polecenia usługi Databricks wykonaj jedną z następujących czynności:

  • Ustaw zmienne środowiskowe zgodnie z opisem w sekcji "Środowisko" tego artykułu.
  • Ustaw wartości w pliku zgodnie z opisem w .databrickscfg sekcji "Profil" tego artykułu.

Zmienne środowiskowe zawsze mają pierwszeństwo przed wartościami w .databrickscfg pliku.

Zobacz również uwierzytelnianie maszyny do maszyny OAuth (M2M).

Połącz

Uwaga

Uwierzytelnianie OAuth M2M jest obsługiwane w następujących wersjach programu Databricks Connect:

  • W przypadku języka Python usługa Databricks Connect dla środowiska Databricks Runtime 14.0 lub nowszego.
  • W przypadku języka Scala usługa Databricks Connect dla środowiska Databricks Runtime 13.3 LTS lub nowszego. Zestaw SDK usługi Databricks dla języka Java dołączony do programu Databricks Connect dla środowiska Databricks Runtime 13.3 LTS lub nowszego musi zostać uaktualniony do zestawu SDK usługi Databricks dla języka Java 0.17.0 lub nowszego.

W przypadku usługi Databricks Connect można wykonać jedną z następujących czynności:

Wartości w .databrickscfg pliku zawsze mają pierwszeństwo przed zmiennymi środowiskowymi.

Aby zainicjować klienta usługi Databricks Connect przy użyciu tych zmiennych środowiskowych lub wartości w .databrickscfg pliku, zobacz jedną z następujących opcji:

VS Code

W przypadku rozszerzenia usługi Databricks dla programu Visual Studio Code wykonaj następujące czynności:

  1. Ustaw wartości w .databrickscfg pliku dla operacji na poziomie obszaru roboczego usługi Azure Databricks zgodnie z opisem w sekcji "Profil" tego artykułu.
  2. W okienku Konfiguracja rozszerzenia usługi Databricks dla programu Visual Studio Code kliknij pozycję Konfiguruj usługę Databricks.
  3. W palecie poleceń w polu Host usługi Databricks wprowadź adres URL obszaru roboczego, na przykład https://adb-1234567890123456.7.azuredatabricks.net, a następnie naciśnij Enter.
  4. W palecie poleceń wybierz nazwę profilu docelowego na liście adresu URL.

Aby uzyskać więcej informacji, zobacz Konfigurowanie uwierzytelniania dla rozszerzenia usługi Databricks dla programu VS Code.

Terraform

W przypadku operacji na poziomie konta dla uwierzytelniania domyślnego:

provider "databricks" {
  alias = "accounts"
}

W przypadku konfiguracji bezpośredniej (zastąp retrieve symbole zastępcze własną implementacją, aby pobrać wartości z konsoli lub innego magazynu konfiguracji, takiego jak HashiCorp Vault. Zobacz też Dostawca magazynu). W takim przypadku adres URL konsoli konta usługi Azure Databricks to https://accounts.azuredatabricks.net:

provider "databricks" {
  alias         = "accounts"
  host          = <retrieve-account-console-url>
  account_id    = <retrieve-account-id>
  client_id     = <retrieve-client-id>
  client_secret = <retrieve-client-secret>
}

W przypadku operacji na poziomie obszaru roboczego dla uwierzytelniania domyślnego:

provider "databricks" {
  alias = "workspace"
}

W przypadku konfiguracji bezpośredniej (zastąp retrieve symbole zastępcze własną implementacją, aby pobrać wartości z konsoli lub innego magazynu konfiguracji, takiego jak HashiCorp Vault. Zobacz też Dostawca magazynu). W takim przypadku hostem jest adres URL usługi Azure Databricks dla obszaru roboczego, na przykład https://adb-1234567890123456.7.azuredatabricks.net:

provider "databricks" {
  alias         = "workspace"
  host          = <retrieve-workspace-url>
  client_id     = <retrieve-client-id>
  client_secret = <retrieve-client-secret>
}

Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą dostawcy narzędzia Terraform usługi Databricks, zobacz Authentication (Uwierzytelnianie).

Python

W przypadku operacji na poziomie konta użyj następujących elementów do uwierzytelniania domyślnego:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

W przypadku konfiguracji bezpośredniej użyj następującej metody, zastępując retrieve symbole zastępcze własną implementacją, aby pobrać wartości z konsoli lub innego magazynu konfiguracji, takiego jak Azure KeyVault. W takim przypadku adres URL konsoli konta usługi Azure Databricks to https://accounts.azuredatabricks.net:

from databricks.sdk import AccountClient

a = AccountClient(
  host          = retrieve_account_console_url(),
  account_id    = retrieve_account_id(),
  client_id     = retrieve_client_id(),
  client_secret = retrieve_client_secret()
)
# ...

W przypadku operacji na poziomie obszaru roboczego, w szczególności uwierzytelniania domyślnego:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

W przypadku konfiguracji bezpośredniej retrieve zastąp symbole zastępcze własną implementacją, aby pobrać wartości z konsoli lub innego magazynu konfiguracji, takiego jak Azure KeyVault. W takim przypadku hostem jest adres URL usługi Azure Databricks dla obszaru roboczego, na przykład https://adb-1234567890123456.7.azuredatabricks.net:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(
  host          = retrieve_workspace_url(),
  client_id     = retrieve_client_id(),
  client_secret = retrieve_client_secret()
)
# ...

Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą narzędzi i zestawów SDK usługi Databricks korzystających z języka Python i implementowania ujednoliconego uwierzytelniania klienta usługi Databricks, zobacz:

Uwaga

Rozszerzenie usługi Databricks dla programu Visual Studio Code używa języka Python, ale nie zaimplementowało jeszcze uwierzytelniania OAuth M2M.

Java

W przypadku operacji na poziomie obszaru roboczego dla uwierzytelniania domyślnego:

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

W przypadku konfiguracji bezpośredniej (zastąp retrieve symbole zastępcze własną implementacją w celu pobrania wartości z konsoli programu lub innego magazynu konfiguracji, takiego jak Azure KeyVault). W takim przypadku hostem jest adres URL usługi Azure Databricks dla obszaru roboczego, na przykład https://adb-1234567890123456.7.azuredatabricks.net:

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveWorkspaceUrl())
  .setClientId(retrieveClientId())
  .setClientSecret(retrieveClientSecret());
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą narzędzi usługi Databricks i zestawów SDK korzystających z języka Java i implementowania ujednoliconego uwierzytelniania klienta usługi Databricks, zobacz:

Go

W przypadku operacji na poziomie konta dla uwierzytelniania domyślnego:

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

W przypadku konfiguracji bezpośredniej (zastąp retrieve symbole zastępcze własną implementacją w celu pobrania wartości z konsoli programu lub innego magazynu konfiguracji, takiego jak Azure KeyVault). W takim przypadku adres URL konsoli konta usługi Azure Databricks to https://accounts.azuredatabricks.net:

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:         retrieveAccountConsoleUrl(),
  AccountId:    retrieveAccountId(),
  ClientId:     retrieveClientId(),
  ClientSecret: retrieveClientSecret(),
}))
// ...

W przypadku operacji na poziomie obszaru roboczego dla uwierzytelniania domyślnego:

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

W przypadku konfiguracji bezpośredniej (zastąp retrieve symbole zastępcze własną implementacją w celu pobrania wartości z konsoli programu lub innego magazynu konfiguracji, takiego jak Azure KeyVault). W takim przypadku hostem jest adres URL usługi Azure Databricks dla obszaru roboczego, na przykład https://adb-1234567890123456.7.azuredatabricks.net:

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:         retrieveWorkspaceUrl(),
  ClientId:     retrieveClientId(),
  ClientSecret: retrieveClientSecret(),
}))
// ...

Aby uzyskać więcej informacji na temat uwierzytelniania za pomocą narzędzi i zestawów SDK usługi Databricks korzystających z języka Go i implementujących ujednolicone uwierzytelnianie klienta usługi Databricks, zobacz Uwierzytelnianie zestawu SDK usługi Databricks dla języka Go przy użyciu konta lub obszaru roboczego usługi Azure Databricks.

Ręczne generowanie i używanie tokenów dostępu do uwierzytelniania OAuth M2M

Narzędzia i zestawy SDK usługi Azure Databricks, które implementują ujednolicony standard uwierzytelniania klienta usługi Databricks, automatycznie będą generować, odświeżać i używać tokenów dostępu OAuth usługi Azure Databricks w Twoim imieniu zgodnie z potrzebami w przypadku uwierzytelniania OAuth M2M.

Jeśli musisz ręcznie wygenerować, odświeżyć lub użyć tokenów dostępu OAuth usługi Azure Databricks na potrzeby uwierzytelniania OAuth M2M, postępuj zgodnie z instrukcjami w tej sekcji.

Krok 1. Tworzenie jednostki usługi i wpisu tajnego OAuth

Jeśli nie masz jeszcze jednostki usługi zarządzanej usługi Azure Databricks lub jednostki usługi zarządzanej Microsoft Entra ID i odpowiadającej jej wpisu tajnego OAuth usługi Azure Databricks, utwórz je, wykonując kroki 1–5 na początku tego artykułu.

Krok 2. Ręczne generowanie tokenu dostępu

Użyj identyfikatora klienta zarządzanej jednostki usługi lub jednostki usługi zarządzanej microsoft Databricks oraz klucza tajnego protokołu OAuth usługi Azure Databricks, aby zażądać tokenu dostępu OAuth usługi Azure Databricks w celu uwierzytelnienia w obu interfejsach API REST na poziomie konta i interfejsach API REST na poziomie obszaru roboczego. Token wygaśnie za jedną godzinę. Po wygaśnięciu należy zażądać nowego tokenu dostępu OAuth usługi Azure Databricks. Zakres tokenu dostępu OAuth zależy od poziomu tworzonego tokenu. Token można utworzyć na poziomie konta lub na poziomie obszaru roboczego w następujący sposób:

  • Aby wywołać interfejsy API REST na poziomie konta i obszaru roboczego w ramach kont i obszarów roboczych, do których jednostka usługi zarządzanej usługi Azure Databricks lub jednostka usługi zarządzanej microsoft Entra ID ma dostęp, ręcznie wygeneruj token dostępu na poziomie konta.
    • Aby wywołać interfejsy API REST tylko w jednym obszarze roboczym, do którego ma dostęp jednostka usługi zarządzanej usługi Azure Databricks lub jednostka usługi zarządzanej Microsoft Entra ID, możesz ręcznie wygenerować token dostępu na poziomie obszaru roboczego tylko dla tego obszaru roboczego.

Ręczne generowanie tokenu dostępu na poziomie konta

Token dostępu OAuth usługi Azure Databricks utworzony na podstawie poziomu konta może być używany z interfejsami API REST usługi Databricks na koncie i we wszystkich obszarach roboczych przypisano jednostkę usługi zarządzanej usługi Azure Databricks lub jednostkę usługi zarządzanej microsoft Entra ID.

  1. Jako administrator konta zaloguj się do konsoli konta.

  2. Kliknij strzałkę w dół obok swojej nazwy użytkownika w prawym górnym rogu.

  3. Skopiuj identyfikator konta.

  4. Skonstruuj adres URL punktu końcowego tokenu, zastępując <my-account-id> ciąg w poniższym adresie URL skopiowanymi identyfikatorami konta.

    https://accounts.azuredatabricks.net/oidc/accounts/<my-account-id>/v1/token
    
  5. Użyj klienta, takiego jak curl , aby zażądać tokenu dostępu OAuth usługi Azure Databricks z adresem URL punktu końcowego tokenu, identyfikatorem klienta (nazywanym również identyfikatorem aplikacji) jednostki usługi zarządzanej usługi Azure Databricks lub jednostki usługi zarządzanej microsoft Entra ID oraz wpisem tajnym OAuth usługi Azure Databricks utworzonym dla jednostki usługi zarządzanej usługi Azure Databricks lub jednostki usługi zarządzanej microsoft Entra ID. Zakres all-apis żąda tokenu dostępu OAuth usługi Azure Databricks, który może służyć do uzyskiwania dostępu do wszystkich interfejsów API REST usługi Databricks, do których udzielono dostępu jednostki usługi zarządzanej usługi Azure Databricks lub jednostki usługi zarządzanej Microsoft Entra ID.

    • Zastąp element <token-endpoint-URL> adresem URL punktu końcowego tokenu z powyższego.
    • Zastąp ciąg <client-id> identyfikatorem klienta jednostki usługi zarządzanej usługi azure Databricks lub identyfikatorem klienta jednostki usługi zarządzanej firmy Microsoft Entra, czyli identyfikatorem aplikacji.
    • Zastąp element <client-secret> wpisem tajnym OAuth usługi Azure Databricks utworzonym dla jednostki usługi zarządzanej usługi Azure Databricks lub jednostki usługi zarządzanej microsoft Entra ID.
    export CLIENT_ID=<client-id>
    export CLIENT_SECRET=<client-secret>
    
    curl --request POST \
    --url <token-endpoint-URL> \
    --user "$CLIENT_ID:$CLIENT_SECRET" \
    --data 'grant_type=client_credentials&scope=all-apis'
    

    Spowoduje to wygenerowanie odpowiedzi podobnej do:

    {
      "access_token": "eyJraWQiOiJkYTA4ZTVjZ…",
      "scope": "all-apis",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    Skopiuj element access_token z odpowiedzi.

    Token dostępu OAuth usługi Azure Databricks wygaśnie w ciągu jednej godziny. Po wygaśnięciu należy ręcznie wygenerować nowy token dostępu OAuth usługi Azure Databricks.

  6. Przejdź do kroku 3. Wywoływanie interfejsu API REST usługi Databricks.

Ręczne generowanie tokenu dostępu na poziomie obszaru roboczego

Token dostępu OAuth usługi Azure Databricks utworzony na podstawie poziomu obszaru roboczego może uzyskiwać dostęp tylko do interfejsów API REST w tym obszarze roboczym, nawet jeśli jednostka usługi zarządzanej usługi Azure Databricks lub jednostka usługi zarządzanej Microsoft Entra ID jest administratorem konta lub członkiem innych obszarów roboczych.

  1. Skonstruuj adres URL punktu końcowego tokenu, zastępując ciąg https://<databricks-instance> adresem URL obszaru roboczego wdrożenia usługi Azure Databricks:

    https://<databricks-instance>/oidc/v1/token
    
  2. Użyj klienta, takiego jak curl , aby zażądać tokenu dostępu OAuth usługi Azure Databricks z adresem URL punktu końcowego tokenu, identyfikatorem klienta (znanym również jako identyfikator aplikacji) jednostki usługi zarządzanej usługi Azure Databricks lub jednostki usługi zarządzanej microsoft Entra ID oraz wpisem tajnym OAuth usługi Azure Databricks utworzonym dla jednostki usługi zarządzanej usługi Azure Databricks lub jednostki usługi zarządzanej microsoft Entra ID. Zakres all-apis żąda tokenu dostępu OAuth usługi Azure Databricks, który może służyć do uzyskiwania dostępu do wszystkich interfejsów API REST usługi Databricks, z których jednostka usługi zarządzanej usługi Azure Databricks lub jednostka usługi zarządzanej Microsoft Entra ID została udzielona w obszarze roboczym, z którego żądasz tokenu.

    • Zastąp element <token-endpoint-URL> adresem URL punktu końcowego tokenu z powyższego.

    • Zastąp ciąg <client-id> identyfikatorem klienta jednostki usługi zarządzanej usługi azure Databricks lub identyfikatorem klienta jednostki usługi zarządzanej firmy Microsoft Entra, czyli identyfikatorem aplikacji.

    • Zastąp element <client-secret> wpisem tajnym OAuth usługi Azure Databricks utworzonym dla jednostki usługi zarządzanej usługi Azure Databricks lub jednostki usługi zarządzanej microsoft Entra ID.

      export CLIENT_ID=<client-id>
      export CLIENT_SECRET=<client-secret>
      
      curl --request POST \
      --url <token-endpoint-URL> \
      --user "$CLIENT_ID:$CLIENT_SECRET" \
      --data 'grant_type=client_credentials&scope=all-apis'
      

      Spowoduje to wygenerowanie odpowiedzi podobnej do:

      {
        "access_token": "eyJraWQiOiJkYTA4ZTVjZ…",
        "scope": "all-apis",
        "token_type": "Bearer",
        "expires_in": 3600
      }
      

      Skopiuj element access_token z odpowiedzi.

Krok 3. Wywoływanie interfejsu API REST usługi Databricks

Teraz możesz użyć tokenu dostępu OAuth usługi Azure Databricks do uwierzytelniania w interfejsach API REST na poziomie konta usługi Azure Databricks i interfejsów API REST na poziomie obszaru roboczego. Jednostka usługi zarządzanej usługi Azure Databricks lub jednostka usługi zarządzanej microsoft Entra ID musi być administratorem konta, aby wywoływać interfejsy API REST na poziomie konta.

Token można dołączyć do nagłówka przy użyciu Bearer uwierzytelniania. Możesz użyć tego podejścia z dowolnym klientem curl lub dowolnym klientem, który tworzysz.

Przykładowe żądanie interfejsu API REST na poziomie konta

W tym przykładzie użyto Bearer uwierzytelniania, aby uzyskać listę wszystkich obszarów roboczych skojarzonych z kontem.

  • Zastąp <oauth-access-token> element tokenem dostępu OAuth usługi Azure Databricks dla jednostki usługi zarządzanej usługi Azure Databricks lub jednostki usługi zarządzanej microsoft Entra ID.
  • Zastąp <account-id> ciąg swoim identyfikatorem konta.
export OAUTH_TOKEN=<oauth-access-token>

curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
'https://accounts.azuredatabricks.net/api/2.0/accounts/<account-id>/workspaces'

Przykładowe żądanie interfejsu API REST na poziomie obszaru roboczego

W tym przykładzie użyto Bearer uwierzytelniania, aby wyświetlić listę wszystkich dostępnych klastrów w określonym obszarze roboczym.

  • Zastąp <oauth-access-token> element tokenem dostępu OAuth usługi Azure Databricks dla jednostki usługi zarządzanej usługi Azure Databricks lub jednostki usługi zarządzanej microsoft Entra ID.

  • Zastąp <workspace-URL> ciąg adresem URL podstawowego obszaru roboczego, który ma postać podobną do adb-1111111111111111.1.azuredatabricks.net.

    export OAUTH_TOKEN=<oauth-access-token>
    
    curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
    'https://<workspace-URL>/api/2.0/clusters/list'
    

Dodatkowe zasoby