Dela via


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

  1. 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>.
  2. 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.
  3. Klicka på Ny registrering.
  4. Ange ett namn för appen.
  5. För Omdirigerings-URI väljer du Offentlig klient/intern (mobil och skrivbord) på den nedrullningsbara menyn och anger http://localhost:8020.
  6. Klicka på Registrera.
  7. Kopiera App-ID (klient) . Du behöver det här värdet senare.

Generera en klienthemlighet för din Azure App-registrering

  1. I Azure Portal väljer du den appregistrering som du skapade i föregående steg.
  2. Klicka på Certifikat och hemligheter och klicka sedan på Ny klienthemlighet.
  3. Ange en beskrivning och klicka sedan på Lägg till.
  4. 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

  1. I din Azure Databricks-arbetsyta klickar du på ditt användarnamn längst upp till höger och klickar sedan på Inställningar.
  2. Klicka på fliken Identitet och åtkomst .
  3. Bredvid Tjänstens huvudnamn klickar du på Hantera.
  4. Klicka på Lägg till tjänstens huvudnamn och klicka sedan på Klient-ID.
  5. För ApplicationId anger du det program-ID (klient)-ID som du kopierade tidigare.
  6. 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

  1. 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>
    
  2. Lägg till M2M-profilen i profiles.yml filen i ditt dbt-projekt.

    Följande är en exempelfil profiles.yml med M2M-profilen azure-oauth-m2m angiven. Om du anger azure-oauth-m2m för target 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

  1. I sidofältet klickar du på SQL Warehouses, klickar på ditt SQL-lager och sedan på Behörigheter.
  2. 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

  1. 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>.
  2. 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.
  3. Klicka på Ny registrering.
  4. Ange ett namn för appen.
  5. För Omdirigerings-URI väljer du Offentlig klient/intern (mobil och skrivbord) på den nedrullningsbara menyn och anger http://localhost:8020.
  6. Klicka på Registrera.
  7. 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

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

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