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
- 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>
. - 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.
- Kliknij pozycję Nowa rejestracja.
- Wprowadź nazwę aplikacji.
- W polu Identyfikator URI przekierowania wybierz pozycję Klient publiczny/natywny (mobilny i klasyczny) z menu rozwijanego i wprowadź wartość
http://localhost:8020
. - Kliknij pozycję Zarejestruj.
- Skopiuj identyfikator aplikacji (klient). Ta wartość będzie potrzebna później.
Generowanie wpisu tajnego klienta dla rejestracji aplikacja systemu Azure
- W witrynie Azure Portal wybierz rejestrację aplikacji utworzoną w poprzednim kroku.
- Kliknij pozycję Certyfikaty i wpisy tajne, a następnie kliknij pozycję Nowy klucz tajny klienta.
- Wprowadź opis, a następnie kliknij przycisk Dodaj.
- 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
- W obszarze roboczym usługi Azure Databricks kliknij swoją nazwę użytkownika w prawym górnym rogu, a następnie kliknij pozycję Ustawienia.
- Kliknij kartę Tożsamość i dostęp .
- Obok pozycji Jednostki usługi kliknij pozycję Zarządzaj.
- Kliknij pozycję Dodaj jednostkę usługi, a następnie kliknij pozycję Identyfikator klienta.
- W polu ApplicationId wprowadź skopiowany wcześniej identyfikator aplikacji (klienta).
- W polu Nazwa wyświetlana wprowadź nazwę logiczną jednostki usługi, a następnie kliknij przycisk Dodaj.
Dodawanie profilu M2M do projektu dbt
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>
Dodaj profil M2M do
profiles.yml
pliku w projekcie dbt.Poniżej przedstawiono przykładowy
profiles.yml
plik z określonym profilemazure-oauth-m2m
M2M. Określanieazure-oauth-m2m
dlatarget
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
- Na pasku bocznym kliknij pozycję SQL Warehouses, kliknij usługę SQL Warehouse, a następnie kliknij pozycję Uprawnienia.
- 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
- 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>
. - 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.
- Kliknij pozycję Nowa rejestracja.
- Wprowadź nazwę aplikacji.
- W polu Identyfikator URI przekierowania wybierz pozycję Klient publiczny/natywny (mobilny i klasyczny) z menu rozwijanego i wprowadź wartość
http://localhost:8020
. - Kliknij pozycję Zarejestruj.
- 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
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.
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.