Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym temacie przedstawiono kroki i szczegółowe informacje dotyczące autoryzowania dostępu do zasobów usługi Azure Databricks podczas automatyzowania poleceń interfejsu wiersza polecenia usługi Azure Databricks lub wywoływania interfejsów API REST usługi Azure Databricks z kodu uruchamianego z procesu nienadzorowanego.
Usługa Azure Databricks używa protokołu OAuth jako preferowanego protokołu autoryzacji i uwierzytelniania użytkownika podczas interakcji z zasobami usługi Azure Databricks poza interfejsem użytkownika. Usługa Azure Databricks udostępnia również ujednolicone narzędzie do uwierzytelniania klienta w celu zautomatyzowania odświeżania tokenów dostępu generowanych w ramach metody uwierzytelniania OAuth. Dotyczy to głównych usług, a także kont użytkowników, ale należy skonfigurować główną usługę z odpowiednimi uprawnieniami i przywilejami dla zasobów Azure Databricks, do których musi uzyskiwać dostęp w ramach operacji.
Więcej informacji ogólnych znajdziesz w sekcji Autoryzowanie dostępu do zasobów usługi Azure Databricks.
Jakie są moje opcje autoryzacji i uwierzytelniania w przypadku korzystania z jednostki usługi Azure Databricks?
W tym temacie autoryzacja odnosi się do protokołu (OAuth) używanego do negocjowania dostępu do określonych zasobów usługi Azure Databricks za pośrednictwem delegowania. Uwierzytelnianie odnosi się do mechanizmu, za pomocą którego poświadczenia są reprezentowane, przesyłane i weryfikowane — w tym przypadku są to tokeny dostępu.
Azure Databricks używa autoryzacji opartej na protokole OAuth 2.0, aby umożliwić dostęp do zasobów konta i obszaru roboczego Azure Databricks za pomocą wiersza poleceń lub kodu w imieniu głównego użytkownika z uprawnieniami do dostępu do tych zasobów. Po skonfigurowaniu jednostki usługi Azure Databricks i zweryfikowaniu jej poświadczeń, po uruchomieniu polecenia CLI lub wywołaniu API REST, token OAuth jest przydzielany uczestniczącemu narzędziu lub zestawowi SDK w celu przeprowadzenia uwierzytelniania na podstawie tokenu w imieniu tej jednostki usługi, począwszy od tego momentu. Token dostępu OAuth ma okres istnienia co godzinę, po którym narzędzie lub zestaw SDK podejmie automatyczną próbę uzyskania nowego tokenu, który jest również ważny przez jedną godzinę.
Usługa Azure Databricks obsługuje dwa sposoby autoryzowania dostępu dla jednostki usługi za pomocą protokołu OAuth:
- Głównie automatycznie, korzystając z ujednoliconej obsługi uwierzytelniania klienta usługi Databricks. Użyj tego uproszczonego podejścia, jeśli używasz określonych zestawów SDK usługi Azure Databricks (takich jak zestaw SDK narzędzia Terraform usługi Databricks) i narzędzi. Obsługiwane narzędzia i zestawy SDK są wymienione w ujednoliconym uwierzytelnianiu klienta Databricks. Takie podejście jest odpowiednie do automatyzacji lub innych scenariuszy nienadzorowanych procesów.
- Ręcznie, bezpośrednio generując parę weryfikatora i wyzwania kodu OAuth oraz kod autoryzacyjny, a następnie używając ich do utworzenia początkowego tokenu OAuth, który zostanie podany w konfiguracji. Użyj tej metody, jeśli nie używasz interfejsu API obsługiwanego przez ujednolicone uwierzytelnianie klienta usługi Databricks. W takim przypadku może być konieczne opracowanie własnego mechanizmu do obsługi odświeżania tokenów dostępu specyficznych dla używanego narzędzia innej firmy lub interfejsu API. Aby uzyskać więcej informacji, zobacz: Ręczne generowanie i używanie tokenów dostępu do uwierzytelniania głównej jednostki usługi OAuth.
Przed rozpoczęciem należy skonfigurować usługę główna Azure Databricks i przypisać jej odpowiednie uprawnienia dostępu do zasobów, które musi używać, gdy automatyczny kod lub polecenia żądają ich użycia.
Wymaganie wstępne: Utwórz główny identyfikator usługi
Administratorzy konta i administratorzy obszaru roboczego mogą tworzyć podmioty usługi. W tym kroku opisano tworzenie obiektu głównego usługi w obszarze roboczym Azure Databricks. Aby uzyskać szczegółowe informacje na temat samej konsoli konta usługi Azure Databricks, zobacz Dodawanie jednostek usługi do konta.
Możesz również utworzyć zarządzany obiekt usługi Microsoft Entra ID i dodać go do Azure Databricks. Aby uzyskać więcej informacji, zobacz jednostki usługi Databricks i Microsoft Entra ID.
- Jako administrator obszaru roboczego zaloguj się do obszaru roboczego usługi Azure Databricks.
- Kliknij swoją nazwę użytkownika na górnym pasku obszaru roboczego usługi Azure Databricks i wybierz pozycję Ustawienia.
- Kliknij kartę Tożsamość i dostęp .
- Obok pozycji Jednostki usługi kliknij pozycję Zarządzaj.
- Kliknij Dodaj główną instancję usługi.
- Kliknij strzałkę listy rozwijanej w polu wyszukiwania, a następnie kliknij pozycję Dodaj nową.
- W obszarze Zarządzanie wybierz Zarządzane przez Databricks.
- Wprowadź nazwę głównej jednostki usługi.
- Kliknij przycisk Dodaj.
Jednostka usługi jest dodawana zarówno do obszaru roboczego, jak i do konta usługi Azure Databricks.
Krok 1. Przypisywanie uprawnień do jednostki usługi
- Kliknij nazwę jednostki usługi, aby otworzyć jej stronę szczegółów.
- 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.
- 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 na jednostce usługi.
Krok 2. Tworzenie tajemnicy OAuth dla obiektu usługi
Przed użyciem protokołu OAuth do autoryzowania dostępu do zasobów usługi Azure Databricks należy najpierw utworzyć wpis tajny OAuth, który może służyć do generowania tokenów dostępu OAuth na potrzeby uwierzytelniania. Obiekt usługi może mieć maksymalnie pięć tajemnic OAuth.
Wpisy tajne OAuth mają maksymalny okres istnienia dwóch lat. Administratorzy konta i administratorzy obszaru roboczego mogą utworzyć tajny klucz OAuth dla podmiotu usługi.
Na stronie szczegółów jednostki usługi kliknij kartę Sekrety.
W obszarze Wpisy tajne protokołu OAuth kliknij pozycję Generuj wpis tajny.
Ustaw czas życia sekretu w dniach. Wpisy tajne OAuth mają maksymalny okres istnienia 730 dni (dwa lata).
Skopiuj wyświetlony wpis tajny i identyfikator klienta, a następnie kliknij przycisk Gotowe.
Tajemnica zostanie ujawniona tylko raz podczas procesu tworzenia. Identyfikator klienta jest taki sam jak identyfikator aplikacji jednostki usługi.
Administratorzy konta mogą również wygenerować tajny klucz OAuth na stronie szczegółów zasadniczego użytkownika usługi w konsoli konta.
Jako administrator konta zaloguj się do konsoli konta.
Na pasku bocznym kliknij pozycję Zarządzanie użytkownikami.
Na karcie Jednostki usługi wybierz swoją jednostkę usługi.
W obszarze Wpisy tajne protokołu OAuth kliknij pozycję Generuj wpis tajny.
Ustaw czas życia sekretu w dniach. Wpisy tajne OAuth mają maksymalny okres istnienia 730 dni (dwa lata).
Skopiuj wyświetlony wpis tajny i identyfikator klienta, a następnie kliknij przycisk Gotowe.
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.
Krok 3. Korzystanie z autoryzacji OAuth
Aby korzystać z autoryzacji OAuth przy użyciu zunifikowanego narzędzia do uwierzytelniania klienta, należy skonfigurować następujące powiązane zmienne środowiskowe, pola .databrickscfg
, pola Terraform lub pola Config
:
- Host usługi Azure Databricks, określony jako
https://accounts.azuredatabricks.net
dla operacji konta lub docelowy adres URL obszaru roboczego, na przykładhttps://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 głównej usługi.
- Tajne hasło głównej usługi.
Aby przeprowadzić uwierzytelnianie podmiotu usługi OAuth, zintegruj następujące elementy w kodzie na podstawie odpowiedniego 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 Autoryzowanie dostępu do zasobów usługi Azure Databricks lub dokumentacji narzędzia lub zestawu SDK. Zobacz także Zmienne środowiskowe i pola dla zunifikowanej autoryzacji klienta oraz Domyślne metody dla zunifikowanej autoryzacji klienta.
W przypadku operacji na poziomie konta ustaw następujące zmienne środowiskowe:
-
DATABRICKS_HOST
, ustawiony na adres URL konsoli konta 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 dla każdego obszaru roboczego w usłudze Azure Databricks, na przykładhttps://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 Autoryzowanie dostępu do zasobów usługi Azure Databricks lub dokumentacji narzędzia lub zestawu SDK. Zobacz także Zmienne środowiskowe i pola dla zunifikowanej autoryzacji klienta oraz Domyślne metody dla zunifikowanej autoryzacji klienta.
W przypadku operacji na kontach ustaw następujące wartości w pliku .databrickscfg
. Adres URL konsoli konta usługi Azure Databricks w tym przypadku 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 przestrzeni roboczej, ustaw następujące wartości w pliku .databrickscfg
. 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 Linii Komend (CLI)
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
.databrickscfg
zgodnie z sekcją "Profil" w niniejszym artykule.
Zmienne środowiskowe zawsze mają pierwszeństwo przed wartościami w .databrickscfg
pliku.
Zobacz również uwierzytelnianie OAuth maszyna-do-maszyny (M2M).
Połącz
Uwaga
Uwierzytelnianie pryncypała usługi OAuth jest obsługiwane w następujących wersjach programu Databricks Connect:
- Dla usługi Databricks Connect w języku Python wymagana jest wersja Databricks Runtime 14.0 lub nowsza.
- 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:
- 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. Ustaw również w swoim profilu zmienną środowiskowącluster_id
na adres URL dla każdego obszaru roboczego, na przykładhttps://adb-1234567890123456.7.azuredatabricks.net
. - Ustaw zmienne środowiskowe dla operacji na poziomie obszaru roboczego usługi Azure Databricks zgodnie z opisem w sekcji "Środowisko" tego artykułu. Ustaw również zmienną
DATABRICKS_CLUSTER_ID
środowiskową na adres URL obszaru roboczego, na przykładhttps://adb-1234567890123456.7.azuredatabricks.net
.
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 Konfiguracja obliczeń dla usługi Databricks Connect.
VS Code
W przypadku rozszerzenia usługi Databricks dla programu Visual Studio Code wykonaj następujące czynności:
- 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. - W okienku Konfiguracja rozszerzenia usługi Databricks dla programu Visual Studio Code kliknij pozycję Konfiguruj usługę Databricks.
- W Palecie Poleceń, dla Hosta usługi Databricks, wprowadź swój adres URL obszaru roboczego, na przykład
https://adb-1234567890123456.7.azuredatabricks.net
, a następnie naciśnijEnter
. - W palecie poleceń wybierz nazwę profilu docelowego na liście przeznaczonej dla adresu URL.
Aby uzyskać więcej informacji, zobacz Konfigurowanie autoryzacji dla rozszerzenia usługi Databricks dla programu Visual Studio Code.
Terraformowanie
W przypadku operacji na poziomie konta dla uwierzytelniania domyślnego:
provider "databricks" {
alias = "accounts"
}
W przypadku konfiguracji bezpośredniej (zastąp symbole zastępcze retrieve
własną implementacją, aby pobrać wartości z konsoli lub innego magazynu konfiguracji, takiego jak HashiCorp Vault. Zobacz też Dostawca magazynu Vault). Adres URL konsoli konta usługi Azure Databricks w tym przypadku 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 symbole zastępcze retrieve
własną implementacją, aby pobrać wartości z konsoli lub innego magazynu konfiguracji, takiego jak HashiCorp Vault. Zobacz też Dostawca magazynu Vault). 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 Terraform dla Databricks, zobacz Authentication (Uwierzytelnianie).
Pyton
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. Adres URL konsoli konta usługi Azure Databricks w tym przypadku 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 zastąp retrieve
miejsca docelowe 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:
- Konfigurowanie klienta usługi Databricks Connect dla języka Python
- Uwierzytelnianie zestawu SDK usługi Databricks dla języka Python przy użyciu konta lub obszaru roboczego usługi Azure Databricks
Uwaga
Rozszerzenie Databricks dla programu Visual Studio Code używa języka Python, ale nie wdrożyło jeszcze uwierzytelniania przez główną aplikację usługi OAuth.
Jawa
W przypadku operacji na poziomie obszaru roboczego przy użyciu domyślnego uwierzytelniania :
import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...
Dla konfiguracji bezpośredniej (zastąp retrieve
symbole zastępcze swoją 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:
- Konfigurowanie klienta usługi Databricks Connect dla języka Scala (klient programu Databricks Connect dla języka Scala używa dołączonego zestawu SDK usługi Databricks dla języka Java na potrzeby uwierzytelniania)
- Uwierzytelnianie zestawu SDK usługi Databricks dla języka Java przy użyciu konta lub obszaru roboczego usługi Azure Databricks
Idź
W przypadku operacji na poziomie konta przy użyciu domyślnego uwierzytelniania :
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...
Dla konfiguracji bezpośredniej (zastąp retrieve
symbole zastępcze swoją własną implementacją w celu pobrania wartości z konsoli programu lub innego magazynu konfiguracji, takiego jak Azure KeyVault). Adres URL konsoli konta usługi Azure Databricks w tym przypadku 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 przy użyciu domyślnego uwierzytelniania :
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...
Dla konfiguracji bezpośredniej (zastąp retrieve
symbole zastępcze swoją 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ęcznie generuj tokeny dostępu i używaj ich do uwierzytelniania głównej jednostki usługi OAuth
Narzędzia i zestawy SDK usługi Azure Databricks, które implementują ujednolicony standard uwierzytelniania klienta Databricks, automatycznie generują, odświeżają i używają tokenów dostępu OAuth usługi Azure Databricks w Twoim imieniu w razie potrzeby dla uwierzytelniania jednostki usługi OAuth.
Usługa Databricks zaleca używanie ujednoliconego uwierzytelniania klienta, jednak jeśli musisz ręcznie wygenerować, odświeżyć lub użyć tokenów dostępu OAuth usługi Azure Databricks, postępuj zgodnie z instrukcjami w tej sekcji.
Użyj identyfikatora klienta jednostki usługi i tajnego klucza OAuth, aby zażądać tokenu dostępu OAuth w celu uwierzytelniania zarówno w interfejsach API REST na poziomie konta, jak i w interfejsach API REST na poziomie obszaru roboczego. Token dostępu wygaśnie w ciągu jednej godziny. Po wygaśnięciu należy zażądać nowego tokenu dostępu OAuth. 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 ma dostęp, ręcznie wygeneruj token dostępu na poziomie konta.
- Aby wywołać interfejsy API REST tylko w jednym z obszarów roboczych, do których jednostka usługi ma dostęp, ręcznie wygeneruj 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 utworzony na poziomie konta może być używany w ramach interfejsów API REST usługi Databricks na koncie oraz w dowolnym obszarze roboczym, do którego jednostka usługi ma dostęp.
Jako administrator konta zaloguj się do konsoli konta.
Kliknij strzałkę w dół obok swojej nazwy użytkownika w prawym górnym rogu.
Skopiuj identyfikator konta.
Skonstruuj adres URL punktu końcowego tokenu, zastępując
<my-account-id>
w poniższym adresie URL skopiowanym identyfikatorem konta.https://accounts.azuredatabricks.net/oidc/accounts/<my-account-id>/v1/token
Użyj klienta, takiego jak
curl
, aby zażądać tokenu dostępu OAuth, korzystając z adresu URL punktu końcowego tokenu, identyfikatora klienta jednostki usługi (znanego również jako identyfikator aplikacji), oraz sekretu OAuth jednostki usługi, który utworzyłeś. Zakresall-apis
żąda tokenu dostępu OAuth, 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 jednostce usługi.- Zastąp element
<token-endpoint-URL>
poprzednim adresem URL punktu końcowego tokenu. - Zastąp
<client-id>
element identyfikatorem klienta jednostki usługi, który jest również nazywany identyfikatorem aplikacji. - Zastąp element
<client-secret>
tajnym kluczem OAuth principal serwisu, który został utworzony.
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…", "token_type": "Bearer", "expires_in": 3600 }
Skopiuj element
access_token
z odpowiedzi.- Zastąp element
Ręczne generowanie tokenu dostępu na poziomie obszaru roboczego
Token dostępu OAuth utworzony na poziomie obszaru roboczego może uzyskiwać dostęp tylko do interfejsów API REST w tym obszarze roboczym, nawet jeśli jednostka usługi jest administratorem konta lub jest członkiem innych obszarów roboczych.
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
Użyj klienta, takiego jak
curl
, aby zażądać tokenu dostępu OAuth, korzystając z adresu URL punktu końcowego tokenu, identyfikatora klienta jednostki usługi (znanego również jako identyfikator aplikacji), oraz sekretu OAuth jednostki usługi, który utworzyłeś. Zakresall-apis
żąda tokenu dostępu OAuth, który może służyć do uzyskiwania dostępu do wszystkich interfejsów API REST usługi Databricks, do których jednostka usługi uzyskała dostęp w obszarze roboczym, z którego żądasz tokenu.- Zastąp element
<token-endpoint-URL>
poprzednim adresem URL punktu końcowego tokenu. - Zastąp
<client-id>
element identyfikatorem klienta jednostki usługi, który jest również nazywany identyfikatorem aplikacji. - Zastąp element
<client-secret>
tajnym kluczem OAuth principal serwisu, który został utworzony.
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…", "token_type": "Bearer", "expires_in": 3600 }
Skopiuj element
access_token
z odpowiedzi.- Zastąp element
Wywołaj interfejs API REST usługi Databricks
Można użyć tokenu dostępu OAuth do uwierzytelniania się w Azure Databricks API REST na poziomie konta oraz API REST na poziomie obszaru roboczego. Główna jednostka usługi musi mieć uprawnienia administratora konta, aby wywoływać interfejsy API REST na poziomie konta.
Uwzględnij token dostępu w nagłówku autoryzacji, korzystając z uwierzytelniania Bearer
. Możesz użyć tego podejścia z 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 element
<oauth-access-token>
tokenem dostępu OAuth głównej instancji usługi, który skopiowałeś w poprzednim kroku. - 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 element
<oauth-access-token>
tokenem dostępu OAuth głównej instancji usługi, który skopiowałeś w poprzednim kroku. - Zamień
<workspace-URL>
adresem URL podstawowego obszaru roboczego, który jest w formie podobnej dodbc-a1b2345c-d6e7.cloud.databricks.com
.
export OAUTH_TOKEN=<oauth-access-token>
curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
'https://<workspace-URL>/api/2.0/clusters/list'
Dodatkowe zasoby
- Zasady serwisowe
- Omówienie modelu tożsamości usługi Databricks
- Dodatkowe informacje na temat uwierzytelniania i kontroli dostępu