Udostępnij za pośrednictwem


Konfigurowanie logowania usługi Azure Databricks z bazy danych dbt Core przy użyciu identyfikatora Entra firmy Microsoft

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

W tym artykule opisano sposób konfigurowania logowania usługi Azure Databricks z bazy danych dbt Core przy użyciu identyfikatora Microsoft Entra ID. Po zakończeniu tej jednorazowej konfiguracji jako administrator konta usługi Azure Databricks użytkownicy mogą połączyć usługę Azure Databricks z bazą danych dbt Core przy użyciu logowania jednokrotnego (SSO).

Oprócz korzystania z identyfikatora Entra firmy Microsoft można użyć protokołu OAuth usługi Databricks M2M do integracji z bazą danych dbt Core. Zobacz Włączanie lub wyłączanie aplikacji OAuth partnera.

Zanim rozpoczniesz

Przed wykonaniem kroków opisanych w tym artykule należy wykonać następujące czynności:

  • Uzyskiwanie dostępu do lokalnego środowiska dbt Core
  • Pobieranie nazwy hosta serwera i ścieżki HTTP dla usługi SQL Warehouse w obszarze roboczym usługi Azure Databricks
  • Być administratorem konta usługi Azure Databricks
  • Mieć uprawnienia do tworzenia rejestracji aplikacji platformy Azure w dzierżawie platformy Azure dla konta usługi Azure Databricks.

Konfigurowanie uwierzytelniania maszyny do maszyny (M2M) dla bazy danych dbt Core

W tej sekcji opisano sposób konfigurowania uwierzytelniania maszyny-maszyny (M2M) na potrzeby usługi Azure Databricks i dbt Core. Przepływ pracy M2M protokołu OAuth umożliwia zautomatyzowane procesy, takie jak integracja ciągłej integracji/ciągłego wdrażania, w celu bezpiecznego uzyskiwania dostępu do zasobów bez interwencji człowieka. Klient dbt działa jako jednostka usługi, uzyskuje token OAuth z usługi Azure AD przy użyciu jednostki usługi i używa tego tokenu do nawiązywania połączenia z interfejsem API SQL usługi Databricks.

Tworzenie rejestracji aplikacji platformy Azure

  1. Użyj witryny Azure Portal, aby zalogować się do dzierżawy platformy Azure dla konta usługi Azure Databricks pod adresem https://portal.azure.com/<tenant-id>.
  2. Kliknij Rejestracje aplikacji. Jeśli Rejestracje aplikacji nie jest widoczna, kliknij pozycję Więcej usług i użyj pola tekstowego Filtruj usługi, aby wyszukać Rejestracje aplikacji.
  3. Kliknij pozycję Nowa rejestracja.
  4. Wprowadź nazwę aplikacji.
  5. W polu Identyfikator URI przekierowania wybierz pozycję Klient publiczny/natywny (mobilny i klasyczny) z menu rozwijanego i wprowadź wartość http://localhost:8020.
  6. Kliknij pozycję Zarejestruj.
  7. Skopiuj identyfikator aplikacji (klient). Ta wartość będzie potrzebna później.

Generowanie wpisu tajnego klienta dla rejestracji aplikacja systemu Azure

  1. W witrynie Azure Portal wybierz rejestrację aplikacji utworzoną w poprzednim kroku.
  2. Kliknij pozycję Certyfikaty i wpisy tajne, a następnie kliknij pozycję Nowy klucz tajny klienta.
  3. Wprowadź opis, a następnie kliknij przycisk Dodaj.
  4. Skopiuj wartość wpisu tajnego. Ta wartość będzie potrzebna później i będzie można uzyskać do niej dostęp tylko po utworzeniu wpisu tajnego.

Dodawanie jednostki usługi Microsoft Entra ID do obszaru roboczego

  1. W obszarze roboczym usługi Azure Databricks kliknij swoją nazwę użytkownika w prawym górnym rogu, a następnie 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, a następnie kliknij pozycję Identyfikator klienta.
  5. W polu ApplicationId wprowadź skopiowany wcześniej identyfikator aplikacji (klienta).
  6. W polu Nazwa wyświetlana wprowadź nazwę logiczną jednostki usługi, a następnie kliknij przycisk Dodaj.

Dodawanie profilu M2M do projektu dbt

  1. Ustaw identyfikator aplikacji (klienta) i klucz tajny klienta skopiowany wcześniej jako zmienne środowiskowe. Usługa Databricks nie zaleca przechowywania poufnych informacji, takich jak wpisy tajne bezpośrednio profiles.yml .

    ~ export DATABRICKS_CLIENT_ID=<client-id>
    ~ export DATABRICKS_CLIENT_SECRET=<client-secret>
    
  2. Dodaj profil M2M do profiles.yml pliku w projekcie dbt.

    Poniżej przedstawiono przykładowy profiles.yml plik z określonym profilem azure-oauth-m2m M2M. Określanie azure-oauth-m2m dla target ustawiania profilu M2M jako domyślnego profilu uruchamiania używanego przez dbt.

    databricks_demo:
      outputs:
        ...
        azure-oauth-m2m:
          catalog: uc_demos
          host: "adb-xxx.azuredatabricks.net"
          http_path: "/sql/1.0/warehouses/9196548d010cf14d"
          schema: databricks_demo
          threads: 1
          type: databricks
          auth_type: oauth
          client_id: "{{ env_var('DATABRICKS_CLIENT_ID') }}"
          client_secret: "{{ env_var('DATABRICKS_CLIENT_SECRET') }}"
    target: azure-oauth-m2m
    

Autoryzowanie jednostki usługi w celu uzyskania dostępu do usługi SQL Warehouse

  1. Na pasku bocznym kliknij pozycję SQL Warehouses, kliknij usługę SQL Warehouse, a następnie kliknij pozycję Uprawnienia.
  2. Obok jednostki usługi utworzonej wcześniej w tym artykule wybierz pozycję CAN USE z menu rozwijanego.

Weryfikowanie konfiguracji aplikacji OAuth

Uruchom polecenie , dbt debug aby sprawdzić, czy aplikacja OAuth została prawidłowo skonfigurowana. Na przykład:

dbt debug --target azure-oauth-m2m

Poniżej przedstawiono przykładowe dane wyjściowe pomyślnego dbt debug uruchomienia:

  ...
  Configuration:
    profiles.yml file [OK found and valid]
    dbt_project.yml file [OK found and valid]

  Required dependencies:
    - git [OK found]

  Connection:
    ...
    Connection test: OK connection ok

Konfigurowanie uwierzytelniania użytkownika na maszynę (U2M) dla bazy danych dbt Core

W tej sekcji opisano sposób konfigurowania uwierzytelniania typu użytkownik-komputer przy użyciu usługi Azure Databricks i bazy danych dbt Core. Przepływ pracy U2M protokołu OAuth umożliwia systemom dostęp w imieniu użytkownika, takiego jak klient dbt, przez bezpieczne uzyskanie tokenu OAuth za pośrednictwem wyskakującego okienka przeglądarki z usługi Azure AD. Usługa Dbt używa tego tokenu do nawiązywania połączenia z interfejsem API SQL usługi Databricks, upraszczając uwierzytelnianie i autoryzację.

Tworzenie rejestracji aplikacji platformy Azure

  1. Użyj witryny Azure Portal, aby zalogować się do dzierżawy platformy Azure dla konta usługi Azure Databricks pod adresem https://portal.azure.com/<tenant-id>.
  2. Kliknij Rejestracje aplikacji. Jeśli Rejestracje aplikacji nie jest widoczna, kliknij pozycję Więcej usług i użyj pola tekstowego Filtruj usługi, aby wyszukać Rejestracje aplikacji.
  3. Kliknij pozycję Nowa rejestracja.
  4. Wprowadź nazwę aplikacji.
  5. W polu Identyfikator URI przekierowania wybierz pozycję Klient publiczny/natywny (mobilny i klasyczny) z menu rozwijanego i wprowadź wartość http://localhost:8020.
  6. Kliknij pozycję Zarejestruj.
  7. Skopiuj identyfikator aplikacji (klienta) i identyfikator dzierżawy. Te wartości będą potrzebne później.

Dodawanie profilu U2M do projektu dbt

Dodaj profil U2M do profiles.yml pliku w projekcie dbt.

Poniżej przedstawiono przykładowy profiles.yml plik z określonym profilem azure-oauth-u2m U2M. Określanie azure-oauth-u2m dla target ustawiania profilu U2M jako domyślnego profilu uruchamiania używanego przez dbt.

databricks_demo:
outputs:
  azure-oauth-u2m:
    catalog: uc_demos
    host: "adb-xxx.azuredatabricks.net"
    http_path: "/sql/1.0/warehouses/9196548d010cf14d"
    schema: databricks_demo
    threads: 1
    type: databricks
    auth_type: oauth
    client_id: "9729e77e-ba94-4d53-8cfb-bb609f43f881"
target: azure-oauth-u2m

Weryfikowanie konfiguracji aplikacji OAuth

  1. Uruchom polecenie , dbt debug aby sprawdzić, czy aplikacja OAuth została prawidłowo skonfigurowana. Na przykład:

    dbt debug --target azure-oauth-u2m
    

    W przeglądarce zostanie otwarta żądana strona Uprawnienia.

  2. Kliknij przycisk Akceptuj.

Poniżej przedstawiono przykładowe dane wyjściowe pomyślnego dbt debug uruchomienia:

...
Configuration:
  profiles.yml file [OK found and valid]
  dbt_project.yml file [OK found and valid]

Required dependencies:
  - git [OK found]

Connection:
  ...
  Connection test: OK connection ok

Dodatkowe zasoby

Aby utworzyć nowy projekt dbt Core i nawiązać połączenie z usługą Azure Databricks przy użyciu uwierzytelniania jednokrotnego, zobacz Łączenie z bazą danych dbt Core.