Freigeben über


Proof of Concept für das globale Azure Active Directory B2C-Identitätsframework für die trichterbasierte Konfiguration

Von Bedeutung

Ab dem 1. Mai 2025 steht Azure AD B2C nicht mehr für neue Kunden zur Verfügung. Weitere Informationen finden Sie in unseren HÄUFIG gestellten Fragen.

Im folgenden Abschnitt wird beschrieben, wie Sie Machbarkeitsnachweisimplementierungen für Trichterbasierte Orchestrierung erstellen. Die abgeschlossenen benutzerdefinierten Azure Active Directory B2C(Azure AD B2C)-Richtlinien finden Sie hier.

Trichterbasierter Ansatz

Das folgende Blockdiagramm zeigt den Machbarkeitsnachweis. In diesem Leitfaden wird gezeigt, wie Sie die Azure AD B2C-Mandanten konfigurieren. Die externe API-Ebene und die geoverteilte Nachschlagetabelle sind in diesem Handbuch nicht enthalten.

Der Screenshot zeigt das Blockdiagramm des trichterbasierten Ansatzes.

Trichtermandant

  1. Erstellen Sie einen Mandanten.

  2. Konfigurieren von Verbünden für jede Kombination aus Azure AD B2C-Mandant und -Richtlinie

  3. Konfigurieren Sie die Client-ID-Zuordnung zur Region. Verwenden Sie zum Emulieren die Transformation von Lookupansprüchen.

    <ClaimsTransformation Id="ClientIdToRegion" TransformationMethod="LookupValue">
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="regionFromURL" TransformationClaimType="inputParameterId" />
      </InputClaims>
      <InputParameters>
        <InputParameter Id="0dd7579e-fb90-4178-bc36-77a3fe658683" DataType="string" Value="APAC" />
        <InputParameter Id="7e7f5403-b3d7-41cc-85fc-130ab6fd9361" DataType="string" Value="NOAM" />
        <InputParameter Id="4ea5d578-9c51-4091-96d1-58e15e98e9b9" DataType="string" Value="EMEA" />
        <InputParameter Id="errorOnFailedLookup" DataType="boolean" Value="false" />
      </InputParameters>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="sendToRegion" TransformationClaimType="outputClaim" />
      </OutputClaims>
    </ClaimsTransformation>
    
  4. Konfigurieren Sie Partnerverbunde, die basierend auf client_id – Regionszuordnung aktiviert werden sollen.

    <TechnicalProfile Id="HRDLogic">
      <DisplayName>ParseDomainHint</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.ClaimsTransformationProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      <Metadata>
        <Item Key="IncludeClaimResolvingInClaimsHandling">true</Item>
      </Metadata>
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="regionFromURL" DefaultValue="{OIDC:ClientId}" AlwaysUseDefaultValue="true" />
      </InputClaims>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="sendToRegion" />
        <OutputClaim ClaimTypeReferenceId="identityProviders" />
      </OutputClaims>
      <OutputClaimsTransformations>
        <OutputClaimsTransformation ReferenceId="ClientIdToRegion" />
        <OutputClaimsTransformation ReferenceId="CreateidentityProvidersCollection" />
      </OutputClaimsTransformations>
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
    </TechnicalProfile>
    

Regionaler Mieter

  1. Erstellen Sie einen Mandanten.

  2. Erstellen Sie eine Anwendungsregistrierung, um einen Verbund mit dem Trichtermandanten einzurichten.

Anmelden

  1. Konfigurieren Sie die Suche nach Bezeichnern in einer Region über eine globale Nachschlagetabelle, und verwenden Sie zum Emulieren die Transformation von Lookupansprüchen.

    <ClaimsTransformation Id="UserIdToRegion" TransformationMethod="LookupValue">
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="signInName" TransformationClaimType="inputParameterId" />
      </InputClaims>
      <InputParameters>
        <InputParameter Id="bob@noam.com" DataType="string" Value="NOAM" />
        <InputParameter Id="bob@noam1.com" DataType="string" Value="NOAM" />
        <InputParameter Id="john@emea.com" DataType="string" Value="EMEA" />
        <InputParameter Id="john@emea1.com" DataType="string" Value="EMEA" />
        <InputParameter Id="alice@apac.com" DataType="string" Value="APAC" />
        <InputParameter Id="alice@apac1.com" DataType="string" Value="APAC" />
        <InputParameter Id="errorOnFailedLookup" DataType="boolean" Value="false" />
      </InputParameters>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="userLookupRegion" TransformationClaimType="outputClaim" />
      </OutputClaims>
    </ClaimsTransformation>
    
  2. Konfigurieren Sie die API-basierte Authentifizierung für reisende Benutzer und MS Graph-API-Aufruf zum Abrufen des Benutzerprofils.

    1. Überprüfen Sie die Anmeldeinformationen, und rufen Sie das MS Graph-API-Token vom jeweiligen Mandanten ab. Registrieren Sie die native App-Registrierung in jedem regionalen Mandanten mit Berechtigungen für die MS Graph-API für delegierte Berechtigungen: user.read.

      <TechnicalProfile Id="REST-login-NonInteractive-APAC">
        <DisplayName>non interactive authentication to APAC</DisplayName>
        <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        <Metadata>
          <Item Key="ServiceUrl">https://login.microsoftonline.com/b2capac.onmicrosoft.com/oauth2/v2.0/token</Item>
          <Item Key="AuthenticationType">None</Item>
          <Item Key="SendClaimsIn">Form</Item>
          <Item Key="AllowInsecureAuthInProduction">true</Item>
        </Metadata>
        <InputClaims>
          <InputClaim ClaimTypeReferenceId="apac_client_id" PartnerClaimType="client_id" DefaultValue="00001111-aaaa-2222-bbbb-3333cccc4444" />
          <InputClaim ClaimTypeReferenceId="ropc_grant_type" PartnerClaimType="grant_type" DefaultValue="password" />
          <InputClaim ClaimTypeReferenceId="signInName" PartnerClaimType="username" />
          <InputClaim ClaimTypeReferenceId="password" />
          <InputClaim ClaimTypeReferenceId="scope" DefaultValue="https://graph.microsoft.com/.default" AlwaysUseDefaultValue="true" />
          <InputClaim ClaimTypeReferenceId="nca" PartnerClaimType="nca" DefaultValue="1" />
        </InputClaims>
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="bearerToken" PartnerClaimType="access_token" />
        </OutputClaims>
        <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
      </TechnicalProfile>
      
    2. Lesen Sie das Profil über die MS Graph-API für reisende Benutzer.

      <TechnicalProfile Id="Azure AD-Read-User-MSGraph">
        <DisplayName>revoke my refresh token</DisplayName>
        <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        <Metadata>
          <Item Key="ServiceUrl">https://graph.microsoft.com/beta/me</Item>
          <Item Key="AuthenticationType">Bearer</Item>
          <Item Key="UseClaimAsBearerToken">bearerToken</Item>
          <Item Key="SendClaimsIn">Url</Item>
          <Item Key="DebugMode">true</Item>
        </Metadata>
        <InputClaims>
          <InputClaim ClaimTypeReferenceId="bearerToken" />
        </InputClaims>
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="id" />
          <OutputClaim ClaimTypeReferenceId="givenName" />
          <OutputClaim ClaimTypeReferenceId="surName" />
          <OutputClaim ClaimTypeReferenceId="displayName" />
          <OutputClaim ClaimTypeReferenceId="userPrincipalName" PartnerClaimType="upn" />
          <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="localAccountAuthentication" />
        </OutputClaims>
        <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
      </TechnicalProfile>
      

Anmelden

Schreiben Sie die Region der Benutzer in die globale Nachschlagetabelle.

Hinweis

Aufgrund der hartcodierten Nachschlagetabelle ist keine Einrichtung erforderlich.

Zurücksetzen von Kennwörtern

  1. Konfigurieren Sie die Suche nach Bezeichnern in einer Region über eine globale Nachschlagetabelle.

    Hinweis

    Aufgrund der hartcodierten Nachschlagetabelle ist keine Einrichtung erforderlich.

  2. Konfigurieren Sie die mandantenübergreifende Kennwortzurücksetzung über einen REST-API-Aufruf.

    Hinweis

    Dies erfordert die Broker-API mit client_credential-Authentifizierung. Außerdem muss die Benutzeradministratorrolle auf den Dienstprinzipal angewandt werden.

Nächste Schritte