Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Fabric fejlesztői számítási feladatainak mintája a következő hitelesítési folyamatokat tartalmazza a háttéroldalon.
A Fabrictől a számítási feladathoz érkező kérések hitelesítése és engedélyezése
Engedélyezési fejlécstruktúra
Az engedélyezési fejléc egy adott jogkivonat-formátumot használ:
SubjectAndAppToken1.0 subjectToken="delegated token", appToken="S2S token"
Ez a formátum két különböző jogkivonatot tartalmaz:
-
subjectToken: Egy delegált jogkivonat, amely azt a felhasználót jelöli, akinek a nevében a műveletet végrehajtják. -
appToken: A Fabric-alkalmazáshoz tartozó jogkivonat.
A kettős jogkivonatos fejléc használatának indoka háromszoros:
Ellenőrzés: A számítási feladat ellenőrizheti, hogy a kérés a Fabricből származik-e a
appToken.Felhasználói környezet: Ez
subjectTokenegy felhasználói környezetet biztosít a végrehajtott művelethez.Szolgáltatásközi kommunikáció: A számítási feladat egy OBO-jogkivonatot szerezhet be a
subjectTokenfelhasználó jogkivonatával, lehetővé téve, hogy más szolgáltatásokat is meghívjon egy felhasználói jogkivonattal.
Hitelesítés
A SubjectAndAppToken fő hitelesítési ellenőrzései a következők:
Az engedélyezési fejléc értékének ellenőrzése és elemzése az AuthenticateControlPlaneCall metódusban történik. A jogkivonatnak a "SubjectAndAppToken1.0" előtaggal kell kezdődnie, és tartalmaznia kell két tokent –
subjectTokenésappToken.Entra-jogkivonat tulajdonságainak érvényesítése: Mindkettő
subjectToken, ésappTokena ValidateAadTokenCommon metódusban a Microsoft Entra-jogkivonatok közös tulajdonságai is érvényesítve vannak. Ezek a tulajdonságok közé tartozik a jogkivonat aláírása, a jogkivonat élettartama, a jogkivonat célközönsége (számítási feladat alkalmazás célközönsége), valamint a jogkivonat verziója (1.0) és a kiállító.appToken-tulajdonságok érvényesítése: Az
appTokenalkalmazásnak nemscpkell jogcímet igényelnie, hanem az alkalmazássalidtypkell rendelkeznie értékként. Ezt a jogcímettida számítási feladat közzétevőjének bérlőazonosítójában is ellenőrizzük.Minta appToken-jogcímek:
{ "aud": "api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/123", "iss": "https://sts.windows.net/12345678-77f3-4fcc-bdaa-487b920cb7ee/", "iat": 1700047232, "nbf": 1700047232, "exp": 1700133932, "aio": "E2VgYLjBuv2l+c6cmm/iP/bnL2v+AQA=", "appid": "11112222-bbbb-3333-cccc-4444dddd5555" "appidacr": "2", "idp": "https://sts.windows.net/12345678-77f3-4fcc-bdaa-487b920cb7ee/", "idtyp": "app", "oid": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "rh": "0.ACgAGX-u-vN3zE-9qkh7kgy37hQbaU7-v2xFr59O_foS7VLZAAA.", "sub": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "tid": "bbbbcccc-1111-dddd-2222-eeee3333ffff", "uti": "5bgMXs3uMUSAHCruRjACAA", "ver": "1.0" }subjectToken tulajdonságok érvényesítése: Győződjön meg arról, hogy a subjectToken tartalmaz egy
scphatókörrel rendelkezőFabricWorkloadControljogcímet, hogy nincsidtypjogcím a jogkivonatban, és hogy az megegyezikappidaappToken.Minta subjectToken jogcímek:
{ "aud": "api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/123", "iss": "https://sts.windows.net/12345678-77f3-4fcc-bdaa-487b920cb7ee/", "iat": 1700050446, "nbf": 1700050446, "exp": 1700054558, "acr": "1", "aio": "ATQAy/8VAAAAUgWRMRnBo4VGHvrKRykUXOXBNKS1cHnBxLrYkZJJGSjAVyJGBecbLdSud1GUakER", "amr": [ "pwd" ], "appid": "11112222-bbbb-3333-cccc-4444dddd5555" "appidacr": "2", "ipaddr": "46.117.19.50", "name": "john doe", "oid": "bbbbbbbb-1111-2222-3333-cccccccccccc", "rh": "0.ASgAGX-u-vN3zE-9qkh7kgy37hQbaU7-v2xFr59O_foS7VLZANQ.", "scp": "FabricWorkloadControl", "sub": "X0Wl85UA-uOmdkQz5MoT-hEgYZXDq9FYdS8g2bFUaZA", "tid": "bbbbcccc-1111-dddd-2222-eeee3333ffff", "unique_name": "user1@constso.com", "upn": "user1@constso.com", "uti": "_llZwmJoSUiHv-kw6tfDAA", "ver": "1.0" }
Lásd: IAuthenticationService.
Feljegyzés
A mintakódban szereplő összes ellenőrzés az 1.0-s verziójú jogkivonatokra érvényes.
Engedélyezés
Miután meggyőződött arról, hogy a kérés a Fabric szolgáltatásból származik (a appToken), a Fabric ellenőrizte, hogy a felhasználó rendelkezik-e a művelet végrehajtásához szükséges engedélyekkel a Fabric engedélyeinek metaadatai alapján.
A számítási feladatból a Fabricbe irányuló kérések hitelesítése és engedélyezése
Számítási feladatok vezérlési kérelmei
A munkaterhelés-vezérlési API-k speciális Fabric API-k, amelyek támogatják a számítási feladatokat a Fabric-elemek életciklusának felügyeletével. Ezek az API-k ugyanazt a SubjectAndAppToken1.0 engedélyezési fejlécformátumot használják.
SubjectAndAppToken1.0 subjectToken="delegated token", appToken="S2S token"
A számítási feladatból érkező hívások a következő jogkivonatokat tartalmazzák:
subjectToken: A felhasználó által delegált jogkivonat (az OBO-folyamaton keresztül szerezve), amely azt a felhasználót jelöli, akinek a nevében a műveletet végrehajtják. A háló ellenőrzi, hogy a felhasználó rendelkezik-e a szükséges engedélyekkel a szükséges művelet végrehajtásához.appToken: A számítási feladat alkalmazásához tartozó jogkivonat. A Fabric ellenőrzi, hogy ez a jogkivonat annak a számítási feladatnak a Microsoft Entra-alkalmazásából származik-e, amelyhez a releváns Fabric-elem tartozik, és amely a számítási feladat közzétevőjének bérlőjén található.
Tekintse meg a metódust az ValidatePermissions AuthorizationHandlerben.
Nyilvános API-k
A nyilvános Fabric API-k meghívásához a számítási feladatnak be kell szereznie egy szabványos Microsoft Entra OBO-jogkivonatot a vonatkozó API-hatókörökkel, és tulajdonosi jogkivonatként kell átadnia a kérés engedélyezési fejlécében.
Lásd: FabricExtensionController.
A számítási feladat fe-től a számítási feladat be-be felé irányuló kéréseinek hitelesítése és engedélyezése
Engedélyezési fejléc
A számítási feladat FE-éről a számítási feladat BE-nek küldött kérelem engedélyezési fejléce egy szabványos tulajdonosi jogkivonatot használ.
Hitelesítés
A token érvényesítéséért a számítási feladat BE-ben található AuthenticateControlPlaneCall metódus felelős. Az elsődleges ellenőrzések a következők:
Jogkivonat élettartama: Biztosítja, hogy a jogkivonat az érvényes használati időszakon belül legyen.
Aláírás: Ellenőrzi a jogkivonat hitelességét.
Célközönség: Ellenőrzi, hogy a jogkivonat célközönsége megegyezik-e a Számítási feladat Microsoft Entra alkalmazásával.
Kiállító: Ellenőrzi a jogkivonat kiállítóját.
Engedélyezett hatókörök: Ellenőrzi, hogy a jogkivonat mely hatókörökhöz férhet hozzá.
Az engedélyezés a ValidatePermissions metódus meghívásával érhető el. Ez a metódus meghívja az API-t a resolvePermissions Háló munkaterhelés-vezérlési végpontjában a megfelelő Fabric-elemhez, és ellenőrzi, hogy a felhasználó rendelkezik-e a művelethez szükséges engedélyekkel.
Hosszú ideig futó műveletek – jogkivonat frissítése
Az engedélyezés a ValidatePermissions metódus meghívásával érhető el. Ez a metódus meghívja az API-t a resolvePermissions Háló munkaterhelés-vezérlési végpontjában a megfelelő Fabric-elemhez, és ellenőrzi, hogy a felhasználó rendelkezik-e a művelethez szükséges engedélyekkel.
Ha a számítási feladatok hosszú ideig futó műveleteket tartalmaznak, például a JobScheduler részeként előfordulhat, hogy a token élettartama nem elegendő. A hosszú ideig futó folyamat hitelesítéséről további információt a hosszan futó OBO-folyamatokban talál.