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


Felhasználói viselkedés nyomon követése az Azure AD B2C-ben az Alkalmazás Elemzések

Mielőtt hozzákezdene, a Szabályzattípus kiválasztása választóval válassza ki a beállított szabályzat típusát. Az Azure Active Directory B2C két módszert kínál annak meghatározására, hogy a felhasználók hogyan használják az alkalmazásokat: előre definiált felhasználói folyamatokon vagy teljesen konfigurálható egyéni szabályzatokon keresztül. A cikkben szereplő lépések különbözőek az egyes metódusok esetében.

Ez a funkció csak egyéni szabályzatokhoz érhető el. A beállítási lépésekhez válassza az egyéni szabályzatot az előző választóban.

Az Azure Active Directory B2C-ben (Azure AD B2C) közvetlenül az Alkalmazás Elemzések küldhet eseményadatokat az Azure AD B2C-hez biztosított rendszerállapot-kulcs használatával. Egy alkalmazás Elemzések technikai profillal részletes és testreszabott eseménynaplókat kaphat a felhasználói folyamatokhoz:

  • Betekintést nyerhet a felhasználói viselkedésbe.
  • Saját szabályzatok hibaelhárítása fejlesztés vagy éles környezetben.
  • Teljesítmény mérése.
  • Értesítések létrehozása az Alkalmazás Elemzések.

Áttekintés

Az egyéni eseménynaplók engedélyezéséhez adjon hozzá egy alkalmazás Elemzések technikai profilt. A technikai profilban meg kell határoznia az alkalmazás Elemzések eszközkulcsot, az esemény nevét és a rögzítendő jogcímeket. Esemény közzétételéhez adja hozzá a technikai profilt vezénylési lépésként egy felhasználói folyamat során.

Az Alkalmazás Elemzések használatakor vegye figyelembe a következőket:

  • Az új naplók az Alkalmazás Elemzések való elérhetővé vételével általában kevesebb mint öt percet késnek.
  • Az Azure AD B2C lehetővé teszi, hogy eldöntse, mely jogcímeket kell rögzítenie. Ne tartalmazzon személyes adatokat tartalmazó jogcímeket.
  • A felhasználói munkamenetek rögzítéséhez korrelációs azonosítóval egyesítheti az eseményeket.
  • Hívja meg az alkalmazást Elemzések technikai profilt közvetlenül egy felhasználói útról vagy egy alútról. Ne használjon alkalmazás-Elemzések műszaki profilt érvényesítési műszaki profilként.

Előfeltételek

Create an Application Insights resource

Ha az Alkalmazás Elemzések az Azure AD B2C-vel használja, mindössze egy erőforrást kell létrehoznia, és le kell szereznie a rendszerállapot-kulcsot. További információ: Alkalmazás létrehozása Elemzések erőforrás.

  1. Jelentkezzen be az Azure Portalra.
  2. Ha több bérlőhöz is hozzáfér, a felső menüben válassza a Gépház ikont a Microsoft Entra ID-bérlőre való váltáshoz a Könyvtárak + előfizetések menüből.
  3. Válassza az Erőforrás létrehozása lehetőséget az Azure Portal bal felső sarkában, majd keresse meg és válassza az Alkalmazás Elemzések lehetőséget.
  4. Select Create.
  5. A Név mezőbe írja be az erőforrás nevét.
  6. Alkalmazástípus esetén válassza ASP.NET webalkalmazást.
  7. Erőforráscsoport esetén válasszon ki egy meglévő csoportot, vagy adjon nevet egy új csoportnak.
  8. Select Create.
  9. Nyissa meg az új Alkalmazás Elemzések erőforrást, bontsa ki az Alapvető elemet, és másolja ki a rendszerállapotkulcsot.

Screenshot that shows the Instrumentation Key on the Application Insights Overview tab.

Jogcímek definiálása

A jogcímek ideiglenes adattárolást biztosítanak az Azure AD B2C-szabályzat végrehajtása során. A jogcímeket a ClaimsSchema elemben deklarálja.

  1. Nyissa meg a szabályzat bővítményfájlját. A fájl a következőhöz SocialAndLocalAccounts/TrustFrameworkExtensions.xmlhasonló lehet: .

  2. Keresse meg a BuildingBlocks elemet. Ha nem látja az elemet, adja hozzá.

  3. Keresse meg a ClaimsSchema elemet. Ha nem látja az elemet, adja hozzá.

  4. Adja hozzá a következő jogcímeket a ClaimsSchema elemhez:

    <ClaimType Id="EventType">
      <DisplayName>Event type</DisplayName>
      <DataType>string</DataType>
    </ClaimType>
    <ClaimType Id="EventTimestamp">
      <DisplayName>Event timestamp</DisplayName>
      <DataType>string</DataType>
    </ClaimType>
    <ClaimType Id="PolicyId">
      <DisplayName>Policy Id</DisplayName>
      <DataType>string</DataType>
    </ClaimType>
    <ClaimType Id="Culture">
      <DisplayName>Culture ID</DisplayName>
      <DataType>string</DataType>
    </ClaimType>
    <ClaimType Id="CorrelationId">
      <DisplayName>Correlation Id</DisplayName>
      <DataType>string</DataType>
    </ClaimType>
    <ClaimType Id="federatedUser">
      <DisplayName>Federated user</DisplayName>
      <DataType>boolean</DataType>
    </ClaimType>
    <ClaimType Id="parsedDomain">
      <DisplayName>Domain name</DisplayName>
      <DataType>string</DataType>
      <UserHelpText>The domain portion of the email address.</UserHelpText>
    </ClaimType>
    <ClaimType Id="userInLocalDirectory">
      <DisplayName>userInLocalDirectory</DisplayName>
      <DataType>boolean</DataType>
    </ClaimType>
    

Új technikai profilok hozzáadása

A technikai profilok függvénynek tekinthetők az egyéni szabályzatban. Ezek a függvények a műszaki profilok befogadási megközelítését használják, ahol egy műszaki profil egy másik műszaki profilt is tartalmaz, és módosítja a beállításokat, vagy új funkciókat ad hozzá. Az alábbi táblázat a munkamenetek megnyitásához és események közzétételéhez használt technikai profilokat határozza meg.

Műszaki profil Feladatok
Alkalmazás Elemzések-Common A tipikus konfigurációval rendelkező gyakori műszaki profil. Tartalmazza az alkalmazás Elemzések rendszerállapotkulcsot, a rögzítendő jogcímek gyűjteményét és a fejlesztői módot. A többi technikai profil tartalmazza a közös műszaki profilt, és további jogcímeket is hozzáad, például az esemény nevét.
Alkalmazás Elemzések-SignInRequest Egy SignInRequest eseményt rögzít egy jogcímkészlettel, amikor egy bejelentkezési kérés érkezett.
Alkalmazás Elemzések-UserSignUp Egy UserSignUp eseményt rögzít, amikor a felhasználó elindítja a regisztrációs lehetőséget egy regisztrációs vagy bejelentkezési folyamat során.
Alkalmazás Elemzések-SignInComplete Egy SignInComplete eseményt rögzít a sikeres hitelesítéskor, amikor a rendszer jogkivonatot küld a függő entitás alkalmazásának.

Nyissa meg az TrustFrameworkExtensions.xml fájlt a kezdőcsomagból. Adja hozzá a műszaki profilokat a ClaimsProvider elemhez:

<ClaimsProvider>
  <DisplayName>Application Insights</DisplayName>
  <TechnicalProfiles>
    <TechnicalProfile Id="AppInsights-Common">
      <DisplayName>Application Insights</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.Insights.AzureApplicationInsightsProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      <Metadata>
        <!-- The ApplicationInsights instrumentation key, which you use for logging the events -->
        <Item Key="InstrumentationKey">xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</Item>
        <Item Key="DeveloperMode">false</Item>
        <Item Key="DisableTelemetry ">false</Item>
      </Metadata>
      <InputClaims>
        <!-- Properties of an event are added through the syntax {property:NAME}, where NAME is the property being added to the event. DefaultValue can be either a static value or a value that's resolved by one of the supported DefaultClaimResolvers. -->
        <InputClaim ClaimTypeReferenceId="EventTimestamp" PartnerClaimType="{property:EventTimestamp}" DefaultValue="{Context:DateTimeInUtc}" />
        <InputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="{property:TenantId}" DefaultValue="{Policy:TrustFrameworkTenantId}" />
        <InputClaim ClaimTypeReferenceId="PolicyId" PartnerClaimType="{property:Policy}" DefaultValue="{Policy:PolicyId}" />
        <InputClaim ClaimTypeReferenceId="CorrelationId" PartnerClaimType="{property:CorrelationId}" DefaultValue="{Context:CorrelationId}" />
        <InputClaim ClaimTypeReferenceId="Culture" PartnerClaimType="{property:Culture}" DefaultValue="{Culture:RFC5646}" />
      </InputClaims>
    </TechnicalProfile>

    <TechnicalProfile Id="AppInsights-SignInRequest">
      <InputClaims>
        <!-- An input claim with a PartnerClaimType="eventName" is required. This is used by the AzureApplicationInsightsProvider to create an event with the specified value. -->
        <InputClaim ClaimTypeReferenceId="EventType" PartnerClaimType="eventName" DefaultValue="SignInRequest" />
      </InputClaims>
      <IncludeTechnicalProfile ReferenceId="AppInsights-Common" />
    </TechnicalProfile>

    <TechnicalProfile Id="AppInsights-UserSignUp">
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="EventType" PartnerClaimType="eventName" DefaultValue="UserSignUp" />
      </InputClaims>
      <IncludeTechnicalProfile ReferenceId="AppInsights-Common" />
    </TechnicalProfile>

    <TechnicalProfile Id="AppInsights-SignInComplete">
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="EventType" PartnerClaimType="eventName" DefaultValue="SignInComplete" />
        <InputClaim ClaimTypeReferenceId="federatedUser" PartnerClaimType="{property:FederatedUser}" DefaultValue="false" />
        <InputClaim ClaimTypeReferenceId="parsedDomain" PartnerClaimType="{property:FederationPartner}" DefaultValue="Not Applicable" />
        <InputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="{property:IDP}" DefaultValue="Local" />
      </InputClaims>
      <IncludeTechnicalProfile ReferenceId="AppInsights-Common" />
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>

Fontos

Módosítsa a technikai profil rendszerállapotkulcsát AppInsights-Common az alkalmazás által Elemzések erőforrás által biztosított GUID-ra.

A technikai profilok hozzáadása vezénylési lépésekként

Adjon hozzá új vezénylési lépéseket, amelyek a technikai profilokra vonatkoznak.

Fontos

Az új vezénylési lépések hozzáadása után az 1-ről az N-re való kihagyás nélkül számozza újra a lépéseket egymás után.

  1. Hívás AppInsights-SignInRequest második vezénylési lépésként. Ez a lépés nyomon követi, hogy érkezett-e regisztrációs vagy bejelentkezési kérés.

    <!-- Track that we have received a sign in request -->
    <OrchestrationStep Order="2" Type="ClaimsExchange">
      <ClaimsExchanges>
        <ClaimsExchange Id="TrackSignInRequest" TechnicalProfileReferenceId="AppInsights-SignInRequest" />
      </ClaimsExchanges>
    </OrchestrationStep>
    
  2. A SendClaims vezénylési lépés előtt adjon hozzá egy új, meghívható AppInsights-UserSignuplépést. Ez akkor aktiválódik, ha a felhasználó kiválasztja a regisztrációs gombot egy regisztrációs vagy bejelentkezési folyamat során.

    <!-- Handles the user selecting the sign-up link in the local account sign-in page -->
    <OrchestrationStep Order="8" Type="ClaimsExchange">
      <Preconditions>
        <Precondition Type="ClaimsExist" ExecuteActionsIf="false">
          <Value>newUser</Value>
          <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
          <Value>newUser</Value>
          <Value>false</Value>
          <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
      </Preconditions>
      <ClaimsExchanges>
        <ClaimsExchange Id="TrackUserSignUp" TechnicalProfileReferenceId="AppInsights-UserSignup" />
      </ClaimsExchanges>
    </OrchestrationStep>
    
  3. A vezénylési SendClaims lépés után hívja meg a következőt AppInsights-SignInComplete: . Ez a lépés egy sikeresen befejezett folyamatot mutat be.

    <!-- Track that we have successfully sent a token -->
    <OrchestrationStep Order="10" Type="ClaimsExchange">
      <ClaimsExchanges>
        <ClaimsExchange Id="TrackSignInComplete" TechnicalProfileReferenceId="AppInsights-SignInComplete" />
      </ClaimsExchanges>
    </OrchestrationStep>
    

Töltse fel a fájlt, futtassa a szabályzatot, és tekintse meg az eseményeket

Mentse és töltse fel az TrustFrameworkExtensions.xml fájlt. Ezután hívja meg a függő entitás szabályzatát az alkalmazásból, vagy használja a Futtatás most lehetőséget az Azure Portalon. Várjon, amíg az események elérhetők lesznek az Application Elemzések.

  1. Nyissa meg az Alkalmazás Elemzések erőforrást a Microsoft Entra-bérlőben.
  2. Válassza a Használat, majd az Események lehetőséget.
  3. Állítsa az időtartamot az Utolsó órára és a3 percre. Előfordulhat, hogy frissítenie kell az ablakot az eredmények megtekintéséhez.

Screenshot that shows Application Insights event statistics.

További adatok gyűjtése

Az üzleti igényeknek megfelelően érdemes lehet további jogcímeket rögzíteni. Jogcím hozzáadásához először definiáljon egy jogcímet, majd adja hozzá a jogcímet a bemeneti jogcímcsoporthoz. Az alkalmazáshoz hozzáadott jogcímek Elemzések–Gyakori technikai profil minden eseményben megjelenik. Az adott műszaki profilhoz hozzáadott jogcímek csak ebben az eseményben jelennek meg. A bemeneti jogcímelem a következő attribútumokat tartalmazza:

  • A ClaimTypeReferenceId egy jogcímtípusra mutató hivatkozás.
  • A PartnerClaimType az Azure Elemzések megjelenő tulajdonság neve. Használja a , where NAME is tulajdonság szintaxisát {property:NAME}az eseményhez hozzáadva.
  • A DefaultValue egy előre definiált érték, amelyet rögzíteni kell, például egy esemény nevét. Ha a felhasználói folyamat során használt jogcím üres, a rendszer az alapértelmezett értéket használja. A jogcímet például az identityProvider összevonási technikai profilok, például a Facebook állítják be. Ha a jogcím üres, azt jelzi, hogy a felhasználó bejelentkezett egy helyi fiókkal. Így az alapértelmezett érték Helyi értékre van állítva. A jogcímfeloldót környezeti értékkel is rögzítheti, például az alkalmazásazonosítót vagy a felhasználói IP-címet.

Jogcímek kezelése

A bemeneti jogcímek átalakításával módosíthatja a bemeneti jogcímeket, vagy újakat hozhat létre, mielőtt elküldené őket az Alkalmazás Elemzések. Az alábbi példában a műszaki profil tartalmazza a bemeneti jogcímek átalakítását CheckIsAdmin .

<TechnicalProfile Id="AppInsights-SignInComplete">
  <InputClaimsTransformations>  
    <InputClaimsTransformation ReferenceId="CheckIsAdmin" />
  </InputClaimsTransformations>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="isAdmin" PartnerClaimType="{property:IsAdmin}"  />
    ...
  </InputClaims>
  <IncludeTechnicalProfile ReferenceId="AppInsights-Common" />
</TechnicalProfile>

Események hozzáadása

Esemény hozzáadásához hozzon létre egy új technikai profilt, amely tartalmazza a technikai profilt AppInsights-Common . Ezután vezénylési lépésként adja hozzá az új műszaki profilt a felhasználói folyamathoz. Az előkondicionálási elem használatával aktiválhatja az eseményt, amikor készen áll. Az eseményt például csak akkor jelenti, ha a felhasználók többtényezős hitelesítésen futnak.

<TechnicalProfile Id="AppInsights-MFA-Completed">
  <InputClaims>
     <InputClaim ClaimTypeReferenceId="EventType" PartnerClaimType="eventName" DefaultValue="MFA-Completed" />
  </InputClaims>
  <IncludeTechnicalProfile ReferenceId="AppInsights-Common" />
</TechnicalProfile>

Fontos

Amikor hozzáad egy eseményt a felhasználói folyamathoz, ne felejtse el egymás után számba venni a vezénylés lépéseit.

<OrchestrationStep Order="8" Type="ClaimsExchange">
  <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
    <Value>isActiveMFASession</Value>
    <Action>SkipThisOrchestrationStep</Action>
    </Precondition>
  </Preconditions>
  <ClaimsExchanges>
    <ClaimsExchange Id="TrackUserMfaCompleted" TechnicalProfileReferenceId="AppInsights-MFA-Completed" />
  </ClaimsExchanges>
</OrchestrationStep>

Fejlesztői mód engedélyezése

Ha az Application Elemzések használatával definiál eseményeket, jelezheti, hogy engedélyezve van-e a fejlesztői mód. A fejlesztői mód szabályozza az események pufferelt módját. Olyan fejlesztői környezetben, amely minimális eseménymennyiséggel rendelkezik, a fejlesztői mód engedélyezésével az események azonnal el lesznek küldve az Alkalmazás Elemzések. The default value is false. Éles környezetben ne engedélyezze a fejlesztői módot.

A fejlesztői mód engedélyezéséhez módosítsa a DeveloperMode metaadatokat true a AppInsights-Common műszaki profilban:

<TechnicalProfile Id="AppInsights-Common">
  <Metadata>
    ...
    <Item Key="DeveloperMode">true</Item>
  </Metadata>
</TechnicalProfile>

Telemetriai adatok letiltása

Az alkalmazás Elemzések naplók letiltásához módosítsa a metaadatokat true a DisableTelemetryAppInsights-Common műszaki profilban:

<TechnicalProfile Id="AppInsights-Common">
  <Metadata>
    ...
    <Item Key="DisableTelemetry">true</Item>
  </Metadata>
</TechnicalProfile>

Következő lépések

Megtudhatja, hogyan hozhat létre egyéni KPI-irányítópultokat Azure-alkalmazás Elemzések használatával.