Konfigurera Azure Databricks-inloggning från dbt Core med Microsoft Entra-ID
Viktigt!
Den här funktionen finns som allmänt tillgänglig förhandsversion.
I den här artikeln beskrivs hur du konfigurerar Azure Databricks-inloggning från dbt Core med Microsoft Entra-ID. När du har slutfört den här engångskonfigurationen som azure databricks-kontoadministratör kan användarna ansluta Azure Databricks till dbt Core med enkel inloggning (SSO).
Förutom att använda Microsoft Entra-ID kan du använda Databricks M2M OAuth för att integrera med dbt Core. Se Aktivera eller inaktivera OAuth-partnerprogram.
Innan du börjar
Innan du slutför stegen i den här artikeln måste du:
- Ha åtkomst till en lokal dbt Core-miljö
- Hämta servervärdnamnet och HTTP-sökvägen för ett SQL-lager på din Azure Databricks-arbetsyta
- Vara Azure Databricks-kontoadministratör
- Ha behörighet att skapa en Azure-appregistrering i Azure-klientorganisationen för ditt Azure Databricks-konto.
Konfigurera M2M-autentisering (machine-to-machine) för dbt Core
I det här avsnittet beskrivs hur du konfigurerar M2M-autentisering (machine-to-machine) för Azure Databricks och dbt Core. OAuths M2M-arbetsflöde ger automatiserade processer, till exempel CI/CD-integrering, möjlighet att på ett säkert sätt komma åt resurser utan mänsklig inblandning. Dbt-klienten körs som tjänstens huvudnamn, hämtar en OAuth-token från Azure AD med tjänstens huvudnamn och använder den här token för att ansluta till Databricks SQL API.
Skapa en Azure-appregistrering
- Använd Azure Portal för att logga in på Azure-klientorganisationen för ditt Azure Databricks-konto på
https://portal.azure.com/<tenant-id>
. - Klicka på Appregistreringar. Om Appregistreringar inte visas klickar du på Fler tjänster och använder textrutan Filtertjänster för att söka efter Appregistreringar.
- Klicka på Ny registrering.
- Ange ett namn för appen.
- För Omdirigerings-URI väljer du Offentlig klient/intern (mobil och skrivbord) på den nedrullningsbara menyn och anger
http://localhost:8020
. - Klicka på Registrera.
- Kopiera App-ID (klient) . Du behöver det här värdet senare.
Generera en klienthemlighet för din Azure App-registrering
- I Azure Portal väljer du den appregistrering som du skapade i föregående steg.
- Klicka på Certifikat och hemligheter och klicka sedan på Ny klienthemlighet.
- Ange en beskrivning och klicka sedan på Lägg till.
- Kopiera det hemliga värdet. Du behöver det här värdet senare och du kan bara komma åt det när hemligheten har skapats.
Lägg till tjänstens huvudnamn för Microsoft Entra-ID till din arbetsyta
- I din Azure Databricks-arbetsyta klickar du på ditt användarnamn längst upp till höger och klickar sedan på Inställningar.
- Klicka på fliken Identitet och åtkomst .
- Bredvid Tjänstens huvudnamn klickar du på Hantera.
- Klicka på Lägg till tjänstens huvudnamn och klicka sedan på Klient-ID.
- För ApplicationId anger du det program-ID (klient)-ID som du kopierade tidigare.
- Som Visningsnamn anger du ett logiskt namn för tjänstens huvudnamn och klickar sedan på Lägg till.
Lägg till M2M-profilen i ditt dbt-projekt
Ange program-ID och klienthemlighet som du kopierade tidigare som miljövariabler. Databricks rekommenderar inte att du lagrar känslig information, till exempel hemligheter direkt
profiles.yml
.~ export DATABRICKS_CLIENT_ID=<client-id> ~ export DATABRICKS_CLIENT_SECRET=<client-secret>
Lägg till M2M-profilen i
profiles.yml
filen i ditt dbt-projekt.Följande är en exempelfil
profiles.yml
med M2M-profilenazure-oauth-m2m
angiven. Om du angerazure-oauth-m2m
förtarget
anges M2M-profilen som standardkörningsprofilen som används av 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
Auktorisera tjänstens huvudnamn för åtkomst till ett SQL-lager
- I sidofältet klickar du på SQL Warehouses, klickar på ditt SQL-lager och sedan på Behörigheter.
- Bredvid tjänstens huvudnamn som du skapade tidigare i den här artikeln väljer du KAN ANVÄNDA på den nedrullningsbara menyn.
Verifiera konfigurationen av OAuth-programmet
dbt debug
Kör kommandot för att kontrollera att OAuth-programmet har konfigurerats korrekt. Till exempel:
dbt debug --target azure-oauth-m2m
Följande är ett exempel på utdata från en lyckad dbt debug
körning:
...
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
Konfigurera autentisering från användare till dator (U2M) för dbt Core
I det här avsnittet beskrivs hur du konfigurerar autentisering från användare till dator med Azure Databricks och dbt Core. OAuths U2M-arbetsflöde ger systemåtkomst åt en användare, till exempel dbt-klienten, genom att på ett säkert sätt hämta en OAuth-token via ett webbläsar-popup-fönster från Azure AD. Dbt använder den här token för att ansluta till Databricks SQL API, vilket förenklar autentisering och auktorisering.
Skapa en Azure-appregistrering
- Använd Azure Portal för att logga in på Azure-klientorganisationen för ditt Azure Databricks-konto på
https://portal.azure.com/<tenant-id>
. - Klicka på Appregistreringar. Om Appregistreringar inte visas klickar du på Fler tjänster och använder textrutan Filtertjänster för att söka efter Appregistreringar.
- Klicka på Ny registrering.
- Ange ett namn för appen.
- För Omdirigerings-URI väljer du Offentlig klient/intern (mobil och skrivbord) på den nedrullningsbara menyn och anger
http://localhost:8020
. - Klicka på Registrera.
- Kopiera program-ID :t (klient) och klientorganisations-ID:t. Du behöver dessa värden senare.
Lägg till U2M-profilen i ditt dbt-projekt
Lägg till U2M-profilen i profiles.yml
filen i ditt dbt-projekt.
Följande är en exempelfil profiles.yml
med U2M-profilen azure-oauth-u2m
angiven. Om du anger azure-oauth-u2m
för target
anges U2M-profilen som standardkörningsprofilen som används av 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
Verifiera konfigurationen av OAuth-programmet
dbt debug
Kör kommandot för att kontrollera att OAuth-programmet har konfigurerats korrekt. Till exempel:dbt debug --target azure-oauth-u2m
Sidan Behörigheter som begärs öppnas i webbläsaren.
Klicka på Godkänn.
Följande är ett exempel på utdata från en lyckad dbt debug
körning:
...
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
Ytterligare resurser
Information om hur du skapar ett nytt dbt Core-projekt och ansluter till Azure Databricks med SSO-autentisering finns i Ansluta till dbt Core.