Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Ukážka vyťaženia vývojára služby Fabric obsahuje na strane serveru nasledujúce postupy overovania.
Overovanie a oprávnenie požiadaviek zo služby Fabric na vyťaženie
Štruktúra hlavičky oprávnenia
Hlavička oprávnenia používa konkrétny formát tokenu:
SubjectAndAppToken1.0 subjectToken="delegated token", appToken="S2S token"
Tento formát obsahuje dva odlišné tokeny:
-
subjectToken: Delegovaný token predstavujúci používateľa, v mene ktorého sa operácia vykonáva. -
appToken: Token špecifický pre aplikáciu Fabric.
Trinásobné zdôvodnenie používania hlavičky duálneho tokenu:
Overenie: Vyťaženie môže overiť, či žiadosť pochádza z fabricu overením
appTokenvlastnosti .Kontext používateľa: poskytuje
subjectTokenpoužívateľský kontext pre vykonávanú akciu.Komunikácia medzi službami: Vyťaženie môže získať token on-behalf-of (OBO) pomocou
subjectTokenrozhrania , čo mu umožní volať iné služby pomocou používateľského tokenu.
Overovanie
Hlavné kontroly overenia vykonané pre subjectAndAppToken sú:
Overenie a analýza hodnoty hlavičky oprávnenia sa vykonáva v metóde AuthenticateControlPlaneCall . Token musí začínať predponou SubjectAndAppToken1.0 a musí obsahovať dva tokeny –
subjectTokenaappToken.Overenie vlastností tokenu Entra: Oba
subjectTokenaappTokensú overené pre bežné vlastnosti tokenu Microsoft Entra v metóde ValidateAadTokenCommon . Tieto vlastnosti zahŕňajú podpis tokenu, životnosť tokenu, cieľovú skupinu tokenov (publikum aplikácie vyťaženia) a verziu tokenu (1.0) a vydavateľa.Overenie vlastností appToken: The
appTokenby nemal maťscpnárok, ale mal by mať nárok s aplikáciouidtypako hodnotou. Toto tvrdenie si tiež overímetidv ID nájomníka vydavateľa vyťaženia.Vzorové nároky appToken:
{ "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" }Overenie vlastností subjectToken: Uistite sa, že subjektToken obsahuje požiadavku
scpsFabricWorkloadControlrozsahom, že sa v tokene nenachádza žiadneidtyptvrdenie a že je rovnakýappidako v argumenteappToken.Vzorové tvrdenia subjektuToken:
{ "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" }
Pozrite si tému IAuthenticationService.
Poznámka
Všetky overenia v našom vzorovom kóde sú pre tokeny verzie 1.0.
Oprávnenie
Po potvrdení, že žiadosť pochádza zo služby Fabric (prostredníctvom appToken), fabric overil, že používateľ má potrebné povolenia na vykonanie danej akcie na základe metaúdajov povolení služby Fabric.
Overovanie a oprávnenie žiadostí z vyťaženia do služby Fabric
Požiadavky na ovládací prvok vyťaženia
Rozhrania API na riadenie vyťaženia sú špeciálne rozhrania API služby Fabric, ktoré podporujú vyťaženia pomocou spravovania životného cyklu položky služby Fabric. Tieto rozhrania API používajú rovnaký formát hlavičiek SubjectAndAppToken1.0 oprávnenia.
SubjectAndAppToken1.0 subjectToken="delegated token", appToken="S2S token"
Volania prichádzajúce z vyťaženia zahŕňali nasledujúce tokeny:
subjectToken: Token delegovaný používateľom (získaný prostredníctvom postupu OBO), ktorý predstavuje používateľa, v mene ktorého sa vykonáva operácia. Fabric overí, či má používateľ požadované povolenia na vykonanie potrebnej akcie.appToken: Token špecifický pre aplikáciu na vyťaženie. Fabric skontroluje, či tento token pochádza z aplikácie Microsoft Entra vyťaženia, do ktorých patrí príslušná položka služby Fabric a ktorá sa nachádza v nájomníkovi vydavateľa vyťaženia.
Pozrite si metódu ValidatePermissions v časti AuthorizationHandler.
Verejné rozhrania API
Ak chcete volať verejné rozhrania API služby Fabric, vyťaženie by malo získať štandardný token Microsoft Entra OBO s príslušnými rozsahmi rozhrania API a odovzdať ho ako nosný token v hlavičke oprávnenia žiadosti.
Pozrite si tému FabricExtensionController.
Overovanie a oprávnenie požiadaviek z nástroja FE na vyťaženie služby FE
Hlavička oprávnenia
Hlavička oprávnenia v žiadosti odoslanej z nástroja FE vyťaženia do služby BE používa štandardný nosný token.
Overovanie
Metóda AuthenticateControlPlaneCall v službe BE zodpovedá za overenie tokenu. Vykonané primárne kontroly sú:
Životnosť tokenu: Zaistí, že token sa nachádza v rámci platného obdobia používania.
Podpis: overí pravosť tokenu.
Cieľová skupina: Skontroluje, či cieľová skupina tokenu zodpovedá vyťaženiu aplikácie Microsoft Entra.
Emitent: Overí emitenta tokenu.
Povolené rozsahy: Overí rozsahy, ku ktorým má token prístup.
Povolenie sa dosiahne vyvolaním metódy ValidatePermissions . Táto metóda volá rozhranie resolvePermissions API v koncovom bode ovládacieho prvku vyťaženia služby Fabric pre príslušnú položku služby Fabric a overí, či má používateľ potrebné povolenia na operáciu.
Dlhotrvajúce operácie – obnovenie tokenu
Povolenie sa dosiahne vyvolaním metódy ValidatePermissions . Táto metóda volá rozhranie resolvePermissions API v koncovom bode ovládacieho prvku vyťaženia služby Fabric pre príslušnú položku služby Fabric a overí, či má používateľ potrebné povolenia na operáciu.
Ak vaše vyťaženia zahŕňajú dlhotrvajúce operácie, napríklad ako súčasť ponuky JobScheduler , môže sa vyskytnúť situácia, v ktorej nie je životnosť tokenu postačujúca. Ďalšie informácie o overenia dlhotrvajúcich procesoch OBO, ktoré sú spustené dlho.