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, Applicationvagy 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 truevan á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 , SAMLa 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, Sha512vagy 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, Sha512vagy 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 truevan á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 objectIdlesznek 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>