Taustatodennuksen ja -valtuutuksen yleiskatsaus
Fabric-kehittäjän kuormitusnäytteen taustapuolella on seuraavat todennustyönkulut.
Fabricilta pyyntöjen todentaminen ja käyttöoikeuksien myöntäminen kuormitukseen
Valtuutusotsikon rakenne
Valtuutusotsikossa käytetään tiettyä tunnusmuotoa:
SubjectAndAppToken1.0 subjectToken="delegated token", appToken="S2S token"
Tämä muoto sisältää kaksi erillistä tunnusta:
subjectToken
: Delegoitu tunnus, joka edustaa käyttäjää, jonka puolesta toimintoa suoritetaan.appToken
: Fabric-sovelluskohtainen tunnus.
Kaksoistunnusotsikon käyttämisen taustalla on kolme eri syytä:
Validation: Kuormitus voi varmistaa, että pyyntö on peräisin Fabricista, vahvistamalla
appToken
.Käyttäjäkonteksti:
subjectToken
tarjoaa käyttäjäkontekstin suoritettavalle toiminnolle.Palvelun välinen tietoliikenne: Kuormitus voi hankkia OBO-tunnuksen -sovelluksen avulla
subjectToken
, jolloin se voi kutsua muita palveluja käyttäjätunnuksella.
Todentaminen
SubjectAndAppToken-tunnuksen tärkeimmät todennustarkistukset ovat seuraavat:
Valtuutusotsikon arvon vahvistus ja jäsentäminen tehdään AuthenticateControlPlaneCall-menetelmällä . Tunnuksen on alettava SubjectAndAppToken1.0-etuliitteellä, ja siinä on oltava kaksi tunnusta :
subjectToken
jaappToken
.Entra-tunnuksen ominaisuuksien vahvistus: Sekä
appToken
subjectToken
että vahvistetaan yleiset Microsoft Entra -tunnuksen ominaisuudet ValidateAadTokenCommon-menetelmässä. Näitä ominaisuuksia ovat tunnuksen allekirjoitus, tunnuksen elinkaari, tunnuksen käyttäjäryhmä (kuormitussovelluksen kohderyhmä) ja tunnusversio (1.0) ja myöntäjä.appToken-ominaisuuksien vahvistus: -
appToken
ominaisuudella ei pitäisi olla vaatimustascp
, mutta sen arvona pitäisi ollaidtyp
sovellus. Tarkistamme myös tämäntid
vaatimuksen kuormituksen julkaisijan vuokraajatunnuksella.Esimerkki appToken-väitteistä:
{ "aud": "api://localdevinstance/00001111-aaaa-2222-bbbb-3333cccc4444/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-ominaisuuksien vahvistus: Varmista, että subjectToken-tunnus sisältää
scp
käyttökelpoisuuden sisältävän vaatimuksenFabricWorkloadControl
, että tunnuksen sisällä eiidtyp
ole vaatimusta ja että sillä on samaappid
kuin kohteessaappToken
.Esimerkki aiheentokennosta:
{ "aud": "api://localdevinstance/00001111-aaaa-2222-bbbb-3333cccc4444/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" }
Katso IAuthenticationService.
Muistiinpano
Kaikki mallikoodimme vahvistukset koskevat version 1.0 tunnuksia.
Valtuutus
Kun Fabric vahvisti pyynnön olevan peräisin Fabric-palvelusta (kohteen kautta appToken
), hän varmisti, että käyttäjällä on Fabric-käyttöoikeuksien metatietojen perusteella tarvittavat oikeudet toiminnon suorittamiseen.
Pyyntöjen todentaminen ja käyttöoikeuksien myöntäminen kuormituksesta Fabriciin
Kuormituksen hallintapyynnöt
Kuormituksenhallinnan ohjelmointirajapinnat ovat erityisiä Fabric-ohjelmointirajapintoja, jotka tukevat kuormituksia Fabric-kohteen elinkaaren hallinnan avulla. Nämä ohjelmointirajapinnat käyttävät samaa SubjectAndAppToken1.0-valtuutuksen otsikkomuotoa.
SubjectAndAppToken1.0 subjectToken="delegated token", appToken="S2S token"
Kuormituksesta tulevat kutsut, jotka sisälsivät seuraavat tunnukset:
subjectToken
: Käyttäjän delegoima tunnus (saatu OBO-työnkulun kautta), joka edustaa käyttäjää, jonka puolesta toimintoa suoritetaan. Fabric tarkistaa, että käyttäjällä on tarvittavat oikeudet tarvittavan toiminnon suorittamiseen.appToken
: Kuormitussovellukselle määritetty tunnus. Fabric tarkistaa, että tämä tunnus on peräisin Microsoft Entra -sovelluksesta kuormituksesta, johon asianmukainen Fabric-kohde kuuluu ja joka on kuormituksen julkaisijan vuokraajassa.
ValidatePermissions
Katso -menetelmä kohdassa Valtuutuskäsite.
Julkiset ohjelmointirajapinnat
Jos haluat kutsua julkisia Fabric-ohjelmointirajapintoja, kuormituksen tulee hankkia Microsoft Entra OBO -vakiotunnus, joka sisältää asiaankuuluvat ohjelmointirajapinnan vaikutusalueet, ja välittää se haltijatunnuksena pyynnön käyttöoikeuksien myöntämisen otsikkoon.
Katso FabricExtensionController.
Pyyntöjen todentaminen ja käyttöoikeuksien myöntäminen kuormituksesta FE kuormitukseen BE
Valtuutuksen otsikko
Valtuutusotsikko pyynnössä, joka lähetetään kuormituksen FE:stä kuormitukseen BE käyttää vakio haltijatunnusta.
Todentaminen
AuthenticateControlPlaneCall-menetelmä kuormituksessa BE on vastuussa tunnuksen vahvistamisesta. Ensisijaiset suoritettavat tarkistukset ovat seuraavat:
Tunnuksen elinikä: Varmistaa, että tunnuksen käyttöaika on kelvollinen.
Allekirjoitus: Tarkistaa tunnuksen todentamisen.
Kohderyhmä: tarkistaa, että tunnuksen yleisö vastaa Microsoft Entra -sovelluksen kuormitusmäärää.
Myöntäjä: vahvistaa tunnuksen myöntäjän.
Sallitut vaikutusalueet: Vahvistaa vaikutusalueet, joita tunnus saa käyttää.
Valtuutus tehdään käynnistämällä ValidatePermissions-menetelmä . Tämä menetelmä kutsuu Fabric-kuormituksenhallinnan resolvePermissions
päätepisteen ohjelmointirajapintaa asianomaiselle Fabric-kohteelle ja tarkistaa, että käyttäjällä on tarvittavat käyttöoikeudet toimintoon.
Pitkäkestoiset toiminnot – päivitystunnus
Valtuutus tehdään käynnistämällä ValidatePermissions-menetelmä . Tämä menetelmä kutsuu Fabric-kuormituksenhallinnan resolvePermissions
päätepisteen ohjelmointirajapintaa asianomaiselle Fabric-kohteelle ja tarkistaa, että käyttäjällä on tarvittavat käyttöoikeudet toimintoon.
Jos kuormituksiisi sisältyy esimerkiksi pitkäkestoisia toimintoja osana JobScheduleria, saatat törmätä tilanteeseen, jossa tunnuksen elinkaari ei riitä. Jos haluat lisätietoja pitkäkestoisen prosessin todentamisesta, pitkäkestoiset OBO-prosessit.