Autentiseringsöversikt
Infrastrukturarbetsbelastningar förlitar sig på integrering med Microsoft Entra-ID för autentisering och auktorisering.
Alla interaktioner mellan arbetsbelastningar och andra Fabric- eller Azure-komponenter måste åtföljas av korrekt autentiseringsstöd för begäranden som tas emot eller skickas. Token som skickas ut måste genereras korrekt och mottagna token måste också verifieras korrekt.
Vi rekommenderar att du bekantar dig med Microsofts identitetsplattform innan du börjar arbeta med Fabric-arbetsbelastningar. Vi rekommenderar också att du går över Microsofts identitetsplattform bästa praxis och rekommendationer.
Flöden
Från arbetsbelastningens klientdel till arbetsbelastningens serverdel
Ett exempel på sådan kommunikation är alla API:er för dataplanet. Den här kommunikationen görs med en ämnestoken (delegerad token).
Information om hur du hämtar en token i arbetsbelastningen FE finns i Autentiserings-API. Kontrollera dessutom att du går över tokenvalidering i översikten över autentisering och auktorisering för serverdelen.
Från infrastrukturserverdel till arbetsbelastningsserverdel
Ett exempel på sådan kommunikation är Skapa arbetsbelastningsobjekt. Den här kommunikationen görs med en SubjectAndApp-token, som är en särskild token som innehåller en apptoken och en ämnestoken kombinerad (se översikten över autentisering och auktorisering för serverdelen för mer information om den här token).
För att kommunikationen ska fungera måste användaren som använder den här kommunikationen ge sitt medgivande till Microsoft Entra-programmet.
Från arbetsbelastningsserverdelen till infrastrukturserverdelen
Detta görs med en SubjectAndApp-token för API:er för arbetsbelastningskontroll (till exempel ResolveItemPermissions) eller med en ämnestoken (för andra Infrastruktur-API:er).
Från arbetsbelastningsserverdel till externa tjänster
Ett exempel på sådan kommunikation är att skriva till en Lakehouse-fil. Detta görs med ämnestoken eller en apptoken, beroende på API:et.
Om du planerar att kommunicera med tjänster med hjälp av en ämnestoken kontrollerar du att du är bekant med Å flödens vägnar.
Se självstudien Autentisering för att konfigurera din miljö så att den fungerar med autentisering.
JavaScript-API för autentisering
Fabric-klientdelen erbjuder ett JavaScript-API för Fabric-arbetsbelastningar för att hämta en token för deras program i Microsoft Entra-ID. Innan du arbetar med JavaScript-API:et för autentisering måste du gå över dokumentationen för JavaScript API för autentisering.
Samtycker
Information om varför medgivande krävs finns i Användar- och administratörsmedgivande i Microsoft Entra-ID.
Hur fungerar medgivanden i Infrastrukturarbetsbelastningar?
För att bevilja ett medgivande för ett visst program skapar Fabric FE en MSAL-instans som konfigurerats med arbetsbelastningens program-ID och ber om en token för det angivna omfånget (additionalScopesToConsent – se AcquireAccessTokenParams).
När du ber om en token med arbetsbelastningsprogrammet för ett specifikt omfång visar Microsoft Entra-ID ett popup-medgivande om den saknas och omdirigerar sedan popup-fönstret till omdirigerings-URI : n som konfigurerats i programmet.
Vanligtvis finns omdirigerings-URI:n i samma domän som sidan som begärde token så att sidan kan komma åt popup-fönstret och stänga den.
I vårt fall finns den inte i samma domän eftersom Fabric begär token och omdirigerings-URI:n för arbetsbelastningen inte finns i infrastrukturresursdomänen, så när dialogrutan medgivande öppnas måste den stängas manuellt efter omdirigering – vi använder inte koden som returneras i redirectUri, och därför omsluter vi den automatiskt (när Microsoft Entra-ID omdirigerar popup-fönstret till omdirigerings-URI:n, stängs).
Du kan se koden/konfigurationen för omdirigerings-URI:n i filen index.ts. Den här filen finns i exemplet Microsoft-Fabric-workload-development-under klientdelsmappen.
Här är ett exempel på ett popup-fönster med medgivande för appen "min arbetsbelastningsapp" och dess beroenden (lagring och Power BI) som vi konfigurerade när vi gick över autentiseringsuppsättningen: