Fabric – Azure Service Principal (SPN) a RBAC pro dbt v Entra ID

Aby bylo možné využít autentizaci Azure Service Principal, je nutné nejprve vytvořit aplikaci a její přihlašovací údaje v Entra ID (původně Azure Active Directory). Tuto metodu authentikace následně budeme potřebovat pro správné nastavení konfiguračního souboru profiles.yml pro připojení k Fabricu, kterou řešíme v článku – Fabric | dbt – Konfigurace profiles.yml pro SPN Autentizaci k SQL Endpointu. Správně nastavená konfigurace nám následně umožní komunikovat přes dbt a SQL dotazy s Fabric prostředím bezpečně.

Service principal založený v Entra ID budeme také opakovaně potřebovat v prostředí Fabricu pro důležitou věc. Chceme-li mít jód ve Fabricu bezpečný, tak musíme zajistit bezpečné předání hesel (Secrets) do Fabric notebooků a ve Fabricu bychom hesla storovat neměli – pokud by vás to zajímalo, mrkněte Fabric – Pipeline a Key Vault pro bezpečné předání Secretů (riziko kompromitace SecureString)

Postup k vytvoření Azure Service Principal (SPN)

  • V Azure Portal přejděte do sekce Microsoft Entra ID – App registrations.
  • Vyberte možnost New registration a vytvořte novou aplikaci (např. „FabricConnectorjanzednicek“)

azure-spn-service-principal-create

  • Po vytvoření aplikace klikneme na náš SPN a poznamenáme si hodnoty Application (client) ID a Directory (tenant) ID. Tyto údaje patří do konfiguračního souboru profiles.yml

SPN-detail-azure

  • V sekci Certificates & secrets vytvořte nový Client secret a uložte jeho hodnotu do bezpečného úložiště – např. Azure Key Vault nebo lokální správce hesel (Keypass, a další). Pro více služeb můžeme mít více secrets ke stejnému SPN, to záleží na nás a naší strategii rotace secrets.

SPN-azure-service-principal-create-secret

  • V rámci Fabricu přejděte do nastavení SQL Endpointu a přidejte SPN aplikaci jako uživatele s příslušnými oprávněními (např. db_owner pro testovací účely nebo jemněji definovaná oprávnění pro produkci).
  • Hodnoty tenant_id, client_id a client_secret poté vložíme do konfigurace profiles.yml.

Závěr

Po dokončení těchto kroků se budeme schopni připojit k Fabric SQL Endpointu bez nutnosti ručního přihlášení. SPN autentizace je doporučený způsob pro automatizované datové pipeline, CI/CD procesy a produkční nasazení dbt projektů.

Rate this post
Rubrika: Fabric

O Ing. Jan Zedníček - Data Engineer & Controlling

Jmenuji se Honza Zedníček a působím jako data engineer freelancer. Během cca 10 let jsem zde shromáždil přes 600 IT case studies, průvodců, návodů a tipů určených zejména odborné veřejnosti, studentům a zájemcům o informace z oblastí Data Engineeringu, korporátních financí a reportingu. Zaměřuji se především na Microsoft technologie (on-prem i cloud) a různé synergické efekty v rámci jejich produktového portfolia pro dataře a finanční profesionály. Věnuji se také dalším platformám a významným hráčům z oblasti open source technologií. 🔥 Pokud vám tento článek pomohl, ocením referenci na vašem webu nebo zmínku v komunitě. A mám pro vás ještě tip: řešíte-li nějaký zapeklitý Excel problém, přihlašte se do naší Excel Facebook skupiny (2.4k+ členů), kde si pomáháme Excel CZ/SK diskuse ».

Leave a Reply

Your email address will not be published. Required fields are marked *