Dela via


Samla in Azure Active Directory B2C-loggar med Application Insights

Viktigt!

Från och med den 1 maj 2025 är Azure AD B2C inte längre tillgängligt att köpa för nya kunder. Läs mer i våra vanliga frågor och svar.

Innan du börjar använder du väljaren Välj en principtyp överst på den här sidan för att välja den typ av princip som du konfigurerar. Azure Active Directory B2C erbjuder två metoder för att definiera hur användare interagerar med dina program: via fördefinierade användarflöden eller genom fullständigt konfigurerbara anpassade principer. De steg som krävs i den här artikeln skiljer sig åt för varje metod.

Den här funktionen är endast tillgänglig för anpassade principer. För installationsinstruktioner väljer du Anpassad princip i ovanstående väljare.

Anmärkning

Den här funktionen är i offentlig förhandsversion.

Den här artikeln innehåller steg för att samla in loggar från Active Directory B2C (Azure AD B2C) så att du kan diagnostisera problem med dina anpassade principer. I Application Insights finns olika sätt att diagnostisera undantag och visualisera prestandaproblem i programmet. Azure AD B2C har en funktion för att skicka data till Application Insights.

De detaljerade aktivitetsloggarna som beskrivs här bör endast aktiveras under utvecklingen av dina anpassade principer.

Varning

Ställ inte in DeploymentMode till Development i produktionsmiljöer. Loggar samlar in alla påståenden som skickas till och från identitetsleverantörer. Du som utvecklare tar på dig ansvaret för alla personuppgifter som samlas in i dina Application Insights-loggar. Dessa detaljerade loggar samlas bara in när principen placeras i UTVECKLARLÄGE.

Konfigurera Application Insights

Om du inte redan har en skapar du en instans av Application Insights i din prenumeration.

Tips/Råd

En enda instans av Application Insights kan användas för flera Azure AD B2C-klienter. I din sökning kan du sedan filtrera efter klientorganisation eller policynamn. Mer information finns i loggarna i Application Insights-exempel .

Följ dessa steg om du vill använda en befintlig instans av Application Insights i din prenumeration:

  1. Logga in på Azure-portalen.
  2. Kontrollera att du använder katalogen Microsoft Entra som har din Azure-prenumeration och inte din Azure AD B2C-katalog. Välj ikonen Kataloger + prenumerationer i portalens verktygsfält.
  3. I portalinställningarna | Sidan Kataloger + prenumerationer , leta upp din Microsoft Entra-katalog i listan Katalognamn och välj sedan Växla.
  4. Öppna Application Insights-resursen som du skapade tidigare.
  5. På sidan Översikt och registrera anslutningssträngen

Följ dessa steg för att skapa en instans av Application Insights i din prenumeration:

  1. Logga in på Azure-portalen.
  2. Kontrollera att du använder katalogen Microsoft Entra som har din Azure-prenumeration och inte din Azure AD B2C-katalog. Välj ikonen Kataloger + prenumerationer i portalens verktygsfält.
  3. I portalinställningarna | Sidan Kataloger + prenumerationer , leta upp din Microsoft Entra-katalog i listan Katalognamn och välj sedan Växla.
  4. Välj Skapa en resurs i den vänstra navigeringsmenyn.
  5. Sök efter och välj Application Insights och välj sedan Skapa.
  6. Fyll i formuläret, välj Granska + skapa och välj sedan Skapa.
  7. När distributionen är klar väljer du Gå till resurs.
  8. Under Konfigurera i Application Insights-menyn väljer du Egenskaper.
  9. Registrera anslutningssträngen för användning i ett senare steg.

Konfigurera den anpassade policyn

  1. Öppna den förlitande partfilen (RP), till exempel SignUpOrSignin.xml.

  2. Lägg till följande attribut i elementet <TrustFrameworkPolicy> :

    DeploymentMode="Development"
    UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights"
    
  3. Om den inte redan finns lägger du till en <UserJourneyBehaviors> underordnad nod i <RelyingParty> noden. Den måste finnas efter <DefaultUserJourney ReferenceId="UserJourney Id" from your extensions policy, or equivalent (for example:SignUpOrSigninWithAAD" />. Se RelyingParty-schemareferens för en fullständig lista över RelyingPartys underordnade element.

  4. Lägg till följande nod som underordnad elementet <UserJourneyBehaviors> . Se till att ersätta {Your Application Insights Key} med Application Insights anslutningssträngen som du registrerade tidigare.

    <JourneyInsights TelemetryEngine="ApplicationInsights" ConnectionString="{Your Application Insights ConnectionString}" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
    
    • DeveloperMode="true" instruerar ApplicationInsights att påskynda telemetrin via bearbetningspipelinen. Bra för utveckling, men begränsad vid höga volymer. I produktion anger du DeveloperMode till false.
    • ClientEnabled="true" skickar klientsidans ApplicationInsights-skript för att spåra sidvisningar och klientsidefel. Du kan visa detta i tabellen browserTimings i Application Insights-portalen. Genom att ange ClientEnabled= "true"lägger du till Application Insights i sidskriptet och du får tidsinställningar för sidinläsningar och AJAX-anrop, antal, information om webbläsarfel och AJAX-fel samt antal användare och sessioner. Det här fältet är valfritt och är inställt på false som standard.
    • ServerEnabled="true" skickar den befintliga UserJourneyRecorder JSON som en anpassad händelse till Application Insights.

    Till exempel:

    <TrustFrameworkPolicy
      ...
      TenantId="fabrikamb2c.onmicrosoft.com"
      PolicyId="SignUpOrSignInWithAAD"
      DeploymentMode="Development"
      UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights"
    >
    ...
    <RelyingParty>
      <DefaultUserJourney ReferenceId="UserJourney ID from your extensions policy, or equivalent (for example: SignUpOrSigninWithAzureAD)" />
      <Endpoints>
         <!--points to refresh token journey when app makes refresh token request-->
         <Endpoint Id="Token" UserJourneyReferenceId="RedeemRefreshToken" />
      </Endpoints>
      <UserJourneyBehaviors>
        <JourneyInsights TelemetryEngine="ApplicationInsights" ConnectionString="{Your Application Insights ConnectionString}" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
      </UserJourneyBehaviors>
      ...
    </TrustFrameworkPolicy>
    
  5. Ladda upp policyn.

Se loggarna i Application Insights

Det är en kort fördröjning, vanligtvis mindre än fem minuter, innan du kan se nya loggar i Application Insights.

  1. Öppna Application Insights-resursen som du skapade i Azure-portalen.
  2. På sidan Översikt väljer du Loggar.
  3. Öppna en ny flik i Application Insights.

Här är en lista över frågor som du kan använda för att se loggarna:

Sökfråga Beskrivning
traces Hämta alla loggar som genereras av Azure AD B2C
traces | where timestamp > ago(1d) Hämta alla loggar som genererats av Azure AD B2C för den senaste dagen.
traces | where message contains "exception" | where timestamp > ago(2h) Hämta alla loggar med fel från de senaste två timmarna.
traces | where customDimensions.Tenant == "contoso.onmicrosoft.com" and customDimensions.UserJourney == "b2c_1a_signinandup" Hämta alla loggar som genereras av Azure AD B2C contoso.onmicrosoft.com tenant och användarresa är b2c_1a_signinandup.
traces | where customDimensions.CorrelationId == "aaaa0000-bb11-2222-33cc-444444dddddd" Hämta alla loggar som genereras av Azure AD B2C för ett korrelations-ID. Ersätt korrelations-ID:t med ditt korrelations-ID.

Posterna kan vara långa. Exportera till CSV för en närmare titt.

Mer information om frågor finns i Översikt över loggfrågor i Azure Monitor.

Se loggarna i VS Code-tillägget

Vi rekommenderar att du installerar Azure AD B2C-tillägget för VS Code. Med Azure AD B2C-tillägget ordnas loggarna efter principnamnet, korrelations-ID :t (application insights visar den första siffran i korrelations-ID:t) och loggtidsstämpeln. Den här funktionen hjälper dig att hitta relevant logg baserat på den lokala tidsstämpeln och se användarresan som körs av Azure AD B2C.

Anmärkning

Communityn har utvecklat VS Code-tillägget för att hjälpa personer att implementera och underhålla Azure AD B2C-lösningar. Tillägget stöds inte av Microsoft och görs tillgängligt enbart as-is.

Ange APPLICATION Insights API-åtkomst

När du har konfigurerat Application Insights och konfigurerat den anpassade principen måste du hämta api-ID:t för Application Insights och skapa EN API-nyckel. Både API-ID:t och API-nyckeln används av Azure AD B2C-tillägget för att läsa Application Insights-händelserna (telemetrier). Dina API-nycklar ska hanteras som lösenord. Håll det hemligt.

Anmärkning

Application Insights-anslutningssträngen som du skapade tidigare används av Azure AD B2C för att skicka telemetrier till Application Insights. Du använder endast anslutningssträngen i din Azure AD B2C-princip, inte i VS Code-tillägget.

Så här hämtar du Application Insights-ID och nyckel:

  1. Öppna Application Insights-resursen för ditt program i Azure-portalen.

  2. Välj Konfigurera och sedan API-åtkomst.

  3. Kopiera applikations-ID

  4. Välj Skapa API-nyckel

  5. Klicka i rutan Läs telemetri.

  6. Kopiera nyckeln innan du stänger bladet Skapa API-nyckel och spara den på en säker plats. Om du förlorar nyckeln måste du skapa en till.

    Skärmbild som visar hur du skapar API-åtkomstnyckel.

Konfigurera Azure AD B2C VS Code-tillägget

Nu när du har API-ID och nyckel för Azure Application Insights kan du konfigurera VS Code-tillägget så att det läser loggarna. Azure AD B2C VS Code-tillägget innehåller två omfång för inställningar:

  • Globala inställningar för användare – Inställningar som gäller globalt för alla instanser av VS Code som du öppnar.
  • Inställningar för arbetsyta – Inställningar som lagras i din arbetsyta och gäller endast när arbetsytan öppnas (med vs Code öppna mapp).
  1. Från Azure AD B2C Trace Explorer klickar du på ikonen Inställningar .

    Skärmbild som visar hur du väljer inställningar för application insights.

  2. Ange Azure Application Insights-ID och nyckel.

  3. Klicka på Spara

När du har sparat inställningarna visas Application Insights-loggarna i fönstret Azure AD B2C Trace (App Insights).

Skärmbild av Azure AD B2C-tillägget för vscode som visar Azure Application Insights-spårningen.

Konfigurera Application Insights i produktion

För att förbättra produktionsmiljöns prestanda och bättre användarupplevelse är det viktigt att konfigurera principen för att ignorera meddelanden som inte är viktiga. Du måste också se till att du inte loggar personligt identifierbar information (PII). Använd följande konfiguration i produktionsmiljöer och inga loggar skickas till dina programinsikter.

  1. DeploymentMode Ange attributet för TrustFrameworkPolicy till Production.

    <TrustFrameworkPolicy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06" PolicySchemaVersion="0.3.0.0"
    TenantId="yourtenant.onmicrosoft.com"
    PolicyId="B2C_1A_signup_signin"
    PublicPolicyUri="http://yourtenant.onmicrosoft.com/B2C_1A_signup_signin"
    DeploymentMode="Production"
    UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights">
    
  2. Ange DeveloperMode för JourneyInsights till false.

    <UserJourneyBehaviors>
      <JourneyInsights TelemetryEngine="ApplicationInsights" ConnectionString="{Your Application Insights ConnectionString}" DeveloperMode="false" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
    </UserJourneyBehaviors>
    
  3. Ladda upp och testa policyn.

Nästa steg