Share via


Overzicht van verificatie (preview)

Infrastructuurworkloads zijn afhankelijk van integratie met Microsoft Entra-id voor verificatie en autorisatie.

Alle interacties tussen workloads en andere Fabric- of Azure-onderdelen moeten vergezeld gaan van de juiste verificatieondersteuning voor ontvangen of verzonden aanvragen. Tokens die worden verzonden, moeten correct worden gegenereerd en tokens die worden ontvangen, moeten ook correct worden gevalideerd.

Het is raadzaam om vertrouwd te raken met het Microsoft Identity Platform voordat u begint met het werken met Fabric-workloads. Het wordt ook aanbevolen om de best practices en aanbevelingen van het Microsoft Identity Platform te doorlopen.

Stromen

  • Van de front-end van de workload naar de back-end van de workload

    Een voorbeeld van dergelijke communicatie is een API voor het gegevensvlak. Deze communicatie wordt uitgevoerd met een onderwerptoken (gedelegeerd token).

    Lees verificatie-API voor informatie over het verkrijgen van een token in de workload FE. Zorg er bovendien voor dat u de tokenvalidatie doorloopt in het overzicht van back-endverificatie en autorisatie.

  • Van fabric-back-end naar back-end van workload

    Een voorbeeld van een dergelijke communicatie is een workloaditem maken. Deze communicatie wordt uitgevoerd met een SubjectAndApp-token, een speciaal token dat een app-token en een onderwerptoken bevat gecombineerd (zie het overzicht van back-endverificatie en autorisatie voor meer informatie over dit token).

    Om deze communicatie te laten werken, moet de gebruiker die deze communicatie gebruikt toestemming geven voor de Entra-toepassing.

  • Van back-end van workload naar fabric-back-end

    Dit wordt gedaan met een SubjectAndApp-token voor workloadbeheer-API's (bijvoorbeeld ResolveItemPermissions) of met een onderwerptoken (voor andere Fabric-API's).

  • Van back-end van workload naar externe services

    Een voorbeeld van een dergelijke communicatie is het schrijven naar een Lakehouse-bestand. Dit wordt gedaan met een onderwerptoken of een app-token, afhankelijk van de API.

    Als u van plan bent om te communiceren met services met behulp van een onderwerptoken, moet u ervoor zorgen dat u bekend bent met namens stromen.

    Raadpleeg de zelfstudie Verificatie om uw omgeving in te stellen voor gebruik met verificatie.

Werken met tokens

Uw front-end moet om een token workloadClient.auth.acquireAccessToken({});vragen. U kunt dit token gebruiken om te verifiëren met uw back-end.

Als u toegang wilt krijgen tot een bepaalde resource, stuurt u uw token naar de back-end en probeert u het uit te wisselen met behulp van een OBO-stroom voor die resource. U kunt ook het token gebruiken dat is ontvangen van BESTURINGS-API's (CRUD/Jobs) en proberen om te wisselen voor die resource.

Als de uitwisseling om toestemmingsredenen mislukt, meldt u uw front-end en roept workloadClient.auth.acquireAccessToken({additionalScopesToConsent:[resource]}); u het aan en voert u het proces opnieuw uit.

Als de uitwisseling om MFA-redenen mislukt, meldt u uw front-end samen met de claim die is ontvangen bij het uitwisselen en aanroepen workloadClient.auth.acquireAccessToken({claimsForConditionalAccessPolicy:claims});.

Zie voor voorbeelden: Voorbeeld van foutreactie.

Notitie

Het token dat u ontvangt bij het verkrijgen van een token in de front-end is niet gerelateerd aan additionalScopesToConsent die u doorgeeft. Dit betekent dat wanneer de gebruiker toestemming heeft gegeven, u elk token kunt gebruiken dat u hebt workloadClient.auth.acquireAccessToken ontvangen voor uw OBO-stroom.

JavaScript-API voor verificatie

Front-end fabric biedt een JavaScript-API voor Fabric-workloads om een token te verkrijgen voor hun toepassing in Microsoft Entra ID. Voordat u met de JavaScript-API voor verificatie werkt, moet u de documentatie over de JavaScript-API voor verificatie doorlopen.

API

acquireAccessToken(params: AcquireAccessTokenParams): Promise<AccessToken>;
export interface AcquireAccessTokenParams {
additionalScopesToConsent?: string[];
claimsForConditionalAccessPolicy?: string;
}

De API retourneert een AccessToken-object dat het token zelf bevat en een vervaldatum voor het token.

Als u de API wilt aanroepen in het front-endvoorbeeld, maakt u een voorbeelditem en schuift u omlaag en selecteert u Navigeer naar de verificatiepagina. Hier kunt u toegangstoken ophalen selecteren en ontvangt u een token terug.

Schermopname van het ophalen van tokens voor JavaScript API-verificatie.

Toestemmingen

Als u wilt weten waarom toestemmingen vereist zijn, controleert u de toestemming van de gebruiker en beheerder in Microsoft Entra-id.

Notitie

Toestemmingen zijn vereist om CRUD/Taken te laten werken en tokens te verkrijgen tussen tenants.

Hoe werken toestemmingen in Fabric-workloads?

Als u een toestemming wilt verlenen voor een specifieke toepassing, maakt Fabric FE een MSAL-exemplaar dat is geconfigureerd met de toepassings-id van de workload en vraagt om een token voor het opgegeven bereik (additionalScopesToConsent - zie AcquireAccessTokenParams).

Wanneer u wordt gevraagd om een token met de workloadtoepassing voor een specifiek bereik, geeft Microsoft Entra ID een pop-uptoestemming weer voor het geval deze ontbreekt en stuurt u het pop-upvenster om naar de omleidings-URI die in de toepassing is geconfigureerd.

Normaal gesproken bevindt de omleidings-URI zich in hetzelfde domein als de pagina die het token heeft aangevraagd, zodat de pagina toegang heeft tot de pop-up en sluit deze.

In ons geval bevindt het zich niet in hetzelfde domein, omdat Fabric het token aanvraagt en de omleidings-URI van de workload zich niet in het fabric-domein bevindt, dus wanneer het toestemmingsdialoogvenster wordt geopend, moet het handmatig worden gesloten na omleiding. We gebruiken de code die wordt geretourneerd in de omleidings-URI niet. Daarom sluiten we deze gewoon automatisch in (wanneer de pop-up-id van Microsoft Entra de pop-up omleidt naar de omleidings-URI, het wordt gesloten).

U ziet de code/configuratie van de omleidings-URI in het bestand index.ts. Dit bestand vindt u in het microsoft-Fabric-workload-development-sample, onder de front-endmap.

Hier volgt een voorbeeld van een pop-up van toestemming voor onze app 'mijn workload-app' en de bijbehorende afhankelijkheden (opslag en Power BI) die we hebben geconfigureerd bij het instellen van de verificatie:

Schermopname van de pop-up voor toestemming.

We zien hoe we met toestemmingen kunnen werken wanneer we praten over AcquireAccessTokenParams.

Een andere manier om toestemming te verlenen in de thuistenant (optioneel)

Raadpleeg de JavaScript-API-documentatie voor meer informatie over het verlenen van toestemmingen in de basistenant van de toepassing met behulp van de volgende URL (voeg uw tenant-id en de client-id in):

https://login.microsoftonline.com/{tenantId}/adminconsent?client_id={clientId}