Dela via


Tjänsthuvudman i Fabric Data Warehouse

gäller för:✅ Warehouse i Microsoft Fabric

Ett Huvudnamn för Azure-tjänsten (SPN) är en säkerhetsidentitet som används av program eller automatiseringsverktyg för att få åtkomst till specifika Azure-resurser. Till skillnad från användaridentiteter är tjänstens huvudnamn icke-interaktiva, programbaserade identiteter som kan tilldelas exakta behörigheter, vilket gör dem perfekta för automatiserade processer eller bakgrundstjänster. Genom att använda tjänstens huvudnamn kan du ansluta till dina datakällor på ett säkert sätt samtidigt som du minimerar riskerna för mänskliga fel och identitetsbaserade sårbarheter. Mer information om tjänstens principer finns i Objekt för applikationer och tjänstens principer i Microsoft Entra-ID.

Förutsättningar

  1. Skapa ett huvudnamn för tjänsten, tilldela roller och skapa hemlighet med hjälp av Azure.

  2. Se till att klientadministratören kan aktivera Tjänstens huvudnamn kan använda Infrastruktur-API:er i infrastrukturadministrationsportalen.

  3. Se till att en användare med rollen Administratör arbetsyta kan bevilja åtkomst för ett SPN via Hantera åtkomst på arbetsytan.

    Skärmbild från Fabric-portalen i popup-fönstret Hantera åtkomst.

Skapa och få åtkomst till lager via REST API:er med SPN

Användare med administratörs-, medlems- eller deltagarroll i arbetsytan kan använda tjänstprinciper för autentisering för att skapa, uppdatera, läsa och ta bort objekt i informationslagret via Fabric REST API:er. På så sätt kan du automatisera repetitiva uppgifter, till exempel etablering eller hantering av lager utan att förlita dig på användarautentiseringsuppgifter.

Om du använder ett delegerat konto eller en fast identitet (ägarens identitet) för att skapa lagret använder lagret den autentiseringsuppgiften vid åtkomst till OneLake. Detta skapar ett problem när ägaren lämnar organisationen, eftersom lagret slutar fungera. Undvik detta genom att skapa lager med hjälp av ett SPN.

Fabric kräver också att användaren loggar in var 30:e dag för att säkerställa att en giltig token tillhandahålls för säkerhetsskäl. För ett datavaruhus måste ägaren logga in på Fabric var 30:e dag. Detta kan automatiseras med hjälp av ett SPN med api:et List.

Skärmbild av ett FABRIC API POST-anrop med hjälp av ett SPN.

Lager som skapats av ett SPN med hjälp av REST-API:er visas i listvyn Arbetsyta i Fabric-portalen, med Ägare namn som SPN. I följande bild, en skärmbild från arbetsytan i Fabric-portalen, är "Fabric Public API test app" det SPN som skapade Contoso Marketing Warehouse.

Skärmbild från Fabric-portalen i arbetsytans objektlista. Ett lager visas. Dess ägare är inte ett personligt konto utan ett SPN.

Ansluta till klientprogram med SPN

Du kan ansluta till Fabric-lager genom att använda tjänstprincipals med verktyg som SQL Server Management Studio (SSMS) 19 eller senare versioner.

  • Autentisering: Microsoft Entra Service Principal
  • Användarnamn: Klient-ID för SPN (skapas via Azure i avsnittet Krav)
  • Lösenord: Hemlighet (skapas via Azure i avsnittet Krav)

Skärmbild av inloggning i Fabric med ett SPN i SQL Server Management Studio (SSMS).

Behörigheter för kontrollplanen

SPN kan beviljas åtkomst till lager med hjälp av arbetsyteroller via Hantera åtkomst på arbetsytan. Dessutom kan lager delas med ett SPN via Fabric-portalens objektbehörigheter.

Behörigheter för dataplan

När lager har tilldelats behörigheter för kontrollplan till ett SPN via arbetsyteroller eller objektbehörigheter kan administratörer använda T-SQL-kommandon som GRANT för att tilldela specifika dataplansbehörigheter till tjänsteprinciper och därmed exakt kontrollera vilka metadata, data och åtgärder ett SPN har åtkomst till. Det rekommenderas att man följer principen om minst privilegium.

Till exempel:

GRANT SELECT ON <table name> TO <service principal name>;

När behörigheter har beviljats kan SPN ansluta till klientprogramverktyg som SSMS, vilket ger säker åtkomst för utvecklare att köra COPY INTO (med och utan brandväggsaktiverad lagring) och även köra T-SQL-frågor programmatiskt enligt ett schema med Data Factory-pipelines.

Skärmbild av en fråga och resulterar i SQL Server Management Studio (SSMS), där användaren har använt ett Azure Storage-objekt med hjälp av SPN.

Bildskärm

När ett SPN kör frågor i lagret finns det olika övervakningsverktyg som ger insyn i vilken användare eller SPN som har kört frågan. Du hittar användaren för frågeaktivitet på följande sätt:

Mer information finns i Monitor Fabric Data Warehouse.

API för övertagande

Ägarskapet för lager kan ändras från ett SPN till en användare och från en användare till ett SPN.

  • Övertagande från SPN eller användare till användare: Se Ändring av ägarskap för Fabric Warehouse.

  • Övertagande från SPN eller användare till SPN: Använd ett POST-anrop på REST-API:et.

    POST <PowerBI Global Service FQDN>/v1.0/myorg/groups/{workspaceid}/datawarehouses/{warehouseid}/takeover
    

Begränsningar

Begränsningar för tjänstprincipaler med Microsoft Fabric Data Warehouse:

  • Standard semantiska modeller stöds inte för SPN-skapade lager och därför fungerar inte funktioner som att lista tabeller i datamängdsvyn, skapa rapport från standarddatauppsättningen.
  • För närvarande stöds inte service principal för SQL-analysslutpunkter.
  • Tjänstens huvudnamn eller autentiseringsuppgifter för Entra-ID stöds för närvarande inte för COPY INTO-felfiler.
  • Serviceprincipaler stöds inte för GIT-API:er. SPN-stöd finns endast för Deployment pipeline API:er.