Sledování chování uživatelů v Azure AD B2C pomocí služby Application Přehledy
Článek
Než začnete, pomocí selektoru Zvolit typ zásady zvolte typ zásady, kterou nastavujete. Azure Active Directory B2C nabízí dvě metody pro definování způsobu interakce uživatelů s vašimi aplikacemi: prostřednictvím předdefinovaných toků uživatelů nebo prostřednictvím plně konfigurovatelných vlastních zásad. Kroky vyžadované v tomto článku se pro každou metodu liší.
Tato funkce je dostupná jenom pro vlastní zásady. Pro kroky nastavení vyberte v předchozím selektoru vlastní zásady .
V Azure Active Directory B2C (Azure AD B2C) můžete odesílat data událostí přímo do aplikačního Přehledy pomocí instrumentačního klíče poskytnutého Azure AD B2C. Pomocí technického profilu aplikace Přehledy můžete získat podrobné a přizpůsobené protokoly událostí pro cesty uživatelů k:
Získejte přehled o chování uživatelů.
Řešení potíží s vlastními zásadami při vývoji nebo v produkčním prostředí
Měření výkonu
Vytváření oznámení z Přehledy aplikace
Přehled
Pokud chcete povolit vlastní protokoly událostí, přidejte Přehledy technický profil aplikace. V technickém profilu definujete klíč instrumentace aplikace Přehledy, název události a deklarace identity, které se mají zaznamenat. Pokud chcete publikovat událost, přidejte technický profil jako krok orchestrace na cestě uživatele.
Pokud používáte Přehledy aplikace, zvažte následující:
Existuje krátké zpoždění, obvykle méně než pět minut, než budou nové protokoly k dispozici v Přehledy aplikace.
Azure AD B2C umožňuje zvolit, které deklarace identity se mají zaznamenávat. Nezahrnujte deklarace identity s osobními údaji.
Pokud chcete zaznamenat uživatelskou relaci, můžete k sjednocení událostí použít ID korelace.
Volejte Přehledy technického profilu aplikace přímo z cesty uživatele nebo dílčí cesty. Jako technický profil ověřování nepoužívejte aplikační Přehledy technický profil.
Když používáte application Přehledy s Azure AD B2C, stačí vytvořit prostředek a získat instrumentační klíč. Informace najdete v tématu Vytvoření prostředku Přehledy aplikace.
Technické profily se dají považovat za funkce ve vlastních zásadách. Tyto funkce používají přístup k zahrnutí technického profilu, kde technický profil obsahuje jiný technický profil a mění nastavení nebo přidává nové funkce. Následující tabulka definuje technické profily, které se používají k otevření relace a publikování událostí.
Technický profil
Úkol
Běžná aplikace Přehledy
Společný technický profil s typickou konfigurací. Zahrnuje klíč instrumentace aplikace Přehledy, kolekci deklarací identity, která se má zaznamenávat, a režim vývojáře. Ostatní technické profily zahrnují společný technický profil a přidávají další deklarace identity, jako je název události.
Aplikace Přehledy-SignInRequest
Zaznamenává událost SignInRequest se sadou deklarací identity při přijetí žádosti o přihlášení.
Aplikace Přehledy-UserSignUp
Zaznamenává událost UserSignUp, když uživatel aktivuje možnost registrace v cestě registrace nebo přihlášení.
Aplikace Přehledy-SignInComplete
Zaznamenává událost SignInComplete při úspěšném ověření, když byl token odeslán do aplikace předávající strany.
Otevřete soubor TrustFrameworkExtensions.xml z úvodní sady. Přidejte technické profily do elementu ClaimsProvider :
<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>
Důležité
Změňte klíč instrumentace v technickém AppInsights-Common profilu na identifikátor GUID, který váš prostředek Přehledy aplikace poskytuje.
Přidánítechnickýchch
Přidejte nové kroky orchestrace, které odkazují na technické profily.
Důležité
Po přidání nových kroků orchestrace přečíslujte kroky postupně bez vynechání celých čísel od 1 do N.
Volání AppInsights-SignInRequest jako druhého kroku orchestrace Tento krok sleduje, že byla přijata žádost o registraci nebo přihlášení.
<!-- Track that we have received a sign in request -->
<OrchestrationStep Order="2" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="TrackSignInRequest" TechnicalProfileReferenceId="AppInsights-SignInRequest" />
</ClaimsExchanges>
</OrchestrationStep>
SendClaims Před krok orchestrace přidejte nový krok, který volá AppInsights-UserSignup. Aktivuje se, když uživatel vybere tlačítko pro registraci nebo přihlášení.
<!-- 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>
SendClaims Po kroku orchestrace zavolejte AppInsights-SignInComplete. Tento krok ukazuje úspěšně dokončenou cestu.
<!-- Track that we have successfully sent a token -->
<OrchestrationStep Order="10" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange Id="TrackSignInComplete" TechnicalProfileReferenceId="AppInsights-SignInComplete" />
</ClaimsExchanges>
</OrchestrationStep>
Nahrání souboru, spuštění zásady a zobrazení událostí
Uložte a nahrajte soubor TrustFrameworkExtensions.xml . Potom volejte zásadu předávající strany z vaší aplikace nebo použijte spustit na webu Azure Portal. Počkejte, až budou události dostupné v Přehledy aplikace.
Otevřete prostředek Application Přehledy v tenantovi Microsoft Entra.
Vyberte Využití a pak vyberte Události.
Nastavte během poslední hodiny a do 3 minut. Možná budete muset okno aktualizovat, aby se zobrazily výsledky.
Shromažďování dalších dat
Pro potřeby vaší firmy můžete chtít zaznamenávat další deklarace identity. Pokud chcete přidat deklaraci identity, nejprve definujte deklaraci identity a pak ji přidejte do vstupní kolekce deklarací identity. Deklarace identity, které přidáte do aplikace Přehledy- Společný technický profil se zobrazí ve všech událostech. Deklarace identity, které přidáte do konkrétního technického profilu, se zobrazí pouze v této události. Vstupní element deklarace identity obsahuje následující atributy:
ClaimTypeReferenceId je odkaz na typ deklarace identity.
PartnerClaimType je název vlastnosti, která se zobrazí v Azure Přehledy. Použijte syntaxi {property:NAME}, kde je vlastnost, která NAME se přidává do události.
DefaultValue je předdefinovaná hodnota, která se má zaznamenat, například název události. Pokud je deklarace identity použitá v cestě uživatele prázdná, použije se výchozí hodnota. Deklarace identity je například identityProvider nastavena technickými profily federace, jako je Facebook. Pokud je deklarace identity prázdná, znamená to, že se uživatel přihlásil pomocí místního účtu. Výchozí hodnota je tedy nastavena na Hodnotu Local. Překladač deklarací identity můžete také zaznamenat s kontextovou hodnotou, jako je ID aplikace nebo IP adresa uživatele.
Manipulace s deklaracemi identity
Transformace vstupních deklarací identity můžete použít ke změně vstupních deklarací identity nebo k vygenerování nových deklarací identity před jejich odesláním do aplikace Přehledy. V následujícím příkladu zahrnuje technický profil CheckIsAdmin vstupní transformaci deklarací identity.
Když k definování událostí použijete Přehledy aplikace, můžete určit, jestli je povolený vývojářský režim. Režim vývojáře řídí způsob ukládání událostí do vyrovnávací paměti. Ve vývojovém prostředí s minimálním objemem událostí umožníte vývojářskému režimu okamžitě odesílat události do aplikace Přehledy. Výchozí hodnota je false. Nepovolujte vývojářský režim v produkčních prostředích.
Pokud chcete povolit vývojářský režim, změňte DeveloperMode metadata na true v technickém AppInsights-Common profilu: