Delen via


Azure Databricks-aanmelding configureren vanuit dbt Core met Microsoft Entra-id

Belangrijk

Deze functie is beschikbaar als openbare preview.

In dit artikel wordt beschreven hoe u azure Databricks-aanmelding configureert vanuit dbt Core met Microsoft Entra-id. Nadat u deze eenmalige configuratie hebt voltooid als azure Databricks-accountbeheerder, kunnen gebruikers Azure Databricks verbinden met dbt Core met behulp van eenmalige aanmelding (SSO).

Naast het gebruik van Microsoft Entra ID kunt u Databricks M2M OAuth gebruiken om te integreren met dbt Core. Zie OAuth-toepassingen van partners in- of uitschakelen.

Voordat u begint

Voordat u de stappen in dit artikel voltooit, moet u het volgende doen:

  • Toegang hebben tot een lokale dbt Core-omgeving
  • Haal de serverhostnaam en het HTTP-pad voor een SQL-warehouse op in uw Azure Databricks-werkruimte
  • Een Azure Databricks-accountbeheerder zijn
  • U bent gemachtigd om een Azure-app-registratie te maken in de Azure-tenant voor uw Azure Databricks-account.

M2M-verificatie (machine-to-machine) configureren voor dbt Core

In deze sectie wordt beschreven hoe u M2M-verificatie (machine-to-machine) configureert voor Azure Databricks en dbt Core. De M2M-werkstroom van OAuth biedt geautomatiseerde processen, zoals CI/CD-integratie, om veilig toegang te krijgen tot resources zonder menselijke tussenkomst. De dbt-client wordt uitgevoerd als een service-principal, verkrijgt een OAuth-token van Azure AD met behulp van de service-principal en gebruikt dit token om verbinding te maken met de Databricks SQL-API.

Een Azure-app-registratie maken

  1. Gebruik Azure Portal om u aan te melden bij de Azure-tenant voor uw Azure Databricks-account op https://portal.azure.com/<tenant-id>.
  2. Klik op App-registraties. Als App-registraties niet zichtbaar is, klikt u op Meer services en gebruikt u het tekstvak Filterservices om te zoeken naar App-registraties.
  3. Klik op Nieuwe registratie.
  4. Voer een naam in voor de app.
  5. Voor omleidings-URI selecteert u Openbare client/systeemeigen (mobiel en desktop) in de vervolgkeuzelijst en voert u dit in http://localhost:8020.
  6. Klik op Registreren.
  7. Kopieer de client-id van de toepassing. U hebt deze waarde later nodig.

Een clientgeheim genereren voor uw Azure-app-registratie

  1. Selecteer in Azure Portal de app-registratie die u in de vorige stap hebt gemaakt.
  2. Klik op Certificaten en geheimen en klik vervolgens op Nieuw clientgeheim.
  3. Voer een beschrijving in en klik vervolgens op Toevoegen.
  4. Kopieer de geheime waarde. U hebt deze waarde later nodig en u kunt deze alleen openen nadat het geheim is gemaakt.

De Microsoft Entra ID-service-principal toevoegen aan uw werkruimte

  1. Klik in uw Azure Databricks-werkruimte op uw gebruikersnaam in de rechterbovenhoek en klik vervolgens op Instellingen.
  2. Klik op het tabblad Identiteit en toegang .
  3. Klik naast Service-principals op Beheren.
  4. Klik op Service-principal toevoegen en klik vervolgens op Client-id.
  5. Voer voor ApplicationId de toepassings-id (client) in die u eerder hebt gekopieerd.
  6. Voer voor Weergavenaam een logische naam in voor uw service-principal en klik vervolgens op Toevoegen.

Het M2M-profiel toevoegen aan uw dbt-project

  1. Stel de toepassings-id (client) en het clientgeheim in die u eerder hebt gekopieerd als omgevingsvariabelen. Databricks raadt niet aan gevoelige informatie, zoals geheimen, rechtstreeks op profiles.yml te slaan.

    ~ export DATABRICKS_CLIENT_ID=<client-id>
    ~ export DATABRICKS_CLIENT_SECRET=<client-secret>
    
  2. Voeg het M2M-profiel toe aan het profiles.yml bestand in uw dbt-project.

    Hier volgt een voorbeeldbestand profiles.yml met het opgegeven M2M-profiel azure-oauth-m2m . Opgeven voor target het instellen van azure-oauth-m2m het M2M-profiel als het standaarduitvoeringsprofiel dat wordt gebruikt door 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
    

Uw service-principal machtigen voor toegang tot een SQL-warehouse

  1. Klik in de zijbalk op SQL Warehouses, klik op uw SQL Warehouse en klik vervolgens op Machtigingen.
  2. Naast de service-principal die u eerder in dit artikel hebt gemaakt, selecteert u CAN USE in de vervolgkeuzelijst.

OAuth-toepassing instellen controleren

Voer de dbt debug opdracht uit om te controleren of uw OAuth-toepassing juist is geconfigureerd. Voorbeeld:

dbt debug --target azure-oauth-m2m

Hier volgt een voorbeeld van de uitvoer van een geslaagde dbt debug uitvoering:

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

U2M-verificatie (user-to-machine) configureren voor dbt Core

In deze sectie wordt beschreven hoe u gebruikers-naar-machine-verificatie configureert met Azure Databricks en dbt Core. De U2M-werkstroom van OAuth biedt systemen toegang namens een gebruiker, zoals de dbt-client, door veilig een OAuth-token te verkrijgen via een browserpop-up van Azure AD. Dbt gebruikt dit token om verbinding te maken met de Databricks SQL-API, waardoor verificatie en autorisatie worden vereenvoudigd.

Een Azure-app-registratie maken

  1. Gebruik Azure Portal om u aan te melden bij de Azure-tenant voor uw Azure Databricks-account op https://portal.azure.com/<tenant-id>.
  2. Klik op App-registraties. Als App-registraties niet zichtbaar is, klikt u op Meer services en gebruikt u het tekstvak Filterservices om te zoeken naar App-registraties.
  3. Klik op Nieuwe registratie.
  4. Voer een naam in voor de app.
  5. Voor omleidings-URI selecteert u Openbare client/systeemeigen (mobiel en desktop) in de vervolgkeuzelijst en voert u dit in http://localhost:8020.
  6. Klik op Registreren.
  7. Kopieer de toepassings-id (client) en de tenant-id. U hebt deze waarden later nodig.

Het U2M-profiel toevoegen aan uw dbt-project

Voeg het U2M-profiel toe aan het profiles.yml bestand in uw dbt-project.

Hier volgt een voorbeeldbestand profiles.yml met het U2M-profiel azure-oauth-u2m opgegeven. azure-oauth-u2m Opgeven voor target het instellen van het U2M-profiel als het standaarduitvoeringsprofiel dat wordt gebruikt door 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

OAuth-toepassing instellen controleren

  1. Voer de dbt debug opdracht uit om te controleren of uw OAuth-toepassing juist is geconfigureerd. Voorbeeld:

    dbt debug --target azure-oauth-u2m
    

    De pagina Machtigingen die zijn aangevraagd , wordt geopend in uw browser.

  2. Klik op Accepteren.

Hier volgt een voorbeeld van de uitvoer van een geslaagde dbt debug uitvoering:

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

Aanvullende bronnen

Als u een nieuw dbt Core-project wilt maken en verbinding wilt maken met Azure Databricks met behulp van SSO-verificatie, raadpleegt u Verbinding maken met dbt Core.