Oktatóanyag: BioCatch konfigurálása az Azure Active Directory B2C-vel

Megtudhatja, hogyan integrálhatja az Azure Active Directory B2C(Azure AD B2C) hitelesítést a BioCatch technológiával az ügyfélidentitás- és hozzáférés-kezelési (CIAM-) biztonsági helyzet bővítése érdekében. A BioCatch-termékek a felhasználók fizikai és kognitív digitális viselkedését elemzik olyan megállapításokhoz, amelyek segítenek megkülönböztetni a jogos ügyfeleket.

További információ a BioCatch-ról a biocatch.com

Előfeltételek

A kezdéshez a következők szükségesek:

Forgatókönyv leírása

A BioCatch-integráció a következő összetevőket tartalmazza:

  • Webalkalmazás vagy webszolgáltatás – a felhasználók ezt a webszolgáltatást keresik, amely létrehoz egy egyedi ügyfélmunkamenet-azonosítót, amely a BioCatch szolgáltatásba kerül
    • A munkamenet-azonosító továbbítja a felhasználói viselkedés jellemzőit a BioCatchnek
  • Metódus – elküldi a munkamenet-azonosítót Azure AD B2C-nek. A példában a JavaScript egy rejtett HTML-mezőbe írja be az értéket.
  • Egy Azure AD B2C testre szabott felhasználói felület – elrejt egy HTML-mezőt a munkamenet-azonosító bemenetéhez a JavaScriptből
  • Azure AD B2C egyéni szabályzata:
    • A munkamenet-azonosítót jogcímként veszi fel egy önérvényesített műszaki profilon keresztül
    • Integrálható a BioCatch szolgáltatással EGY REST API-jogcímszolgáltatón keresztül, és átadja a munkamenet-azonosítót a BioCatchnak
    • Több egyéni jogcím is visszatér a BioCatchből az egyéni szabályzatlogikához
    • A felhasználói folyamat kiértékel egy visszaadott jogcímet, és végrehajt egy feltételes műveletet, például többtényezős hitelesítést

További információ:

Az alábbi ábra a felhasználói folyamatokat szemlélteti munkamenet-információkkal.

A felhasználói folyamatok diagramja munkamenet-információkkal.

  1. A felhasználó megkeresi a webszolgáltatást, amely HTML-, CSS- vagy JavaScript-értékeket ad vissza, majd betölti a BioCatch JavaScript SDK-t. Az ügyféloldali JavaScript konfigurál egy ügyfélmunkamenet-azonosítót a BioCatch SDK-hoz. Másik megoldásként a webszolgáltatás előre konfigurálja az ügyfél munkamenet-azonosítóját, és elküldi az ügyfélnek. A példányosított BioCatch JavaScript SDK for BioCatch konfigurálható, amely a felhasználói viselkedést az ügyféleszközről küldi el a BioCatchnek az ügyfél munkamenet-azonosítójával.
  2. A felhasználó regisztrál vagy bejelentkezik, és a rendszer átirányítja Azure AD B2C-be.
  3. A felhasználói folyamat tartalmaz egy önaláírt jogcímszolgáltatót, amely az ügyfél munkamenet-azonosítóját adja meg. Ez a mező rejtett. A JavaScript használatával adja meg a munkamenet-azonosítót a mezőbe. Válassza a Tovább gombot a regisztráció vagy a bejelentkezés folytatásához. A munkamenet-azonosító kockázati pontszámért a BioCatchhoz kerül. A BioCatch visszaadja a munkamenet adatait, és javasolja az engedélyezést vagy a letiltásokat. A felhasználói folyamat feltételes ellenőrzéssel rendelkezik, amely a visszaadott jogcímek alapján jár el.
  4. A feltételes ellenőrzés eredménye alapján a rendszer meghív egy műveletet.
  5. A webszolgáltatás a munkamenet-azonosítóval lekérdezheti a BioCatch API-t a kockázat- és munkamenetadatok meghatározásához.

A BioCatch használatának első lépései

A fiók elindításához lépjen a biocatch.com Kapcsolatfelvétel lapra.

Az egyéni felhasználói felület konfigurálása

Javasoljuk, hogy rejtse el az Ügyfél munkamenet-azonosító mezőjét CSS, JavaScript vagy más módszerrel. Teszteléshez bontsa ki a mezőt. A JavaScript például a következő módon rejti el a bemeneti mezőt:

document.getElementById("clientSessionId").style.display = 'none';

Azure AD B2C Identity Experience Framework-szabályzatok konfigurálása

  1. Első lépésként lásd: Oktatóanyag: Felhasználói folyamatok és egyéni szabályzatok létrehozása Azure AD B2C-ben.

  2. Hozzon létre egy új fájlt, amely a bővítményfájlból öröklődik.

    <BasePolicy> 
    
        <TenantId>tenant.onmicrosoft.com</TenantId> 
    
        <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId> 
    
      </BasePolicy> 
    
  3. Hozzon létre egy hivatkozást az egyéni felhasználói felületre a beviteli mező elrejtéséhez a BuildingBlocks erőforrás alatt.

    <ContentDefinitions> 
    
        <ContentDefinition Id="api.selfasserted"> 
    
            <LoadUri>https://domain.com/path/to/selfAsserted.cshtml</LoadUri> 
    
            <DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.0</DataUri> 
    
          </ContentDefinition> 
    
        </ContentDefinitions>
    
  4. A BuildingBlocks erőforrásban adja hozzá a következő jogcímeket.

    <ClaimsSchema> 
    
          <ClaimType Id="riskLevel"> 
    
            <DisplayName>Session risk level</DisplayName> 
    
            <DataType>string</DataType>       
    
          </ClaimType> 
    
          <ClaimType Id="score"> 
    
            <DisplayName>Session risk score</DisplayName> 
    
            <DataType>int</DataType>       
    
          </ClaimType> 
    
          <ClaimType Id="clientSessionId"> 
    
            <DisplayName>The ID of the client session</DisplayName> 
    
            <DataType>string</DataType> 
    
            <UserInputType>TextBox</UserInputType> 
    
          </ClaimType> 
    
    </ClaimsSchema> 
    
  5. Konfiguráljon egy önérvényesített jogcímszolgáltatót az ügyfél munkamenet-azonosító mezőjéhez.

    <ClaimsProvider> 
    
          <DisplayName>Client Session ID Claims Provider</DisplayName> 
    
          <TechnicalProfiles> 
    
            <TechnicalProfile Id="login-NonInteractive-clientSessionId"> 
    
              <DisplayName>Client Session ID TP</DisplayName> 
    
              <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> 
    
              <Metadata> 
    
                <Item Key="ContentDefinitionReferenceId">api.selfasserted</Item> 
    
              </Metadata> 
    
              <CryptographicKeys> 
    
                <Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" /> 
    
              </CryptographicKeys> 
    
            <!—Claim we created earlier --> 
    
              <OutputClaims> 
    
                <OutputClaim ClaimTypeReferenceId="clientSessionId" Required="false" DefaultValue="100"/> 
    
              </OutputClaims> 
    
            <UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" /> 
    
            </TechnicalProfile> 
    
          </TechnicalProfiles> 
    
        </ClaimsProvider> 
    
  6. Konfiguráljon egy REST API-jogcímszolgáltatót a BioCatchhez.

    <TechnicalProfile Id="BioCatch-API-GETSCORE"> 
    
          <DisplayName>Technical profile for BioCatch API to return session information</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://biocatch-url.com/api/v6/score?customerID=<customerid>&amp;action=getScore&amp;uuid=<uuid>&amp;customerSessionID={clientSessionId}&amp;solution=ATO&amp;activtyType=<activity_type>&amp;brand=<brand></Item>
    
            <Item Key="SendClaimsIn">Url</Item> 
    
            <Item Key="IncludeClaimResolvingInClaimsHandling">true</Item> 
    
            <!-- Set AuthenticationType to Basic or ClientCertificate in production environments --> 
    
            <Item Key="AuthenticationType">None</Item> 
    
            <!-- REMOVE the following line in production environments --> 
    
            <Item Key="AllowInsecureAuthInProduction">true</Item> 
    
          </Metadata> 
    
          <InputClaims> 
    
            <InputClaim ClaimTypeReferenceId="clientsessionId" /> 
    
          </InputClaims> 
    
          <OutputClaims> 
    
            <OutputClaim ClaimTypeReferenceId="riskLevel" /> 
    
            <OutputClaim ClaimTypeReferenceId="score" /> 
    
          </OutputClaims> 
    
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" /> 
    
        </TechnicalProfile> 
    
      </TechnicalProfiles>
    

    Megjegyzés

    A BioCatch megadja az URL-címet, az ügyfél-azonosítót és az egyedi felhasználói azonosítót (UUID). Az ügyfél SessionID-jogcíme lekérdezési sztringparaméterként továbbítja a BioCatchnek. Kiválaszthatja a tevékenység típusát, például MAKE_PAYMENT.

  7. Konfigurálja a felhasználói folyamatot az alábbi példával:

    • Kérje le a clientSessionID azonosítót jogcímként.
    • Hívja meg a BioCatch API-t a munkamenet adatainak lekéréséhez.
    • Ha a visszaadott jogcím kockázata alacsony, hagyja ki az MFA lépését, különben kényszerítse ki a felhasználói MFA-t.
    <OrchestrationStep Order="8" Type="ClaimsExchange"> 
    
          <ClaimsExchanges> 
    
            <ClaimsExchange Id="clientSessionIdInput" TechnicalProfileReferenceId="login-NonInteractive-clientSessionId" /> 
    
          </ClaimsExchanges> 
    
        </OrchestrationStep> 
    
        <OrchestrationStep Order="9" Type="ClaimsExchange"> 
    
          <ClaimsExchanges> 
    
            <ClaimsExchange Id="BcGetScore" TechnicalProfileReferenceId=" BioCatch-API-GETSCORE" /> 
    
          </ClaimsExchanges> 
    
        </OrchestrationStep> 
    
        <OrchestrationStep Order="10" Type="ClaimsExchange"> 
    
          <Preconditions> 
    
            <Precondition Type="ClaimEquals" ExecuteActionsIf="true"> 
    
              <Value>riskLevel</Value> 
    
              <Value>LOW</Value> 
    
              <Action>SkipThisOrchestrationStep</Action> 
    
            </Precondition> 
    
          </Preconditions> 
    
          <ClaimsExchanges> 
    
            <ClaimsExchange Id="PhoneFactor-Verify" TechnicalProfileReferenceId="PhoneFactor-InputOrVerify" /> 
    
          </ClaimsExchanges>
    
  8. Függő entitás konfigurálása (nem kötelező). A BioCatch által visszaadott adatokat jogcímként továbbíthatja az alkalmazásnak a következő jogkivonatban: risklevel és score.

    <RelyingParty> 
    
    <DefaultUserJourney ReferenceId="SignUpOrSignInMfa" /> 
    
    <UserJourneyBehaviors> 
    
      <SingleSignOn Scope="Tenant" KeepAliveInDays="30" /> 
    
      <SessionExpiryType>Absolute</SessionExpiryType> 
    
      <SessionExpiryInSeconds>1200</SessionExpiryInSeconds> 
    
      <ScriptExecution>Allow</ScriptExecution> 
    
    </UserJourneyBehaviors> 
    
    <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" />                 
    
        <OutputClaim ClaimTypeReferenceId="riskLevel" /> 
    
        <OutputClaim ClaimTypeReferenceId="score" /> 
    
        <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" /> 
    
      </OutputClaims> 
    
      <SubjectNamingInfo ClaimType="sub" /> 
    
    </TechnicalProfile> 
    
    </RelyingParty>
    

Integrálás az Azure AD B2C szolgáltatással

Adja hozzá a szabályzatfájlokat Azure AD B2C-hez. Az alábbi utasításokért használja a könyvtárat a Azure AD B2C-bérlővel.

  1. Jelentkezzen be a Azure Portal a Azure AD B2C-bérlő globális rendszergazdájaként.
  2. A portál eszköztárán válassza a Könyvtárak + előfizetések lehetőséget.
  3. A Portál beállításai, Címtárak és előfizetések lapon, a Címtárnév listában keresse meg a Azure AD B2C-címtárat.
  4. Válassza a Váltás lehetőséget.
  5. A Azure Portal bal felső sarkában válassza a Minden szolgáltatás lehetőséget.
  6. Keresse meg és válassza ki Azure AD B2C-t.
  7. Lépjen Azure AD B2C>Identity Experience Frameworkre.
  8. Töltse fel a szabályzatfájlokat a bérlőbe.

A megoldás tesztelése

A következő utasításokért lásd : Oktatóanyag: Webalkalmazás regisztrálása az Azure Active Directory B2C-ben

  1. Regisztráljon egy olyan próbaalkalmazást, amely átirányítja a JWT.MS.

  2. Az Identitáskezelési keretrendszer területen válassza ki a létrehozott szabályzatot.

  3. A szabályzatablakban válassza ki a próbabábu JWT.MS alkalmazást

  4. Válassza a Futtatás most lehetőséget.

  5. Végezzen el egy regisztrációs folyamatot, és hozzon létre egy fiókot.

  6. A JWT.MS visszaadott jogkivonatnak 2x jogcíme van a riskLevelhez és a pontszámhoz.

  7. Használja az alábbi példát.

    { 
    
      "typ": "JWT", 
    
      "alg": "RS256", 
    
      "kid": "_keyid" 
    
    }.{ 
    
      "exp": 1615872580, 
    
      "nbf": 1615868980, 
    
      "ver": "1.0", 
    
      "iss": "https://tenant.b2clogin.com/12345678-1234-1234-1234-123456789012/v2.0/", 
    
      "sub": "12345678-1234-1234-1234-123456789012", 
    
      "aud": "12345678-1234-1234-1234-123456789012", 
    
      "acr": "b2c_1a_signup_signin_biocatch_policy", 
    
      "nonce": "defaultNonce", 
    
      "iat": 1615868980, 
    
      "auth_time": 1615868980, 
    
      "name": "John Smith", 
    
      "email": "john.smith@contoso.com", 
    
      "given_name": "John", 
    
      "family_name": "Smith", 
    
      "riskLevel": "LOW", 
    
      "score": 275, 
    
      "tid": "12345678-1234-1234-1234-123456789012" 
    
    }.[Signature]  
    
    

További források