Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Od 1. května 2025 už nebude Azure AD B2C k dispozici k nákupu pro nové zákazníky. Další informace najdete v našich nejčastějších dotazech.
Než začnete, pomocí selektoru Zvolit typ zásady v horní části této stránky 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á pouze pro vlastní zásady. Ve krocích nastavení vyberte vlastní politika v předchozím výběru.
V Azure Active Directory B2C (Azure AD B2C) můžete odesílat data událostí přímo do Application Insights pomocí připojovacího řetězce poskytnutého Azure AD B2C. Pomocí technického profilu Application Insights 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 Application Insights
Poznámka:
Tato funkce je ve verzi Public Preview.
Přehled
Pokud chcete povolit vlastní protokoly událostí, přidejte technický profil Application Insights. V technickém profilu definujete připojovací řetězec pro Application Insights, název události a nároky, které se mají zaznamenat. Pokud chcete publikovat událost, přidejte technický profil jako krok v orchestraci na cestě uživatele.
Když používáte Application Insights, zvažte následující:
- Existuje krátké zpoždění, obvykle méně než pět minut, než jsou nové protokoly k dispozici v Application Insights.
- Azure AD B2C umožňuje zvolit, které deklarace identity se mají zaznamenávat. Nezahrnujte požadavky obsahující osobní údaje.
- Pokud chcete zaznamenat uživatelskou relaci, můžete k sjednocení událostí použít ID korelace.
- Volejte technický profil Application Insights přímo z cesty uživatele nebo dílčí cesty. Jako technický profil ověřování nepoužívejte technický profil Application Insights.
Požadavky
- Dokončete kroky v Začněte s vlastními zásadami ve službě Azure Active Directory B2C. V tomto kurzu se dozvíte, jak aktualizovat soubory vlastních zásad tak, aby používaly konfiguraci tenanta Azure AD B2C.
- Pokud jste webovou aplikaci nezaregistrovali, zaregistrujte ji pomocí kroků v registraci webové aplikace.
Vytvořit prostředek Application Insights
Když používáte Application Insights s Azure AD B2C, stačí vytvořit prostředek a získat připojovací řetězec. Informace najdete v tématu Vytvoření prostředku Application Insights.
- Přihlaste se do Azure Portalu.
- Pokud máte přístup k více tenantům, v horní nabídce vyberte ikonu Nastavení a přepněte do tenanta Microsoft Entra ID z nabídky Adresáře a předplatná .
- V levém horním rohu webu Azure Portal zvolte Vytvořit prostředek a pak vyhledejte a vyberte Application Insights.
- Vyberte Vytvořit.
- Jako Název zadejte název prostředku.
- Jako typ aplikace vyberte ASP.NET webové aplikace.
- V části Skupina prostředků vyberte existující skupinu nebo zadejte název nové skupiny.
- Vyberte Vytvořit.
- Otevřete nový prostředek Application Insights, rozbalte základní informace a zkopírujte připojovací řetězec.
Definice nároků
Nárok poskytuje dočasné úložiště dat během provádění zásad Azure AD B2C. Svůj nárok deklarujete v elementu ClaimsSchema.
Otevřete soubor s rozšířeními zásad. Soubor může vypadat podobně jako
SocialAndLocalAccounts/TrustFrameworkExtensions.xml.Vyhledejte prvek BuildingBlocks. Pokud prvek nevidíte, přidejte ho.
Vyhledejte element ClaimsSchema . Pokud prvek nevidíte, přidejte ho.
Do elementu ClaimsSchema přidejte následující nároky:
<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>
Přidání nových technických profilů
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 |
|---|---|
| AppInsights-Common | Společný technický profil s typickou konfigurací. Zahrnuje připojovací řetězec Application Insights, kolekci deklarací identity k zaznamenání 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. |
| AppInsights-SignInRequest | Zaznamenává událost SignInRequest se sadou deklarací identity při přijetí žádosti o přihlášení. |
| AppInsights-UserSignUp | Zaznamenává událost UserSignUp , když uživatel aktivuje možnost registrace v cestě registrace nebo přihlášení. |
| AppInsights-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 souborTrustFrameworkExtensions.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 connection string, which you use for logging the events -->
<Item Key="ConnectionString">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 připojovací řetězec v technickém profilu AppInsights-Common na GUID poskytovaný vaším prostředkem Application Insights.
Přidejte technické profily jako kroky orchestrace
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.
Identifikujte soubor zásad, který obsahuje cestu uživatele, například
SocialAndLocalAccounts/SignUpOrSignin.xml, a otevřete ho.Proveďte volání
AppInsights-SignInRequestjako druhý krok 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>Před krokem orchestrace přidejte nový krok, který volá
SendClaims. Aktivuje se, když uživatel vybere tlačítko pro registraci nebo přihlášení. Možná budete muset aktualizovat krok orchestrace, abyste měli jistotu,Order="8"že nepřeskočíte žádné celé číslo od prvního k poslednímu kroku orchestrace.<!-- Handles the user selecting the sign-up link in the local account sign-in page The `SendClaims` orchestration step comes after this one, --> <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>SendClaimsPo kroku orchestrace zavolejteAppInsights-SignInComplete. Tento krok ukazuje úspěšně dokončenou cestu. Možná budete muset aktualizovat krok orchestrace, abyste měli jistotu,Order="10"že nepřeskočíte žádné celé číslo od prvního k poslednímu kroku orchestrace.<!-- Track that we have successfully sent a token The `SendClaims` orchestration step come before this one, --> <OrchestrationStep Order="10" Type="ClaimsExchange"> <ClaimsExchanges> <ClaimsExchange Id="TrackSignInComplete" TechnicalProfileReferenceId="AppInsights-SignInComplete" /> </ClaimsExchanges> </OrchestrationStep>
Nahrajte svůj soubor, spusťte zásadu a zobrazte události
Uložte a nahrajte souborTrustFrameworkExtensions.xml . Potom volejte zásadu předávající strana z vaší aplikace nebo použijte Spustit nyní v Azure Portal. Počkejte, až budou události dostupné ve službě Application Insights.
- Otevřete prostředek Application Insights v tenantovi Microsoft Entra.
- Vyberte Využití a pak vyberte Události.
- Nastavte běhemposlední hodinya do3 minut. Možná budete muset okno aktualizovat, aby se zobrazily výsledky.
Shromažďování dalších dat
Pro potřeby vašeho podnikání možná budete chtít zaznamenávat více nároků. Pokud chcete přidat deklaraci identity, nejprve definujte deklaraci identity a pak ji přidejte do vstupní kolekce deklarací identity. Tvrzení, která přidáte do technického profilu AppInsights-Common, se zobrazí ve všech událostech. Položky, 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 nároku.
-
PartnerClaimType je název vlastnosti, která se zobrazí v Azure Insights. Použijte syntaxi
{property:NAME}, kdeNAMEje vlastnost přidávaná do události. -
DefaultValue je předdefinovaná hodnota, která se má zaznamenat, například název události. Pokud je položka použitá v cestě uživatele prázdná, použije se výchozí hodnota. Například nárok
identityProviderje nastaven 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 Local. Řešitel nároků 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 k úpravě vstupních deklarací identity nebo generování nových deklarací identity před jejich odesláním do Application Insights. V následujícím příkladu zahrnuje technický profil CheckIsAdmin transformaci vstupních nároků.
<TechnicalProfile Id="AppInsights-SignInComplete">
<InputClaimsTransformations>
<InputClaimsTransformation ReferenceId="CheckIsAdmin" />
</InputClaimsTransformations>
<InputClaims>
<InputClaim ClaimTypeReferenceId="isAdmin" PartnerClaimType="{property:IsAdmin}" />
...
</InputClaims>
<IncludeTechnicalProfile ReferenceId="AppInsights-Common" />
</TechnicalProfile>
Přidání událostí
Pokud chcete přidat událost, vytvořte nový technický profil, který obsahuje AppInsights-Common technický profil. Potom do cesty uživatele přidejte nový technický profil jako krok orchestrace. K aktivaci události, když jste připravení, použijte element Předběžné předpoklady . Například nahlásit událost pouze v případě, že uživatelé procházejí vícefaktorovým ověřováním.
<TechnicalProfile Id="AppInsights-MFA-Completed">
<InputClaims>
<InputClaim ClaimTypeReferenceId="EventType" PartnerClaimType="eventName" DefaultValue="MFA-Completed" />
</InputClaims>
<IncludeTechnicalProfile ReferenceId="AppInsights-Common" />
</TechnicalProfile>
Důležité
Když do cesty uživatele přidáte událost, nezapomeňte postupně přečíslovat kroky orchestrace.
<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>
Povolení vývojářského režimu
Když k definování událostí použijete Application Insights, 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žňuje vývojářský režim okamžitě odesílat události do Application Insights. 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:
<TechnicalProfile Id="AppInsights-Common">
<Metadata>
...
<Item Key="DeveloperMode">true</Item>
</Metadata>
</TechnicalProfile>
Zakázání telemetrie
Pokud chcete zakázat protokoly Application Insights, změňte DisableTelemetry metadata na true v technickém AppInsights-Common profilu:
<TechnicalProfile Id="AppInsights-Common">
<Metadata>
...
<Item Key="DisableTelemetry">true</Item>
</Metadata>
</TechnicalProfile>
Další kroky
Naučte se vytvářet vlastní řídicí panely klíčových ukazatelů výkonu pomocí Azure Application Insights.