Udostępnij za pośrednictwem


Weryfikacja koncepcji globalnej struktury tożsamości usługi Azure Active Directory B2C dla konfiguracji opartej na lejce

W poniższej sekcji opisano sposób tworzenia implementacji weryfikacji koncepcji na potrzeby orkiestracji opartej na lejce. Ukończone zasady niestandardowe usługi Azure Active Directory B2C (Azure AD B2C) można znaleźć tutaj.

Podejście oparte na lejce

Na poniższym diagramie blokowym przedstawiono weryfikację koncepcji. Wskazówki pokazują, jak skonfigurować dzierżawy usługi Azure AD B2C. Warstwa interfejsu API zewnętrznego i tabela odnośników rozproszonych geograficznie nie jest uwzględniona w tym przewodniku.

Zrzut ekranu przedstawia diagram bloków podejścia opartego na lejce.

Dzierżawa lejka

  1. Utwórz dzierżawę.

  2. Konfigurowanie federacji dla każdej kombinacji Azure AD dzierżawy/zasad B2C

  3. Skonfiguruj mapowanie client_id na region — użyj przekształcenia oświadczenia wyszukiwania w celu emulacji.

    <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. Skonfiguruj federacje do włączenia na podstawie client_id — mapowania regionów.

    <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>
    

Dzierżawa regionalna

  1. Utwórz dzierżawę.

  2. Utwórz rejestrację aplikacji w celu ustanowienia federacji z dzierżawą lejka.

Zaloguj

  1. Skonfiguruj identyfikator do wyszukiwania w regionie za pośrednictwem globalnej tabeli odnośników, użyj przekształcenia oświadczenia odnośnika w celu emulacji.

    <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. Skonfiguruj uwierzytelnianie oparte na interfejsie API dla użytkownika podróżującego, a usługa MS interfejs Graph API wywołanie w celu pobrania profilu użytkowników.

    1. Sprawdź poświadczenia i uzyskaj token MS interfejs Graph API z odpowiedniej dzierżawy. Zarejestruj rejestrację aplikacji natywnej w każdej dzierżawie regionalnej z uprawnieniami do ms interfejs Graph API w celu uzyskania uprawnień delegowanych: 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="cf3f6898-9a79-426a-ba16-10e1a377c843" />
          <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. Przeczytaj profil za pośrednictwem ms interfejs Graph API dla użytkownika podróży.

      <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>
      

Rejestrowanie

Zapisywanie regionów użytkowników w globalnej tabeli odnośników.

Uwaga

Brak konfiguracji z powodu zakodowanej na stałe tabeli odnośników.

Resetowanie hasła

  1. Konfigurowanie identyfikatora do wyszukiwania regionów za pośrednictwem globalnej tabeli odnośników.

    Uwaga

    Brak konfiguracji z powodu zakodowanej na stałe tabeli odnośników.

  2. Konfigurowanie resetowania hasła między dzierżawami za pośrednictwem wywołania interfejsu API REST.

    Uwaga

    Będzie wymagać interfejsu API brokera przy użyciu uwierzytelniania client_credential i roli Administracja użytkownika zastosowanej do jednostki usługi.

Następne kroki