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
- Gebruik Azure Portal om u aan te melden bij de Azure-tenant voor uw Azure Databricks-account op
https://portal.azure.com/<tenant-id>
. - 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.
- Klik op Nieuwe registratie.
- Voer een naam in voor de app.
- Voor omleidings-URI selecteert u Openbare client/systeemeigen (mobiel en desktop) in de vervolgkeuzelijst en voert u dit in
http://localhost:8020
. - Klik op Registreren.
- Kopieer de client-id van de toepassing. U hebt deze waarde later nodig.
Een clientgeheim genereren voor uw Azure-app-registratie
- Selecteer in Azure Portal de app-registratie die u in de vorige stap hebt gemaakt.
- Klik op Certificaten en geheimen en klik vervolgens op Nieuw clientgeheim.
- Voer een beschrijving in en klik vervolgens op Toevoegen.
- 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
- Klik in uw Azure Databricks-werkruimte op uw gebruikersnaam in de rechterbovenhoek en klik vervolgens op Instellingen.
- Klik op het tabblad Identiteit en toegang .
- Klik naast Service-principals op Beheren.
- Klik op Service-principal toevoegen en klik vervolgens op Client-id.
- Voer voor ApplicationId de toepassings-id (client) in die u eerder hebt gekopieerd.
- Voer voor Weergavenaam een logische naam in voor uw service-principal en klik vervolgens op Toevoegen.
Het M2M-profiel toevoegen aan uw dbt-project
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>
Voeg het M2M-profiel toe aan het
profiles.yml
bestand in uw dbt-project.Hier volgt een voorbeeldbestand
profiles.yml
met het opgegeven M2M-profielazure-oauth-m2m
. Opgeven voortarget
het instellen vanazure-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
- Klik in de zijbalk op SQL Warehouses, klik op uw SQL Warehouse en klik vervolgens op Machtigingen.
- 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
- Gebruik Azure Portal om u aan te melden bij de Azure-tenant voor uw Azure Databricks-account op
https://portal.azure.com/<tenant-id>
. - 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.
- Klik op Nieuwe registratie.
- Voer een naam in voor de app.
- Voor omleidings-URI selecteert u Openbare client/systeemeigen (mobiel en desktop) in de vervolgkeuzelijst en voert u dit in
http://localhost:8020
. - Klik op Registreren.
- 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
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.
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.