Udostępnij za pośrednictwem


Uwierzytelnianie interfejsu wiersza polecenia usługi Databricks

Uwaga

Te informacje dotyczą interfejsu wiersza polecenia usługi Databricks w wersji 0.205 lub nowszej. Interfejs wiersza polecenia usługi Databricks jest w publicznej wersji zapoznawczej.

Korzystanie z interfejsu wiersza polecenia usługi Databricks podlega licencjom usługi Databricks i powiadomieniom o ochronie prywatności usługi Databricks, w tym wszelkim przepisom dotyczącym danych użycia.

W tym artykule opisano sposób konfigurowania uwierzytelniania między interfejsem wiersza polecenia usługi Databricks a kontami i obszarami roboczymi usługi Azure Databricks. Zobacz Co to jest interfejs wiersza polecenia usługi Databricks?.

W tym artykule założono, że masz już zainstalowany interfejs wiersza polecenia usługi Databricks. Zobacz Instalowanie lub aktualizowanie interfejsu wiersza polecenia usługi Databricks.

Przed uruchomieniem poleceń interfejsu wiersza polecenia usługi Databricks należy skonfigurować uwierzytelnianie między interfejsem wiersza polecenia usługi Databricks a kontami, obszarami roboczymi lub kombinacją tych poleceń, w zależności od typów poleceń interfejsu wiersza polecenia, które chcesz uruchomić.

Aby uruchamiać polecenia automatyzacji usługi Azure Databricks na koncie lub obszarze roboczym usługi Azure Databricks, należy uwierzytelnić interfejs wiersza polecenia usługi Databricks w odpowiednim czasie wykonywania. W zależności od tego, czy chcesz wywołać polecenia na poziomie obszaru roboczego usługi Azure Databricks, polecenia na poziomie konta usługi Azure Databricks, czy oba te polecenia, musisz uwierzytelnić się w obszarze roboczym, koncie usługi Azure Databricks lub obu tych poleceniach. Aby uzyskać listę grup poleceń interfejsu wiersza polecenia na poziomie obszaru roboczego i konta usługi Azure Databricks, uruchom polecenie databricks -h. Aby zapoznać się z listą operacji interfejsu API REST na poziomie obszaru roboczego i na poziomie konta usługi Azure Databricks, które obejmują polecenia interfejsu wiersza polecenia usługi Databricks, zobacz interfejs API REST usługi Databricks.

Aby uzyskać informacje na temat uwierzytelniania usługi Microsoft Entra w usłudze Databricks za pomocą usługi Azure DevOps, zobacz Uwierzytelnianie za pomocą usługi Azure DevOps w usłudze Databricks.

W poniższych sekcjach opisano sposób konfigurowania uwierzytelniania między interfejsem wiersza polecenia usługi Databricks i usługą Azure Databricks:

Uwierzytelnianie osobistego tokenu dostępu w usłudze Azure Databricks

Uwierzytelnianie osobistego tokenu dostępu usługi Azure Databricks używa osobistego tokenu dostępu usługi Azure Databricks do uwierzytelniania docelowej jednostki usługi Azure Databricks, takiej jak konto użytkownika usługi Azure Databricks. Zobacz Uwierzytelnianie osobistego tokenu dostępu w usłudze Azure Databricks.

Uwaga

Nie można używać uwierzytelniania osobistego tokenu dostępu usługi Azure Databricks do uwierzytelniania przy użyciu konta usługi Azure Databricks, ponieważ polecenia na poziomie konta usługi Azure Databricks nie używają osobistych tokenów dostępu usługi Azure Databricks do uwierzytelniania. Aby uwierzytelnić się przy użyciu konta usługi Azure Databricks, rozważ użycie jednego z następujących typów uwierzytelniania:

Aby utworzyć osobisty token dostępu, wykonaj kroki opisane w artykule Osobiste tokeny dostępu usługi Azure Databricks dla użytkowników obszaru roboczego.

Uwaga

Poniższa procedura tworzy profil konfiguracji usługi Azure Databricks o nazwie DEFAULT. Jeśli masz DEFAULT już profil konfiguracji, którego chcesz użyć, pomiń tę procedurę. W przeciwnym razie ta procedura zastępuje istniejący DEFAULT profil konfiguracji. Aby wyświetlić nazwy i hosty wszystkich istniejących profilów konfiguracji, uruchom polecenie databricks auth profiles.

Aby utworzyć profil konfiguracji o nazwie innej niż DEFAULT, dodaj --profile <configuration-profile-name> lub -p <configuration-profile-name> na końcu następującego databricks configure polecenia, zastępując <configuration-profile-name> ciąg nazwą nowego profilu konfiguracji.

Aby skonfigurować i użyć uwierzytelniania osobistego tokenu dostępu usługi Azure Databricks, wykonaj następujące czynności:

  1. Użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić następujące polecenie:

    databricks configure
    
  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.

    Po wprowadzeniu osobistego tokenu dostępu usługi Azure Databricks odpowiedni profil konfiguracji zostanie dodany do pliku .databrickscfg . Jeśli interfejs wiersza polecenia usługi Databricks nie może odnaleźć tego pliku w domyślnej lokalizacji, najpierw utworzy ten plik, a następnie doda ten profil konfiguracji do nowego pliku. Domyślną lokalizacją tego pliku jest folder ~ (domowy użytkownika) w systemie Unix, Linux lub macOS albo folder %USERPROFILE% (domowy użytkownika) w systemie Windows.

  4. Teraz możesz użyć opcji lub -p interfejsu wiersza polecenia --profile usługi Databricks, po której następuje nazwa profilu konfiguracji, w ramach wywołania polecenia interfejsu wiersza polecenia usługi Databricks, na przykład databricks clusters list -p <configuration-profile-name>.

Uwierzytelnianie maszyny do maszyny OAuth (M2M)

Zamiast uwierzytelniania w usłudze Azure Databricks przy użyciu uwierzytelniania osobistego tokenu dostępu w usłudze Azure Databricks, możesz użyć uwierzytelniania OAuth. Protokół OAuth zapewnia tokeny z krótszym czasem wygaśnięcia niż osobiste tokeny dostępu usługi Azure Databricks i oferuje lepsze unieważnienie sesji po stronie serwera i określanie zakresu. Ponieważ tokeny dostępu OAuth wygasają w mniej niż godzinę, zmniejsza to ryzyko związane z przypadkowym sprawdzaniem tokenów w kontroli źródła. Zobacz również Uwierzytelnianie dostępu do usługi Azure Databricks przy użyciu jednostki usługi przy użyciu protokołu OAuth (OAuth M2M).

Aby skonfigurować i użyć uwierzytelniania OAuth M2M, wykonaj następujące czynności:

  1. Wykonaj instrukcje dotyczące konfigurowania uwierzytelniania OAuth M2M. Zobacz Uwierzytelnianie dostępu do usługi Azure Databricks przy użyciu jednostki usługi przy użyciu protokołu OAuth (OAuth M2M)

  2. 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.

    W przypadku poleceń na poziomie konta ustaw następujące wartości w .databrickscfg pliku:

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

    W przypadku poleceń na poziomie obszaru roboczego ustaw następujące wartości w .databrickscfg pliku:

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

    Uwaga

    Domyślna lokalizacja .databrickscfg pliku znajduje się w katalogu głównym użytkownika. ~ Dotyczy to systemów Linux i macOS i %USERPROFILE% Windows.

  3. Użyj opcji lub -p interfejsu wiersza polecenia --profile usługi Databricks, po której następuje nazwa profilu konfiguracji w ramach wywołania polecenia interfejsu wiersza polecenia usługi Databricks, na przykład databricks account groups list -p <configuration-profile-name> lub databricks clusters list -p <configuration-profile-name>.

    Napiwek

    Naciśnij przycisk Tab po --profile lub -p , aby wyświetlić listę istniejących dostępnych profilów konfiguracji do wyboru, zamiast ręcznie wprowadzać nazwę profilu konfiguracji.

Uwierzytelnianie typu użytkownik-komputer (U2M) OAuth

Zamiast uwierzytelniania w usłudze Azure Databricks przy użyciu uwierzytelniania tokenu można użyć uwierzytelniania OAuth. Protokół OAuth zapewnia tokeny z krótszym czasem wygaśnięcia niż osobiste tokeny dostępu usługi Azure Databricks i oferuje lepsze unieważnienie sesji po stronie serwera i określanie zakresu. Ponieważ tokeny dostępu OAuth wygasają w mniej niż godzinę, zmniejsza to ryzyko związane z przypadkowym sprawdzaniem tokenów w kontroli źródła. Zobacz również Uwierzytelnianie dostępu do usługi Azure Databricks przy użyciu konta użytkownika przy użyciu protokołu OAuth (OAuth U2M).

Aby skonfigurować i użyć uwierzytelniania OAuth U2M, wykonaj następujące czynności:

  1. Przed wywołaniem dowolnych poleceń na poziomie konta usługi Azure Databricks należy lokalnie zainicjować zarządzanie tokenami OAuth, uruchamiając następujące polecenie. To polecenie musi być uruchamiane oddzielnie dla każdego konta, dla którego chcesz uruchamiać polecenia. Jeśli nie chcesz wywoływać żadnych operacji na poziomie konta, przejdź do kroku 5.

    W poniższym poleceniu zastąp następujące symbole zastępcze:

    databricks auth login --host <account-console-url> --account-id <account-id>
    
  2. Interfejs wiersza polecenia usługi Databricks monituje o zapisanie adresu URL konsoli konta i identyfikatora konta lokalnie jako profil konfiguracji usługi Azure Databricks. Naciśnij Enter , aby zaakceptować sugerowaną nazwę profilu lub wprowadź nazwę nowego lub istniejącego profilu. Każdy istniejący profil o tej samej nazwie zostanie zastąpiony tym adresem URL konsoli konta i identyfikatorem konta.

    Aby uzyskać listę istniejących profilów, w osobnym terminalu lub wierszu polecenia uruchom polecenie databricks auth profiles. Aby wyświetlić istniejące ustawienia określonego profilu, uruchom polecenie databricks auth env --profile <profile-name>.

  3. W przeglądarce internetowej wykonaj instrukcje na ekranie, aby zalogować się do konta usługi Azure Databricks.

  4. Aby wyświetlić bieżącą wartość tokenu OAuth i zbliżający się znacznik czasu wygaśnięcia, uruchom polecenie databricks auth token --host <account-console-url> --account-id <account-id>.

  5. Przed wywołaniem jakichkolwiek poleceń na poziomie obszaru roboczego usługi Azure Databricks należy lokalnie zainicjować zarządzanie tokenami OAuth, uruchamiając następujące polecenie. To polecenie musi być uruchamiane oddzielnie dla każdego obszaru roboczego, dla którego chcesz uruchamiać polecenia.

    W poniższym poleceniu zastąp ciąg <workspace-url> adresem URL usługi Azure Databricks na obszar roboczy, na przykład https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  6. Interfejs wiersza polecenia usługi Databricks monituje o zapisanie adresu URL obszaru roboczego lokalnie jako profilu konfiguracji usługi Azure Databricks. Naciśnij Enter , aby zaakceptować sugerowaną nazwę profilu lub wprowadź nazwę nowego lub istniejącego profilu. Każdy istniejący profil o tej samej nazwie jest zastępowany tym adresem URL obszaru roboczego.

    Aby uzyskać listę istniejących profilów, w osobnym terminalu lub wierszu polecenia uruchom polecenie databricks auth profiles. Aby wyświetlić istniejące ustawienia określonego profilu, uruchom polecenie databricks auth env --profile <profile-name>.

  7. W przeglądarce internetowej wykonaj instrukcje na ekranie, aby zalogować się do obszaru roboczego usługi Azure Databricks.

  8. Aby wyświetlić bieżącą wartość tokenu OAuth i zbliżający się znacznik czasu wygaśnięcia, uruchom polecenie databricks auth token --host <workspace-url>.

  9. Użyj opcji lub -p interfejsu wiersza polecenia --profile usługi Databricks, po której następuje nazwa profilu konfiguracji, w ramach wywołania polecenia interfejsu wiersza polecenia usługi Databricks, na przykład databricks account groups list -p <configuration-profile-name> lub databricks clusters list -p <configuration-profile-name>.

    Napiwek

    Możesz nacisnąć przycisk Tab po --profile lub -p wyświetlić listę istniejących dostępnych profilów konfiguracji do wyboru, zamiast ręcznie wprowadzać nazwę profilu konfiguracji.

Uwierzytelnianie tożsamości zarządzanych platformy Azure

Uwierzytelnianie tożsamości zarządzanych platformy Azure używa tożsamości zarządzanych dla zasobów platformy Azure (wcześniej tożsamości usługi zarządzanej (MSI)) na potrzeby uwierzytelniania. Zobacz Co to są tożsamości zarządzane dla zasobów platformy Azure?. Zobacz również Uwierzytelnianie tożsamości zarządzanych platformy Azure.

Aby utworzyć tożsamość zarządzaną przypisaną przez użytkownika platformy Azure, wykonaj następujące czynności:

  1. Utwórz lub zidentyfikuj maszynę wirtualną platformy Azure i zainstaluj na niej interfejs wiersza polecenia usługi Databricks, a następnie przypisz tożsamość zarządzaną do maszyny wirtualnej platformy Azure i docelowe konta, obszary robocze lub oba te elementy. Zobacz Konfigurowanie i używanie uwierzytelniania tożsamości zarządzanych platformy Azure na potrzeby automatyzacji usługi Azure Databricks.

  2. Na maszynie wirtualnej platformy Azure 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.

    W przypadku poleceń na poziomie konta ustaw następujące wartości w .databrickscfg pliku:

    [<some-unique-configuration-profile-name>]
    host            = <account-console-url>
    account_id      = <account-id>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

    W przypadku poleceń na poziomie obszaru roboczego ustaw następujące wartości w .databrickscfg pliku:

    [<some-unique-configuration-profile-name>]
    host            = <workspace-url>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

    W przypadku poleceń na poziomie obszaru roboczego, jeśli tożsamość docelowa nie została jeszcze dodana do obszaru roboczego, określ azure_workspace_resource_id razem z identyfikatorem zasobu platformy Azure, a nie host adresem URL obszaru roboczego. W takim przypadku tożsamość docelowa musi mieć co najmniej uprawnienia Współautor lub Właściciel w zasobie platformy Azure.

    Uwaga

    Domyślna lokalizacja .databrickscfg pliku znajduje się w katalogu głównym użytkownika. ~ Dotyczy to systemów Linux i macOS i %USERPROFILE% Windows.

  3. Na maszynie wirtualnej platformy Azure użyj opcji lub interfejsu wiersza polecenia --profile usługi Databricks, a następnie nazwy profilu konfiguracji, aby ustawić profil usługi Databricks do użycia, na przykład databricks account groups list -p <configuration-profile-name> lub databricks clusters list -p <configuration-profile-name>.-p

    Napiwek

    Możesz nacisnąć przycisk Tab po --profile lub -p wyświetlić listę istniejących dostępnych profilów konfiguracji do wyboru, zamiast ręcznie wprowadzać nazwę profilu konfiguracji.

Uwierzytelnianie jednostki usługi Microsoft Entra ID

Uwierzytelnianie jednostki usługi Microsoft Entra ID używa poświadczeń jednostki usługi Microsoft Entra ID do uwierzytelniania. Aby utworzyć jednostki usługi i zarządzać nimi dla usługi Azure Databricks, zobacz Zarządzanie jednostkami usługi. Zobacz też Uwierzytelnianie jednostki usługi MS Entra.

Aby skonfigurować i używać uwierzytelniania jednostki usługi Microsoft Entra ID, musisz mieć zainstalowane lokalnie uwierzytelnianie interfejsu wiersza polecenia platformy Azure. Należy również wykonać następujące czynności:

  1. 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.

    W przypadku poleceń na poziomie konta ustaw następujące wartości w .databrickscfg pliku:

    [<some-unique-configuration-profile-name>]
    host                = <account-console-url>
    account_id          = <account-id>
    azure_tenant_id     = <azure-service-principal-tenant-id>
    azure_client_id     = <azure-service-principal-application-id>
    azure_client_secret = <azure-service-principal-client-secret>
    

    W przypadku poleceń na poziomie obszaru roboczego ustaw następujące wartości w .databrickscfg pliku:

    [<some-unique-configuration-profile-name>]
    host                = <workspace-url>
    azure_tenant_id     = <azure-service-principal-tenant-id>
    azure_client_id     = <azure-service-principal-application-id>
    azure_client_secret = <azure-service-principal-client-secret>
    

    W przypadku poleceń na poziomie obszaru roboczego, jeśli docelowa jednostka usługi Microsoft Entra ID nie została jeszcze dodana do obszaru roboczego, określ azure_workspace_resource_id razem z identyfikatorem zasobu platformy Azure, a nie host adresem URL obszaru roboczego. W takim przypadku docelowa jednostka usługi Microsoft Entra ID musi mieć co najmniej uprawnienia Współautor lub Właściciel w zasobie platformy Azure.

    Uwaga

    Domyślna lokalizacja .databrickscfg pliku znajduje się w katalogu głównym użytkownika. ~ Dotyczy to systemów Linux i macOS i %USERPROFILE% Windows.

  2. Użyj opcji lub -p interfejsu wiersza polecenia --profile usługi Databricks, po której następuje nazwa profilu konfiguracji, w ramach wywołania polecenia interfejsu wiersza polecenia usługi Databricks, na przykład databricks account groups list -p <configuration-profile-name> lub databricks clusters list -p <configuration-profile-name>.

    Napiwek

    Możesz nacisnąć przycisk Tab po --profile lub -p wyświetlić listę istniejących dostępnych profilów konfiguracji do wyboru, zamiast ręcznie wprowadzać nazwę profilu konfiguracji.

Uwierzytelnianie interfejsu wiersza polecenia platformy Azure

Uwierzytelnianie interfejsu wiersza polecenia platformy Azure używa interfejsu wiersza polecenia platformy Azure do uwierzytelniania zalogowanej jednostki. Zobacz również Uwierzytelnianie interfejsu wiersza polecenia platformy Azure.

Aby skonfigurować uwierzytelnianie interfejsu wiersza polecenia platformy Azure, należy wykonać następujące czynności:

  1. Czy interfejs wiersza polecenia platformy Azure jest zainstalowany lokalnie.

  2. Użyj interfejsu wiersza polecenia platformy Azure, aby zalogować się do usługi Azure Databricks, uruchamiając az login polecenie . Zobacz Logowanie interfejsu wiersza polecenia platformy Azure przy użyciu konta użytkownika usługi Azure Databricks.

  3. 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.

    W przypadku poleceń na poziomie konta ustaw następujące wartości w .databrickscfg pliku:

    [<some-unique-configuration-profile-name>]
    host       = <account-console-url>
    account_id = <account-id>
    

    W przypadku poleceń na poziomie obszaru roboczego ustaw następujące wartości w .databrickscfg pliku:

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

    Uwaga

    Domyślna lokalizacja .databrickscfg pliku znajduje się w katalogu głównym użytkownika. ~ Dotyczy to systemów Linux i macOS i %USERPROFILE% Windows.

  4. Użyj opcji lub -p interfejsu wiersza polecenia --profile usługi Databricks, po której następuje nazwa profilu konfiguracji, w ramach wywołania polecenia interfejsu wiersza polecenia usługi Databricks, na przykład databricks account groups list -p <configuration-profile-name> lub databricks clusters list -p <configuration-profile-name>.

    Napiwek

    Możesz nacisnąć przycisk Tab po --profile lub -p wyświetlić listę istniejących dostępnych profilów konfiguracji do wyboru, zamiast ręcznie wprowadzać nazwę profilu konfiguracji.

Kolejność uwierzytelniania oceny

Za każdym razem, gdy interfejs wiersza polecenia usługi Databricks musi zebrać ustawienia wymagane do przeprowadzenia uwierzytelniania w obszarze roboczym lub koncie usługi Azure Databricks, wyszukuje te ustawienia w następujących lokalizacjach w następującej kolejności.

  1. W przypadku dowolnego polecenia uruchamianego z katalogu roboczego pakietu (katalogu głównego pakietu i dowolnej ścieżki zagnieżdżonej) wartości pól w plikach ustawień pakietu projektu. (Pliki ustawień pakietu nie obsługują bezpośredniego dołączania wartości poświadczeń dostępu).
  2. Wartości zmiennych środowiskowych, jak wymieniono w tym artykule, oraz w zmiennych środowiskowych i polach dla ujednoliconego uwierzytelniania klienta.
  3. Wartości pól profilu konfiguracji w .databrickscfg pliku, jak pokazano wcześniej w tym artykule.

Za każdym razem, gdy interfejs wiersza polecenia usługi Databricks znajdzie wymagane ustawienia, przestanie wyszukiwać w innych lokalizacjach. Na przykład:

  • Interfejs wiersza polecenia usługi Databricks wymaga wartości osobistego tokenu dostępu usługi Azure Databricks. Zmienna DATABRICKS_TOKEN środowiskowa jest ustawiana, a .databrickscfg plik zawiera również wiele osobistych tokenów dostępu. W tym przykładzie interfejs wiersza polecenia usługi Databricks używa wartości DATABRICKS_TOKEN zmiennej środowiskowej i nie wyszukuje .databrickscfg pliku.
  • Polecenie databricks bundle deploy -t dev wymaga wartości osobistego tokenu dostępu usługi Azure Databricks. Zmienna DATABRICKS_TOKEN środowiskowa nie jest ustawiona, a .databrickscfg plik zawiera wiele osobistych tokenów dostępu. Plik ustawień pakietu projektu zawiera deklarację dev środowiska, która odwołuje się do pola profile profil konfiguracji o nazwie DEV. W tym przykładzie interfejs wiersza polecenia usługi Databricks wyszukuje .databrickscfg plik dla profilu o nazwie DEV i używa wartości pola tego profilu token .
  • Polecenie databricks bundle run -t dev hello-job wymaga wartości osobistego tokenu dostępu usługi Azure Databricks. Zmienna DATABRICKS_TOKEN środowiskowa nie jest ustawiona, a .databrickscfg plik zawiera wiele osobistych tokenów dostępu. Plik ustawień pakietu projektu zawiera deklarację dev środowiska, która odwołuje się do pola host określonego adresu URL obszaru roboczego usługi Azure Databricks. W tym przykładzie interfejs wiersza polecenia usługi Databricks wyszukuje profile konfiguracji w .databrickscfg pliku dla profilu zawierającego host pole z pasującym adresem URL obszaru roboczego. Interfejs wiersza polecenia usługi Databricks znajduje pasujące host pole, a następnie używa wartości pola tego profilu token .