RelyingParty
Megjegyzés
Az Azure Active Directory B2C-ben az egyéni szabályzatok elsősorban összetett forgatókönyvek kezelésére szolgálnak. A legtöbb esetben javasoljuk, hogy beépített felhasználói folyamatokat használjon. Ha még nem tette meg, az egyéni szabályzatok kezdőcsomagjáról az Ismerkedés az egyéni szabályzatokkal az Active Directory B2C-ben című témakörben olvashat.
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 bejelentkezést, jelszó alaphelyzetbe állítását vagy profil szerkesztését. 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 meg 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>
...
A választható RelyingParty elem a következő elemeket tartalmazza:
Elem | Események | Description |
---|---|---|
DefaultUserJourney | 1:1 | Az RP-alkalmazás alapértelmezett felhasználói folyamata. |
Végpontok | 0:1 | A végpontok listája. További információ: UserInfo végpont. |
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 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 | Description |
---|---|---|
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 |
---|---|---|
Id | Yes | A végpont egyedi azonosítója. |
UserJourneyReferenceId | Yes | A felhasználói folyamat azonosítója a szabályzatban. További információ: Felhasználói folyamatok |
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ényházirendben 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 |
---|---|---|
ReferenceId | Yes | A felhasználói folyamat azonosítója a szabályzatban. További információ: Felhasználói folyamatok |
UserJourneyBehaviors
A UserJourneyBehaviors elem a következő elemeket tartalmazza:
Elem | Események | Description |
---|---|---|
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ó bejelentkezve marad, amíg a felhasználó folyamatosan aktív az alkalmazásban. Az Absolute érték azt jelzi, hogy a felhasználónak újrahitelesítenie kell az alkalmazás munkamenetének élettartama által meghatározott időtartam után. |
SessionExpiryInSeconds | 0:1 | Az Azure AD B2C munkamenet cookie-jának élettartama, amely a sikeres hitelesítéskor a felhasználó böngészőjében tárolt egész számként van megadva. 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-jának 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). |
Ha a fenti elemeket használja, hozzá kell adnia őket a UserJourneyBehaviors elemhez a táblázatban megadott sorrendben. A JourneyInsights elemet például (fent) a ScriptExecution elem előtt kell hozzáadni.
SingleSignOn
A SingleSignOn elem a következő attribútumokat tartalmazza:
Attribútum | Kötelező | Leírás |
---|---|---|
Hatókör | Yes | 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 viselkedést a bérlő összes házirendjére alkalmazza. Például egy bérlőhöz két szabályzatúton navigáló felhasználó nem kér identitásszolgáltatói kiválasztást. Az Application érték azt jelzi, hogy a rendszer a viselkedést a kérést küldő alkalmazás összes szabályzatára alkalmazza. A rendszer például nem kéri az identitásszolgáltató kiválasztását egy alkalmazáshoz két szabályzatúton áthaladó felhasználótól. Az Policy érték azt jelzi, hogy a viselkedés csak egy szabályzatra vonatkozik. A rendszer például egy megbízhatósági keretrendszer két szabályzati útján halad végig egy identitásszolgáltató kiválasztását a szabályzatok közötti váltáskor. |
KeepAliveInDays | No | 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 érték ( 0 letiltva). A minimum 1 nap. A maximum 90 nap. További információ: Bejelentkezés megtartva. |
EnforceIdTokenHintOnLogout | No | Kényszerítse, hogy egy korábban kiadott azonosító jogkivonatot adjon át a kijelentkezés végpontjának, amely a végfelhasználó aktuális hitelesített munkamenetét ismerteti 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 | Yes | Az értéknek a következőnek kell lennie ApplicationInsights : . |
InstrumentationKey | Yes | Az application insights elem rendszerállapotkulcsát tartalmazó sztring. |
DeveloperMode | Yes | Lehetséges értékek: true vagy false . Ha true , az Application Insights felgyorsítja a telemetriát a feldolgozási folyamaton keresztül. 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 elősegítésére szolgálnak. Éles környezetben ne használjon fejlesztési módot. A naplók összegyűjtik az identitásszolgáltatóknak küldött és onnan érkező összes jogcímet a fejlesztés során. 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 a következőre true van állítva: . |
ClientEnabled | Yes | 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 | Yes | Lehetséges értékek: true vagy false . Ha true , a meglévő UserJourneyRecorder JSON-t küldi egyéni eseményként az Application Insightsnak. |
TelemetryVersion | Yes | 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 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. Azure AD B2C átadja a lekérdezési sztring paramétereit a dinamikus HTML-fájlnak, például az aspx-fájlnak.
Az alábbi példa egy nevű campaignId
paramétert ad át, amelynek értéke a lekérdezési hawaii
sztringben van:
https://login.microsoft.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?pB2C_1A_signup_signin&client_id=a415078a-0402-4ce3-a9c6-ec1947fcfb3f&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 | Description |
---|---|---|
ContentDefinitionParameter | 0:n | Egy tartalomdefiníció betöltési URI-jának 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 |
---|---|---|
Name (Név) | Yes | A kulcsértékpá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ő | Description |
---|---|---|
Engedélyezve | Yes | Lehetővé teszi, hogy ez a szabályzat egy iframe-ben legyen betöltve. Lehetséges értékek: false (alapértelmezett) vagy true . |
Források | Yes | 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 |
---|---|---|
Id | Yes | Az értéknek a következőnek kell lennie PolicyProfile : . |
A TechnicalProfile a következő elemeket tartalmazza:
Elem | Események | Description |
---|---|---|
DisplayName | 1:1 | A műszaki profil nevét tartalmazó sztring. |
Description | 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ához használt kulcs/érték párok elemének gyűjteménye. |
InputClaims | 1:1 | A műszaki profilban bemenetként vett jogcímtípusok listája. Ezen elemek mindegyike hivatkozik a ClaimsSchema szakaszban vagy egy olyan szabályzatban már definiált ClaimType-ra, amelytől ez a szabályzatfájl öröklődik. |
OutputClaims | 1:1 | A műszaki profilban kimenetként vett jogcímtípusok listája. Ezen elemek mindegyike hivatkozik a ClaimsSchema szakaszban vagy egy olyan szabályzatban már definiált ClaimType-ra, amelytől ez a szabályzatfájl öröklődik. |
SubjectNamingInfo | 1:1 | A jogkivonatokban használt tulajdonosnév. |
A Protocol elem a következő attribútumot tartalmazza:
Attribútum | Kötelező | Leírás |
---|---|---|
Name (Név) | Yes | A műszaki profil részeként használt Azure AD B2C által támogatott érvényes protokoll neve. Lehetséges értékek: OpenIdConnect vagy SAML2 . Az OpenIdConnect érték az OpenID Connect 1.0 protokoll szabványát jelöli az OpenID alapspecifikációjának megfelelően. A SAML2 az SAML 2.0 protokoll szabványát jelöli az OASIS specifikációnak megfelelően. |
Metaadatok
Ha a protokoll , SAML
a metaadat-elem a következő elemeket tartalmazza. További információ: SAML-alkalmazás regisztrálásának beállításai Azure AD B2C-ben.
Attribútum | Kötelező | Leírás |
---|---|---|
IdpInitiatedProfileEnabled | No | Azt jelzi, hogy az identitásszolgáltató által kezdeményezett folyamat támogatott-e. Lehetséges értékek: true vagy false (alapértelmezett). |
XmlSignatureAlgorithm | No | A B2C Azure AD metódusa az SAML-válasz aláírására használja. Lehetséges értékek: Sha256 , Sha384 , Sha512 vagy Sha1 . Győződjön meg arról, hogy mindkét oldalon ugyanazzal az értékkel konfigurálja az aláírási algoritmust. Csak a tanúsítvány által támogatott algoritmust használja. Az SAML-helyességi feltétel konfigurálásához tekintse meg az SAML-kiállító műszaki profil metaadatait. |
DataEncryptionMethod | No | Azt a módszert jelöli, amelyet Azure AD B2C az adatok titkosítására használ 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 , Sha512 vagy Aes128 . |
KeyEncryptionMethod | No | Azt a módszert jelzi, amelyet 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 Public Key Cryptography Standard (PKCS) Version 1.5 algoritmus, RsaOaep - RSA Optimal Aymmetric Encryption Padding (OAEP) titkosítási algoritmus. |
UseDetachedKeys | No | Lehetséges értékek: true , vagy false (alapértelmezett). Ha az érték értékre true van állítva, Azure AD A B2C megváltoztatja a titkosított helyességi feltételek formátumát. A leválasztott kulcsok használata az EncrytedAssertion gyermekeként adja hozzá a titkosított helyességi feltételt a EncryptedData helyett. |
WantsSignedResponses | No | Azt jelzi, hogy Azure AD B2C aláírja-e az Response SAML-válasz szakaszát. Lehetséges értékek: true (alapértelmezett) vagy false . |
RemoveMillisecondsFromDateTime | No | Azt jelzi, hogy a rendszer eltávolítja-e az ezredmásodperceket az SAML-válasz dátum/idő értékeiből (ezek közé tartozik az IssueInstant, a NotBefore, a NotOnOrAfter és az AuthnInstant). Lehetséges értékek: false (alapértelmezett) vagy true . |
RequestContextMaximumLengthInBytes | No | 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 | Description |
---|---|---|
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 | Yes | A szabályzatfájl ClaimsSchema szakaszában már definiált ClaimType-ra mutató hivatkozás. |
DefaultValue | No | Alapértelmezett érték, amely akkor használható, ha a jogcím értéke üres. |
PartnerClaimType | No | 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 | Description |
---|---|---|
OutputClaim | 0:n | A várt jogcímtípus neve annak a szabályzatnak a 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 | Yes | A szabályzatfájl ClaimsSchema szakaszában már definiált ClaimType-ra mutató hivatkozás. |
DefaultValue | No | Alapértelmezett érték, amely akkor használható, ha a jogcím értéke üres. |
PartnerClaimType | No | A jogcímet a ClaimType definícióban konfigurált más néven küldi el. |
SubjectNamingInfo
A SubjectNameingInfo elemtel szabályozhatja a jogkivonat tárgyának értékét:
- JWT-jogkivonat – a
sub
jogcím. Ez az a rendszerbiztonsági tag, 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ó fel ú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 – a
<Subject><NameID>
tárgy elemet azonosító elem. 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 | Yes | Hivatkozás egy kimeneti jogcím PartnerClaimType elemére. A kimeneti jogcímeket a függő entitások OutputClaims gyűjteményében kell definiálni egy PartnerClaimType tulajdonsággal. Például , <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" /> vagy <OutputClaim ClaimTypeReferenceId="signInName" PartnerClaimType="signInName" /> . |
Formátum | No | Az SAML-függő entitásokhoz használható az SAML-helyességi feltételben visszaadott NameId formátum beállításához. |
Az alábbi példa bemutatja, hogyan definiálhat OpenID Connect-függő entitást. 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 objektumazonosítóval rendelkező jogcímet:
{
...
"sub": "6fbbd70d-262b-4b50-804c-257ae1706ef2",
...
}
Az alábbi példa bemutatja, hogyan definiálhat SAML-függő entitást. A tulajdonosnév adatai a objectId
, és a Névazonosítóként format
vannak konfigurálva:
<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>