Megosztás a következőn keresztül:


Microsoft Entra technikai profil definiálása egyéni Azure Active Directory B2C-szabályzatban

Megjegyzé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.

Az Azure Active Directory B2C (Azure AD B2C) támogatja a Microsoft Entra felhasználói felügyeletét. Ez a cikk a szabványosított protokollt támogató jogcímszolgáltatókkal való interakcióhoz használt műszaki profilok sajátosságait ismerteti.

Protokoll

A Protokoll elem névattribútumát a következőre kell állítani Proprietary: . A kezelő attribútumnak tartalmaznia kell a protokollkezelő szerelvény Web.TPEngine.Providers.AzureActiveDirectoryProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nullteljes nevét.

Az egyéni szabályzat kezdőcsomagja a Microsoft Entra technikai profiljai közé tartozik az AAD-Common technikai profil. A Microsoft Entra technikai profiljai nem adják meg a protokollt, mert a protokoll az AAD-Common műszaki profilban van konfigurálva:

  • AAD-UserReadUsingAlternativeSecurityId és AAD-UserReadUsingAlternativeSecurityId-NoError – Keressen egy közösségi fiókot a címtárban.
  • AAD-UserWriteUsingAlternativeSecurityId – Új közösségi fiók létrehozása.
  • AAD-UserReadUsingEmailAddress – Keressen egy helyi fiókot a címtárban.
  • AAD-UserWriteUsingLogonEmail – Hozzon létre egy új helyi fiókot.
  • AAD-UserWritePasswordUsingObjectId – Helyi fiók jelszavának frissítése.
  • AAD-UserWriteProfileUsingObjectId – Helyi vagy közösségi fiók felhasználói profiljának frissítése.
  • AAD-UserReadUsingObjectId – Helyi vagy közösségi fiók felhasználói profiljának olvasása.
  • AAD-UserWrite Telefon NumberUsingObjectId – Helyi vagy közösségi fiók MFA-telefonszámának megírása

Az alábbi példa az AAD-Common műszaki profilt mutatja be:

<TechnicalProfile Id="AAD-Common">
  <DisplayName>Azure Active Directory</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureActiveDirectoryProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />

  <CryptographicKeys>
    <Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" />
  </CryptographicKeys>

  <!-- We need this here to suppress the SelfAsserted provider from invoking SSO on validation profiles. -->
  <IncludeInSso>false</IncludeInSso>
  <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
</TechnicalProfile>

InputClaims

Az InputClaims elem egy jogcímet tartalmaz, amely a címtárban lévő fiók keresésére vagy új fiók létrehozására szolgál. A Bemeneti jogcímek gyűjteményében pontosan egy InputClaim elemnek kell lennie az összes Microsoft Entra technikai profilhoz. Előfordulhat, hogy le kell képeznie a házirendben meghatározott jogcím nevét a Microsoft Entra-azonosítóban meghatározott névre.

Meglévő felhasználói fiók olvasásához, frissítéséhez vagy törléséhez a bemeneti jogcím egy olyan kulcs, amely egyedileg azonosítja a fiókot a Microsoft Entra címtárban. Ilyen például az objectId, a userPrincipalName, a signInNames.emailAddress, a signInNames.userName vagy az alternativeSecurityId.

Új felhasználói fiók létrehozásához a bemeneti jogcím egy olyan kulcs, amely egyedileg azonosít egy helyi vagy összevont fiókot. Például a helyi fiók: signInNames.emailAddress vagy signInNames.userName. Összevont fiók esetén: az alternativeSecurityId.

Az InputClaimsTransformations elem olyan bemeneti jogcím-átalakítási elemek gyűjteményét tartalmazhatja, amelyek a bemeneti jogcím módosítására vagy új jogcím létrehozására szolgálnak.

OutputClaims

Az OutputClaims elem a Microsoft Entra műszaki profil által visszaadott jogcímek listáját tartalmazza. Előfordulhat, hogy le kell képeznie a házirendben meghatározott jogcím nevét a Microsoft Entra-azonosítóban meghatározott névre. Olyan jogcímeket is felvehet, amelyeket a Microsoft Entra-azonosító nem ad vissza, feltéve, hogy beállítja az DefaultValue attribútumot.

A OutputClaimsTransformations elem olyan OutputClaimsTransformation elemek gyűjteményét tartalmazhatja, amelyek a kimeneti jogcímek módosítására vagy újak létrehozására szolgálnak.

Az AAD-UserWriteUsingLogonEmail technikai profil például létrehoz egy helyi fiókot, és a következő jogcímeket adja vissza:

  • objectId, amely az új fiók azonosítója
  • newUser, amely azt jelzi, hogy a felhasználó új
  • authenticationSource, amely a hitelesítést a localAccountAuthentication
  • userPrincipalName, amely az új fiók egyszerű felhasználóneve
  • signInNames.emailAddress, azaz a fiók bejelentkezési neve, hasonló az e-mail-beviteli jogcímhez
<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="objectId" />
  <OutputClaim ClaimTypeReferenceId="newUser" PartnerClaimType="newClaimsPrincipalCreated" />
  <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="localAccountAuthentication" />
  <OutputClaim ClaimTypeReferenceId="userPrincipalName" />
  <OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" />
</OutputClaims>

PersistedClaims

A PersistedClaims elem tartalmazza az összes olyan értéket, amelyet a Microsoft Entra ID-nak meg kell őriznie a szabályzat Jogcímekkéma szakaszában már definiált jogcímtípus és a Microsoft Entra attribútumnév közötti lehetséges leképezési információkkal.

Az AAD-UserWriteUsingLogonEmail technikai profil, amely új helyi fiókot hoz létre, a következő jogcímeket megőrzi:

  <PersistedClaims>
    <!-- Required claims -->
    <PersistedClaim ClaimTypeReferenceId="email" PartnerClaimType="signInNames.emailAddress" />
    <PersistedClaim ClaimTypeReferenceId="newPassword" PartnerClaimType="password"/>
    <PersistedClaim ClaimTypeReferenceId="displayName" DefaultValue="unknown" />
    <PersistedClaim ClaimTypeReferenceId="passwordPolicies" DefaultValue="DisablePasswordExpiration" />

    <!-- Optional claims. -->
    <PersistedClaim ClaimTypeReferenceId="givenName" />
    <PersistedClaim ClaimTypeReferenceId="surname" />
  </PersistedClaims>

A jogcím neve a Microsoft Entra attribútum neve, kivéve, ha meg van adva a PartnerClaimType attribútum, amely tartalmazza a Microsoft Entra attribútum nevét.

A művelet követelményei

  • Az összes Microsoft Entra technikai profilhoz pontosan egy InputClaim elemnek kell lennie a jogcímcsomagban.
  • A felhasználóiprofil-attribútumokról szóló cikk a bemeneti jogcímekben, kimeneti jogcímekben és tartós jogcímekben használható támogatott Azure AD B2C felhasználóiprofil-attribútumokat ismerteti.
  • Ha a művelet az Write vagyDeleteClaims, akkor egy PersistedClaims elemben is meg kell jelennie.
  • A userPrincipalName jogcím értékének a következő formátumban user@tenant.onmicrosoft.comkell lennie: .
  • A displayName jogcím kötelező, és nem lehet üres sztring.

Microsoft Entra műszaki profilműveletek

Olvasás

Az Olvasás művelet egyetlen felhasználói fiók adatait olvassa be. A következő technikai profil egy felhasználói fiók adatait olvassa be a felhasználó objectId azonosítójával:

<TechnicalProfile Id="AAD-UserReadUsingObjectId">
  <Metadata>
    <Item Key="Operation">Read</Item>
    <Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">true</Item>
  </Metadata>
  <IncludeInSso>false</IncludeInSso>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="objectId" Required="true" />
  </InputClaims>
  <OutputClaims>

    <!-- Required claims -->
    <OutputClaim ClaimTypeReferenceId="strongAuthenticationPhoneNumber" />

    <!-- Optional claims -->
    <OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" />
    <OutputClaim ClaimTypeReferenceId="displayName" />
    <OutputClaim ClaimTypeReferenceId="otherMails" />
    <OutputClaim ClaimTypeReferenceId="givenName" />
    <OutputClaim ClaimTypeReferenceId="surname" />
  </OutputClaims>
  <IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>

Írási

Az Írás művelet egyetlen felhasználói fiókot hoz létre vagy frissít. A következő technikai profil új közösségi fiókot hoz létre:

<TechnicalProfile Id="AAD-UserWriteUsingAlternativeSecurityId">
  <Metadata>
    <Item Key="Operation">Write</Item>
    <Item Key="RaiseErrorIfClaimsPrincipalAlreadyExists">true</Item>
    <Item Key="UserMessageIfClaimsPrincipalAlreadyExists">You are already registered, please press the back button and sign in instead.</Item>
  </Metadata>
  <IncludeInSso>false</IncludeInSso>
  <InputClaimsTransformations>
    <InputClaimsTransformation ReferenceId="CreateOtherMailsFromEmail" />
  </InputClaimsTransformations>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="AlternativeSecurityId" PartnerClaimType="alternativeSecurityId" Required="true" />
  </InputClaims>
  <PersistedClaims>
    <!-- Required claims -->
    <PersistedClaim ClaimTypeReferenceId="alternativeSecurityId" />
    <PersistedClaim ClaimTypeReferenceId="userPrincipalName" />
    <PersistedClaim ClaimTypeReferenceId="mailNickName" DefaultValue="unknown" />
    <PersistedClaim ClaimTypeReferenceId="displayName" DefaultValue="unknown" />

    <!-- Optional claims -->
    <PersistedClaim ClaimTypeReferenceId="otherMails" />
    <PersistedClaim ClaimTypeReferenceId="givenName" />
    <PersistedClaim ClaimTypeReferenceId="surname" />
  </PersistedClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="objectId" />
    <OutputClaim ClaimTypeReferenceId="newUser" PartnerClaimType="newClaimsPrincipalCreated" />
    <OutputClaim ClaimTypeReferenceId="otherMails" />
  </OutputClaims>
  <IncludeTechnicalProfile ReferenceId="AAD-Common" />
  <UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" />
</TechnicalProfile>

DeleteClaims

A DeleteClaims művelet törli az adatokat a jogcímek megadott listájából. A következő technikai profil törli a jogcímeket:

<TechnicalProfile Id="AAD-DeleteClaimsUsingObjectId">
  <Metadata>
    <Item Key="Operation">DeleteClaims</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="objectId" Required="true" />
  </InputClaims>
  <PersistedClaims>
    <PersistedClaim ClaimTypeReferenceId="objectId" />
    <PersistedClaim ClaimTypeReferenceId="Verified.strongAuthenticationPhoneNumber" PartnerClaimType="strongAuthenticationPhoneNumber" />
  </PersistedClaims>
  <OutputClaims />
  <IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>

DeleteClaimsPrincipal

A DeleteClaimsPrincipal művelet egyetlen felhasználói fiókot töröl a címtárból. A következő technikai profil töröl egy felhasználói fiókot a címtárból az egyszerű felhasználónév használatával:

<TechnicalProfile Id="AAD-DeleteUserUsingObjectId">
  <Metadata>
    <Item Key="Operation">DeleteClaimsPrincipal</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="objectId" Required="true" />
  </InputClaims>
  <OutputClaims/>
  <IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>

A következő technikai profil töröl egy közösségi felhasználói fiókot az alternativeSecurityId használatával:

<TechnicalProfile Id="AAD-DeleteUserUsingAlternativeSecurityId">
  <Metadata>
    <Item Key="Operation">DeleteClaimsPrincipal</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="alternativeSecurityId" Required="true" />
  </InputClaims>
  <OutputClaims/>
  <IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>

Metaadatok

Attribútum Kötelező Leírás
Operation Igen A végrehajtandó művelet. Lehetséges értékek: Read, Write, DeleteClaimsvagy DeleteClaimsPrincipal.
RaiseErrorIfClaimsPrincipalDoesNotExist Nem Hibát jelez, ha a felhasználói objektum nem létezik a könyvtárban. Lehetséges értékek: true vagy false.
RaiseErrorIfClaimsPrincipalAlreadyExists Nem Ha a felhasználói objektum már létezik, hibát jelez. Lehetséges értékek: true vagy false. Ez a metaadatok csak az írási műveletre vonatkoznak.
ApplicationObjectId Nem A bővítményattribútumok alkalmazásobjektum-azonosítója. Érték: Egy alkalmazás ObjectId azonosítója. További információ: Egyéni attribútumok használata.
ClientID Nem A bérlő harmadik félként való elérésének ügyfélazonosítója. További információ: Egyéni attribútumok használata egyéni profil szerkesztési szabályzatban
IncludeClaimResolvingInClaimsHandling Nem A bemeneti és kimeneti jogcímek esetében meghatározza, hogy a jogcímfeloldás szerepel-e a műszaki profilban. Lehetséges értékek: truevagy false (alapértelmezett). Ha egy jogcímfeloldót szeretne használni a műszaki profilban, állítsa be a következőre true: .

Felhasználói felület elemei

A következő beállításokkal konfigurálható a hiba esetén megjelenő hibaüzenet. A metaadatokat az önérvényesített műszaki profilban kell konfigurálni. A hibaüzenetek honosíthatók.

Attribútum Kötelező Leírás
UserMessageIfClaimsPrincipalAlreadyExists Nem Ha hiba merül fel (lásd: RaiseErrorIfClaimsPrincipalAlreadyExists attribútum leírása), adja meg a felhasználónak megjelenítendő üzenetet, ha már létezik felhasználói objektum.
UserMessageIfClaimsPrincipalDoesNotExist Nem Ha hiba merül fel (lásd a RaiseErrorIfClaimsPrincipalDoesNotExist attribútum leírását), adja meg a felhasználónak megjelenítendő üzenetet, ha a felhasználói objektum nem létezik.

Következő lépések

Lásd a következő cikket, például a Microsoft Entra technikai profiljának használatát: