RelyingParty
Feljegyzés
Az Azure Active Directory B2C-ben az egyéni szabályzatok elsősorban összetett helyzetek kezelésére szolgálnak. A legtöbb forgatókönyv esetében javasoljuk, hogy beépített felhasználói folyamatokat használjon. Ha még nem tette meg, ismerkedjen meg az egyéni szabályzatok kezdőcsomagjával az Egyéni szabályzatok használatának első lépései az Active Directory B2C-ben.
A függő entitás (RelyingParty) elem határozza meg az Azure Active Directory B2C (Azure AD B2C) felé irányuló aktuális kérés esetén kényszerítendő felhasználói interakciósorozatot. Emellett meghatározza azon jogcímek listáját, amelyekre a függő entitás alkalmazásának szüksége van a kiadott jogkivonat részeként. Egy RP-alkalmazás, például egy webes, mobil vagy asztali alkalmazás meghívja az RP-szabályzatfájlt. Az RP-házirendfájl egy adott feladatot hajt végre, például bejelentkezik, új jelszót állít be vagy profilt szerkeszt. Több alkalmazás is használhatja ugyanazt az RP-szabályzatot, és egyetlen alkalmazás több szabályzatot is használhat. Minden RP-alkalmazás ugyanazt a jogkivonatot kapja jogcímekkel, és a felhasználó ugyanazon a felhasználói folyamaton megy keresztül.
Az alábbi példa egy RelyingParty elemet mutat be a B2C_1A_signup_signin házirendfájlban:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TrustFrameworkPolicy
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
PolicySchemaVersion="0.3.0.0"
TenantId="your-tenant.onmicrosoft.com"
PolicyId="B2C_1A_signup_signin"
PublicPolicyUri="http://your-tenant.onmicrosoft.com/B2C_1A_signup_signin">
<BasePolicy>
<TenantId>your-tenant.onmicrosoft.com</TenantId>
<PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId>
</BasePolicy>
<RelyingParty>
<DefaultUserJourney ReferenceId="SignUpOrSignIn" />
<UserJourneyBehaviors>
<SingleSignOn Scope="Tenant" KeepAliveInDays="7"/>
<SessionExpiryType>Rolling</SessionExpiryType>
<SessionExpiryInSeconds>900</SessionExpiryInSeconds>
<JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="your-application-insights-key" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
<ContentDefinitionParameters>
<Parameter Name="campaignId">{OAUTH-KV:campaignId}</Parameter>
</ContentDefinitionParameters>
</UserJourneyBehaviors>
<TechnicalProfile Id="PolicyProfile">
<DisplayName>PolicyProfile</DisplayName>
<Description>The policy profile</Description>
<Protocol Name="OpenIdConnect" />
<Metadata>collection of key/value pairs of data</Metadata>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="givenName" />
<OutputClaim ClaimTypeReferenceId="surname" />
<OutputClaim ClaimTypeReferenceId="email" />
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
<OutputClaim ClaimTypeReferenceId="identityProvider" />
<OutputClaim ClaimTypeReferenceId="loyaltyNumber" />
</OutputClaims>
<SubjectNamingInfo ClaimType="sub" />
</TechnicalProfile>
</RelyingParty>
...
Az opcionális RelyingParty elem a következő elemeket tartalmazza:
Elem | Események | Leírás |
---|---|---|
DefaultUserJourney | 1:1 | Az RP-alkalmazás alapértelmezett felhasználói folyamata. |
Végpontok | 0:1 | Végpontok listája. További információ: UserInfo endpoint. |
UserJourneyBehaviors | 0:1 | A felhasználói folyamat viselkedésének hatóköre. |
TechnicalProfile | 1:1 | Az RP-alkalmazás által támogatott műszaki profil. A műszaki profil szerződést biztosít az RP-alkalmazás számára, hogy kapcsolatba lépjen az Azure AD B2C-vel. |
A RelyingParty gyermekelemeket az előző táblázatban bemutatott sorrendben kell létrehoznia.
Végpontok
A Végpontok elem a következő elemet tartalmazza:
Elem | Események | Leírás |
---|---|---|
Végpont | 1:1 | Egy végpontra mutató hivatkozás. |
A Végpont elem a következő attribútumokat tartalmazza:
Attribútum | Kötelező | Leírás |
---|---|---|
Azonosító | Igen | A végpont egyedi azonosítója. |
UserJourneyReferenceId | Igen | A felhasználói folyamat azonosítója a szabályzatban. További információkért tekintse meg a felhasználói folyamatokat |
Az alábbi példa egy UserInfo-végponttal rendelkező függő entitást mutat be:
<RelyingParty>
<DefaultUserJourney ReferenceId="SignUpOrSignIn" />
<Endpoints>
<Endpoint Id="UserInfo" UserJourneyReferenceId="UserInfoJourney" />
</Endpoints>
...
DefaultUserJourney
Az DefaultUserJourney
elem az Alap- vagy Bővítményszabályzatban meghatározott felhasználói folyamat azonosítójára mutató hivatkozást ad meg. Az alábbi példák a RelyingParty elemben megadott regisztrációs vagy bejelentkezési felhasználói folyamatot mutatják be:
B2C_1A_signup_signin szabályzat:
<RelyingParty>
<DefaultUserJourney ReferenceId="SignUpOrSignIn">
...
B2C_1A_TrustFrameWorkBase vagy B2C_1A_TrustFrameworkExtensionPolicy:
<UserJourneys>
<UserJourney Id="SignUpOrSignIn">
...
A DefaultUserJourney elem a következő attribútumot tartalmazza:
Attribútum | Kötelező | Leírás |
---|---|---|
Referenciaazonosító | Igen | A felhasználói folyamat azonosítója a szabályzatban. További információkért tekintse meg a felhasználói folyamatokat |
UserJourneyBehaviors
A UserJourneyBehaviors elem a következő elemeket tartalmazza:
Elem | Események | Leírás |
---|---|---|
SingleSignOn | 0:1 | A felhasználói folyamat egyszeri bejelentkezési (SSO) munkamenet-viselkedésének hatóköre. |
SessionExpiryType | 0:1 | A munkamenet hitelesítési viselkedése. Lehetséges értékek: Rolling vagy Absolute . Az Rolling érték (alapértelmezett) azt jelzi, hogy a felhasználó be van jelentkezve, amíg a felhasználó folyamatosan aktív az alkalmazásban. Az Absolute érték azt jelzi, hogy a felhasználónak újra meg kell adnia az alkalmazás munkamenetének élettartama által meghatározott időtartamot. |
SessionExpiryInSeconds | 0:1 | Az Azure AD B2C munkamenet-cookie-jának élettartama, amely a felhasználó böngészőjében tárolt egész számként van megadva a sikeres hitelesítéskor. Az alapértelmezett érték 86 400 másodperc (24 óra). A minimális érték 900 másodperc (15 perc). A maximális érték 86 400 másodperc (24 óra). |
JourneyInsights | 0:1 | A használni kívánt Azure-alkalmazás Insights-rendszerállapotkulcs. |
ContentDefinitionParameters | 0:1 | A tartalomdefiníció betöltési URI-hoz hozzáfűzendő kulcsértékpárok listája. |
JourneyFraming | 0:1 | Lehetővé teszi a szabályzat felhasználói felületének betöltését egy iframe-ben. |
ScriptExecution | 0:1 | A támogatott JavaScript-végrehajtási módok. Lehetséges értékek: Allow vagy Disallow (alapértelmezett). |
A fenti elemek használatakor hozzá kell adnia őket a UserJourneyBehaviors elemhez a táblázatban megadott sorrendben. A JourneyInsights elemet például a ScriptExecution elem előtt (fent) kell hozzáadni.
SingleSignOn
A SingleSignOn elem a következő attribútumokat tartalmazza:
Attribútum | Kötelező | Leírás |
---|---|---|
Hatókör | Igen | Az egyszeri bejelentkezési viselkedés hatóköre. Lehetséges értékek: Suppressed , Tenant , Application vagy Policy . Az Suppressed érték azt jelzi, hogy a rendszer letiltja a viselkedést, és a rendszer mindig egy identitásszolgáltató kiválasztását kéri a felhasználótól. Az Tenant érték azt jelzi, hogy a rendszer a bérlő összes házirendjére alkalmazza a viselkedést. Például egy bérlő két szabályzatútja során navigáló felhasználó nem kéri az identitásszolgáltató kiválasztását. Az Application érték azt jelzi, hogy a rendszer a kérelmet küldő alkalmazás összes szabályzatára alkalmazza a viselkedést. A rendszer például nem kéri az identitásszolgáltató kiválasztását, ha egy alkalmazás két szabályzatúton halad végig. Az Policy érték azt jelzi, hogy a viselkedés csak egy szabályzatra vonatkozik. Például a megbízhatósági keretrendszer két szabályzatát végigjáró felhasználónak identitásszolgáltatói kiválasztást kell kérnie a szabályzatok közötti váltáskor. |
KeepAliveInDays | Nem | Azt szabályozza, hogy a felhasználó mennyi ideig maradjon bejelentkezve. Az érték 0 értékre állítása kikapcsolja a KMSI-funkciókat. Az alapértelmezett beállítás 0 (letiltva). A minimum nap 1 . A maximum 90 nap. További információt a Bejelentkezés megőrzése című témakörben talál. |
EnforceIdTokenHintOnLogout | Nem | Kényszerítse, hogy egy korábban kiadott azonosító jogkivonatot adjon át a kijelentkezés végpontjának, hogy a végfelhasználó aktuális hitelesített munkamenete legyen az ügyféllel. Lehetséges értékek: false (alapértelmezett) vagy true . További információ: Webes bejelentkezés az OpenID Connect használatával. |
JourneyInsights
A JourneyInsights elem a következő attribútumokat tartalmazza:
Attribútum | Kötelező | Leírás |
---|---|---|
TelemetryEngine | Igen | Az értéknek a következőnek kell lennie ApplicationInsights : . |
InstrumentationKey | Igen | Az Application Insights elem rendszerállapotkulcsát tartalmazó sztring. |
DeveloperMode | Igen | Lehetséges értékek: true vagy false . Ha true az Application Insights a feldolgozási folyamaton keresztül gyorsítja a telemetriát. Ez a beállítás jó a fejlesztéshez, de nagy mennyiségben korlátozott. A részletes tevékenységnaplók csak az egyéni szabályzatok fejlesztésének segítésére szolgálnak. Ne használjon fejlesztési módot éles környezetben. A naplók összegyűjtik az identitásszolgáltatóknak a fejlesztés során küldött és onnan küldött összes jogcímet. Ha éles környezetben használják, a fejlesztő felelősséget vállal a tulajdonában lévő App Insights-naplóban gyűjtött személyes adatokért. Ezek a részletes naplók csak akkor lesznek összegyűjtve, ha ez az érték be van állítva true . |
ClientEnabled | Igen | Lehetséges értékek: true vagy false . Ha true , elküldi az Application Insights ügyféloldali szkriptet az oldalnézet és az ügyféloldali hibák nyomon követéséhez. |
ServerEnabled | Igen | Lehetséges értékek: true vagy false . Ha true , a meglévő UserJourneyRecorder JSON-t egyéni eseményként küldi el az Application Insightsnak. |
TelemetryVersion | Igen | Az értéknek a következőnek kell lennie 1.0.0 : . |
További információ: Naplók gyűjtése
ContentDefinitionParameters
Ha egyéni szabályzatokat használ az Azure AD B2C-ben, elküldhet egy paramétert egy lekérdezési sztringben. A paraméterek a HTML-végpontnak való átadásával dinamikusan változtathatja az oldal tartalmát. Például megváltoztathatja a háttérképet az Azure AD B2C regisztrációs vagy bejelentkezési oldalán egy olyan paraméter alapján, amelyet a web- vagy mobilalkalmazásából ad át. Az Azure AD B2C átadja a lekérdezési sztring paramétereit a dinamikus HTML-fájlnak, például aspx-fájlnak.
Az alábbi példa egy lekérdezési hawaii
sztringben szereplő értékkel ellátott campaignId
paramétert ad át:
https://login.microsoft.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?pB2C_1A_signup_signin&client_id=00001111-aaaa-2222-bbbb-3333cccc4444&nonce=defaultNonce&redirect_uri=http%3A%2F%2Fjwt.io%2F&scope=openid&response_type=id_token&prompt=login&campaignId=hawaii
A ContentDefinitionParameters elem a következő elemet tartalmazza:
Elem | Események | Leírás |
---|---|---|
ContentDefinitionParameter | 0:n | Egy tartalomdefiníció URI lekérdezési sztringéhez hozzáfűzött kulcsértékpárt tartalmazó sztring. |
A ContentDefinitionParameter elem a következő attribútumot tartalmazza:
Attribútum | Kötelező | Leírás |
---|---|---|
Név | Igen | A kulcsérték-pár neve. |
További információ: Felhasználói felület konfigurálása dinamikus tartalommal egyéni szabályzatok használatával
JourneyFraming
A JourneyFraming elem a következő attribútumokat tartalmazza:
Attribútum | Kötelező | Leírás |
---|---|---|
Engedélyezve | Igen | Lehetővé teszi a szabályzat betöltését egy iframe-ben. Lehetséges értékek: false (alapértelmezett) vagy true . |
Források | Igen | Azokat a tartományokat tartalmazza, amelyek betöltik az iframe-et. További információ: Azure B2C betöltése iframe-ben. |
TechnicalProfile
A TechnicalProfile elem a következő attribútumot tartalmazza:
Attribútum | Kötelező | Leírás |
---|---|---|
Azonosító | Igen | Az értéknek a következőnek kell lennie PolicyProfile : . |
A TechnicalProfile a következő elemeket tartalmazza:
Elem | Események | Leírás |
---|---|---|
Megjelenített név | 1:1 | A műszaki profil nevét tartalmazó sztring. |
Leírás | 0:1 | A műszaki profil leírását tartalmazó sztring. |
Protokoll | 1:1 | Az összevonáshoz használt protokoll. |
Metaadatok | 0:1 | A protokoll által a végponttal a függő entitás és a többi közösségi résztvevő közötti interakció konfigurálására szolgáló tranzakció során a végponttal való kommunikációhoz használt kulcs/érték párok elemének gyűjteménye. |
InputClaims | 1:1 | A műszaki profilban bemenetként használt jogcímtípusok listája. Ezek az elemek a ClaimsSchema szakaszban vagy egy olyan házirendben már definiált Jogcímtípusra mutató hivatkozást tartalmaznak, amelytől a szabályzatfájl öröklődik. |
OutputClaims | 1:1 | A műszaki profilban kimenetként használt jogcímtípusok listája. Ezek az elemek a ClaimsSchema szakaszban vagy egy olyan házirendben már definiált Jogcímtípusra mutató hivatkozást tartalmaznak, amelytől a szabályzatfájl öröklődik. |
SubjectNamingInfo | 1:1 | A jogkivonatokban használt tulajdonosnév. |
A Protokoll elem a következő attribútumot tartalmazza:
Attribútum | Kötelező | Leírás |
---|---|---|
Név | Igen | Az Azure AD B2C által támogatott érvényes protokoll neve, amelyet a műszaki profil részeként használnak. Lehetséges értékek: OpenIdConnect vagy SAML2 . Az OpenIdConnect érték az OpenID Connect 1.0 protokollszabványt jelöli az OpenID alapspecifikációjának megfelelően. Az SAML2 SAML 2.0 protokoll szabványát jelöli az OASIS specifikációjának megfelelően. |
Metaadatok
Ha a protokoll az SAML
, a metaadat-elem a következő elemeket tartalmazza. További információ: SAML-alkalmazások azure AD B2C-ben való regisztrálásának beállításai.
Attribútum | Kötelező | Leírás |
---|---|---|
IdpInitiatedProfileEnabled | Nem | Azt jelzi, hogy az IDP által kezdeményezett folyamat támogatott-e. Lehetséges értékek: true vagy false (alapértelmezett). |
XmlSignatureAlgorithm | Nem | Az Azure AD B2C által az SAML-válasz aláírására használt módszer. Lehetséges értékek: Sha256 , Sha384 , Sha512 vagy Sha1 . Győződjön meg arról, hogy az aláírási algoritmust mindkét oldalon ugyanazzal az értékkel konfigurálja. Csak a tanúsítvány által támogatott algoritmust használja. Az SAML Assertion konfigurálásához tekintse meg az SAML-kiállító műszaki profil metaadatait. |
DataEncryptionMethod | Nem | Azt a módszert jelzi, amelyet az Azure AD B2C használ az adatok titkosítására az Advanced Encryption Standard (AES) algoritmus használatával. A metaadatok az SAML-válasz elemének <EncryptedData> értékét vezérli. Lehetséges értékek: Aes256 (alapértelmezett), Aes192 vagy Sha512 Aes128 . |
KeyEncryptionMethod | Nem | Azt a módszert jelzi, amelyet az Azure AD B2C az adatok titkosításához használt kulcs másolatának titkosítására használ. A metaadatok az SAML-válasz elemének <EncryptedKey> értékét vezérli. Lehetséges értékek: Rsa15 (alapértelmezett) – RSA nyilvános kulcsú titkosítási standard (PKCS) 1.5-ös verziójú algoritmus, RsaOaep - RSA Optimal Aszimmetrikus titkosítási padding (OAEP) titkosítási algoritmus. |
UseDetachedKeys | Nem | Lehetséges értékek: true vagy false (alapértelmezett). Az érték beállításakor true az Azure AD B2C megváltoztatja a titkosított állítások formátumát. A leválasztott kulcsok használata a EncryptedAssertion gyermekeként adja hozzá a titkosított állítást, szemben a EncryptedData-tal. |
WantsSignedResponses | Nem | Azt jelzi, hogy az Azure AD B2C aláírja-e az Response SAML-válasz szakaszát. Lehetséges értékek: true (alapértelmezett) vagy false . |
RemoveMillisecondsFromDateTime | Nem | Azt jelzi, hogy az ezredmásodpercek el lesznek-e távolítva az SAML-válasz dátum/idő értékeiből (ezek közé tartozik a IssueInstant, a NotBefore, a NotOnOrAfter és az AuthnInstant). Lehetséges értékek: false (alapértelmezett) vagy true . |
RequestContextMaximumLengthInBytes | Nem | Az SAML-alkalmazásokRelayState paraméter maximális hosszát jelzi. Az alapértelmezett érték 1000. A maximális érték 2048. |
InputClaims
Az InputClaims elem a következő elemet tartalmazza:
Elem | Események | Leírás |
---|---|---|
InputClaim | 0:n | Egy várt bemeneti jogcímtípus. |
Az InputClaim elem a következő attribútumokat tartalmazza:
Attribútum | Kötelező | Leírás |
---|---|---|
ClaimTypeReferenceId | Igen | Hivatkozás a szabályzatfájl ClaimsSchema szakaszában már definiált ClaimType-ra. |
DefaultValue | Nem | Alapértelmezett érték, amely akkor használható, ha a jogcím értéke üres. |
PartnerClaimType | Nem | A jogcímet a ClaimType definícióban konfigurált más néven küldi el. |
OutputClaims
Az OutputClaims elem a következő elemet tartalmazza:
Elem | Események | Leírás |
---|---|---|
OutputClaim | 0:n | A várt jogcímtípus neve azon szabályzat támogatott listájában, amelyre a függő entitás előfizet. Ez a jogcím a műszaki profil kimeneteként szolgál. |
Az OutputClaim elem a következő attribútumokat tartalmazza:
Attribútum | Kötelező | Leírás |
---|---|---|
ClaimTypeReferenceId | Igen | Hivatkozás a szabályzatfájl ClaimsSchema szakaszában már definiált ClaimType-ra. |
DefaultValue | Nem | Alapértelmezett érték, amely akkor használható, ha a jogcím értéke üres. |
PartnerClaimType | Nem | A jogcímet a ClaimType definícióban konfigurált más néven küldi el. |
SubjectNamingInfo
A SubjectNamingInfo elemnél ön határozza meg a jogkivonat tárgyának értékét:
-
JWT-jogkivonat – a
sub
jogcím. Ez egy egyszerű név, amelyről a jogkivonat információkat állít be, például egy alkalmazás felhasználóját. Ez az érték nem módosítható, és nem rendelhető újra és nem használható újra. Biztonságos engedélyezési ellenőrzések végrehajtására használható, például amikor a jogkivonatot egy erőforrás eléréséhez használják. Alapértelmezés szerint a tulajdonosi jogcím a címtárban lévő felhasználó objektumazonosítójával van feltöltve. További információ: Jogkivonat, munkamenet és egyszeri bejelentkezés konfigurálása. -
SAML-jogkivonat – az
<Subject><NameID>
elem, amely azonosítja a tárgyat. A NameId formátum módosítható.
A SubjectNamingInfo elem a következő attribútumot tartalmazza:
Attribútum | Kötelező | Leírás |
---|---|---|
Jogcímtípus | Igen | Hivatkozás egy kimeneti jogcím PartnerClaimType tulajdonságára. A kimeneti jogcímeket a függő entitás házirendje , a OutputClaims gyűjteményben kell meghatározni egy PartnerClaimType használatával. Például, <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" /> vagy <OutputClaim ClaimTypeReferenceId="signInName" PartnerClaimType="signInName" /> . |
Formátum | Nem | A SAML-függő entitások esetében az SAML Assertion által visszaadott NameId formátum beállítására szolgál. |
Az alábbi példa egy OpenID Connect-függő entitás definiálását mutatja be. A tulajdonosnév adatai a következőként objectId
lesznek konfigurálva:
<RelyingParty>
<DefaultUserJourney ReferenceId="SignUpOrSignIn" />
<TechnicalProfile Id="PolicyProfile">
<DisplayName>PolicyProfile</DisplayName>
<Protocol Name="OpenIdConnect" />
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="givenName" />
<OutputClaim ClaimTypeReferenceId="surname" />
<OutputClaim ClaimTypeReferenceId="email" />
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
<OutputClaim ClaimTypeReferenceId="identityProvider" />
</OutputClaims>
<SubjectNamingInfo ClaimType="sub" />
</TechnicalProfile>
</RelyingParty>
A JWT-jogkivonat tartalmazza a sub
felhasználói objectId azonosítójú jogcímet:
{
...
"sub": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
...
}
Az alábbi példa bemutatja, hogyan definiálhat SAML-függő entitást. A tulajdonosnév adatai a objectId
következőként vannak konfigurálva, és a Névazonosító format
meg lett adva:
<RelyingParty>
<DefaultUserJourney ReferenceId="SignUpOrSignIn" />
<TechnicalProfile Id="PolicyProfile">
<DisplayName>PolicyProfile</DisplayName>
<Protocol Name="SAML2" />
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="givenName" />
<OutputClaim ClaimTypeReferenceId="surname" />
<OutputClaim ClaimTypeReferenceId="email" />
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
<OutputClaim ClaimTypeReferenceId="identityProvider" />
</OutputClaims>
<SubjectNamingInfo ClaimType="sub" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/>
</TechnicalProfile>
</RelyingParty>