Hitelesítés JavaScript API

A Fabric előtér egy JavaScript API-t kínál a Fabric számítási feladataihoz, hogy jogkivonatot szerezzen be az alkalmazáshoz a Microsoft Entra ID-ban. Ez a cikk ezt az API-t ismerteti.

API

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

Az API egy AccessToken objektumot ad vissza, amely magában a jogkivonatban és a jogkivonat lejárati dátumát tartalmazza.

Ha meg szeretné hívni az API-t az előtérbeli mintában, hozzon létre egy mintaelemet, majd görgessen lefelé, és válassza a Navigálás a hitelesítés lapra lehetőséget. Innen kiválaszthatja a Hozzáférési jogkivonat lekérése lehetőséget, hogy visszakapja a jogkivonatot.

Képernyőkép a hitelesítési szakaszról.

Hozzájárulások

Annak megértéséhez, hogy miért van szükség hozzájárulásra, tekintse át a felhasználói és rendszergazdai hozzájárulást a Microsoft Entra-azonosítóban.

Feljegyzés

Hozzájárulásra van szükség ahhoz, hogy a CRUD/Jobs működjön, és jogkivonatokat szerezzen be a bérlők között.

Hogyan működnek a hozzájárulások a Háló számítási feladataiban?

Egy adott alkalmazáshoz való hozzájárulás megadásához a Fabric FE létrehoz egy MSAL-példányt , amely a számítási feladat alkalmazásazonosítójával van konfigurálva, és jogkivonatot kér a megadott hatókörökhöz (továbbiScopesToConsent – lásd : AcquireAccessTokenParams).

Amikor egy adott hatókörhöz tartozó jogkivonatot kér a számítási feladat alkalmazásához, a Microsoft Entra-azonosító megjelenít egy előugró hozzájárulást, ha hiányzik, majd átirányítja az előugró ablakot az alkalmazásban konfigurált átirányítási URI-ra .

Az átirányítási URI általában ugyanabban a tartományban van, mint a jogkivonatot lekért lap, így a lap hozzáférhet az előugró ablakhoz, és bezárhatja azt.

Esetünkben nem ugyanabban a tartományban van, mivel a Fabric a jogkivonatot kéri, és a számítási feladat átirányítási URI-ja nem a Háló tartományban található. Így amikor megnyílik a hozzájárulási párbeszédpanel, manuálisan kell bezárni az átirányítás után. Nem használjuk a redirectUri-ban visszaadott kódot, ezért csak automatikusan bezárjuk (amikor a Microsoft Entra ID átirányítja az előugró URI-t az átirányítási URI-ra, egyszerűen bezáródik).

A index.ts fájlban láthatja az átirányítási Uri kódját/konfigurációját.

Íme egy példa az alkalmazás "saját számítási feladat alkalmazásának" és függőségeinek (storage és Power BI) hozzájárulási előugró ablakára, amelyet a hitelesítés beállításakor konfiguráltunk:

Képernyőkép a Szükséges engedélyek párbeszédpanelről.

Egy másik lehetőség a hozzájárulások megadására az otthoni bérlőben (nem kötelező)

Ha az alkalmazás otthoni bérlőjéhez szeretne hozzájárulást kérni, kérje meg a bérlő rendszergazdáját, hogy adjon hozzájárulást a teljes bérlőhöz egy URL-cím használatával a következő formátumban (szúrja be a saját bérlőazonosítóját és az ügyfélazonosítót):

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

AcquireAccessTokenParams

A acquireAccessToken JS API meghívásakor három paramétert adhatunk meg:

  • additionalScopesToConsent: Más hatókörök, például újraértelmezett forgatókönyvek, hozzájárulás kérése.
  • claimsForConditionalAccessPolicy: A Microsoft Entra-azonosítóból visszaadott jogcímek, amikor az OBO-folyamatok meghiúsulnak, például az OBO többtényezős hitelesítést igényel.
  • promptFullConsent: A számítási feladatok alkalmazás statikus függőségeinek teljes jóváhagyási ablakát kéri.

additionalScopesToConsent

Ha a számítási feladat előtér egy jogkivonatot kér a számítási feladat háttérrendszerének hívásaihoz, ennek a paraméternek null értékűnek kell lennie. A számítási feladatok háttérrendszere nem tudja végrehajtani az OBO-t a kapott jogkivonaton, mert hiányzik egy hozzájárulási hiba, ebben az esetben a számítási feladat háttérrendszerének propagálja a hibát a számítási feladat előterében, és meg kell adnia ezt a paramétert.

claimsForConditionalAccessPolicy

Ezt a paramétert akkor használja a rendszer, ha OBO-hibákba ütközik a számítási feladat BE-ben a bérlőn konfigurált feltételes hozzáférési szabályzat miatt.

A feltételes hozzáférési szabályzatok miatt fellépő OBO-hibák egy "jogcím" nevű sztringet adnak vissza. Ezt a sztringet el kell küldeni a számítási feladat fe-jének, ahol az FE-nek jogkivonatot kell kérnie, és jogcímként kell átadnia a jogcímetForConditionalAccessPolicy néven. További információ: Többtényezős hitelesítés (MFA), feltételes hozzáférés és növekményes hozzájárulás kezelése.

Tekintse meg az AuthenticationService AddBearerClaimToResponse használatát a BE-mintában, ahol példákat talál a válaszokra, ha az OBO-műveletek a hozzájárulás hiánya vagy a feltételes hozzáférési szabályzatok miatt meghiúsulnak.

Ha többet szeretne megtudni erről a továbbiScopesToConsent és claimsForConditionalAccessPolicy szolgáltatásról, és példákat szeretne látni a használatra, tekintse meg a számítási feladatok hitelesítési irányelveit és részletes áttekintését.

promptFullConsent

Ha igazként ad át, a statikus függőségek teljes jóváhagyása megnyílik a felhasználó számára, függetlenül attól, hogy korábban adott-e hozzájárulást. Ennek a paraméternek például egy gombot kell hozzáadnia a UX-hoz, ahol a felhasználó teljes hozzájárulást adhat a számítási feladathoz.