Verzamelen van Azure Active Directory B2C-logboeken met Application Insights

Voordat u begint, gebruikt u de selector Een beleidstype kiezen om het type beleid te kiezen dat u instelt. U kunt in Azure Active Directory B2C op twee manieren definiëren hoe gebruikers met uw toepassingen communiceren: via vooraf gedefinieerde gebruikersstromen of via volledig configureerbaar aangepast beleid. De stappen die in dit artikel zijn vereist, verschillen voor elke methode.

Deze functie is alleen beschikbaar voor aangepast beleid. Voor configuratiestappen selecteert u Aangepast beleid in de voorgaande selector.

Dit artikel bevat de stappen voor het verzamelen van logboeken van Active Directory B2C (Azure AD B2C) en stelt u in staat om problemen met uw aangepaste beleid vast te stellen. AppInsights biedt een manier om uitzonderingen te diagnosticeren en prestatieproblemen van toepassingen te visualiseren. Azure AD B2C bevat een functie voor het verzenden van gegevens naar AppInsights.

De gedetailleerde activiteitenlogboeken die hier worden beschreven, moeten ALLEEN worden ingeschakeld tijdens ontwikkeling van uw aangepaste beleid.

Waarschuwing

Stel de DeploymentMode niet in op Development in productieomgevingen. De logboeken verzamelen alle claims die worden verzonden naar en van id-providers. U als ontwikkelaar neemt de verantwoordelijkheid voor eventuele persoonlijke gegevens die in uw Application Insights-logboeken worden verzameld. De gedetailleerde logboeken worden alleen verzameld wanneer het beleid wordt geplaatst in ONTWIKKELAARSMODUS.

Instellen Application Insights

Maak een exemplaar van Application Insights in uw abonnement, als u er nog geen hebt.

Tip

Eén enkel exemplaar van Application Insights kan worden gebruikt voor meerdere Azure AD B2C-tenants. Vervolgens kunt u in uw query filteren op de naam van de tenant of van het beleid. Raadpleeg de logboeken in Application Insights-voorbeelden voor meer informatie.

Voer deze volgende stappen uit om een bestaand exemplaar van Application Insights in uw abonnement te gebruiken:

  1. Meld u aan bij de Azure-portal.
  2. Zorg ervoor dat u de Microsoft Entra-directory gebruikt die uw Azure-abonnement heeft en niet uw Azure AD B2C-directory. Selecteer op de portalwerkbalk het pictogram Mappen + abonnementen.
  3. In de portalinstellingen | Directory's + abonnementenpagina , zoek uw Microsoft Entra-map in de lijst met directorynamen en selecteer schakeloptie.
  4. Open Application Insights-resource die u eerder hebt gemaakt.
  5. Noteer de instrumentatiesleutel op de pagina Overzicht en noteer de instrumentatiesleutel

Voer deze volgende stappen uit om exemplaar van Application Insights in uw abonnement te maken:

  1. Meld u aan bij de Azure-portal.
  2. Zorg ervoor dat u de Microsoft Entra-directory gebruikt die uw Azure-abonnement heeft en niet uw Azure AD B2C-directory. Selecteer op de portalwerkbalk het pictogram Mappen + abonnementen.
  3. In de portalinstellingen | Directory's + abonnementenpagina , zoek uw Microsoft Entra-map in de lijst met directorynamen en selecteer schakeloptie.
  4. Selecteer dan Een resource maken in het linkernavigatiemenu.
  5. Zoek en selecteer Application Insights en selecteer daarna Maken.
  6. Voltooi het formulier, selecteer Controleren en maken en selecteer vervolgens Maken.
  7. Zodra de implementatie is voltooid, selecteert u Ga naar de resource.
  8. Selecteer Eigenschappen onder Configureren in het menu Application Insights.
  9. Leg de INSTRUMENTATIESLEUTEL vast voor gebruik in een latere stap.

Aangepaste beleid configureren

  1. Open het RP-bestand (Relying Party), bijv. SignUpOrSignin.xml.

  2. Voeg het volgende -kenmerken toe aan het element <TrustFrameworkPolicy>:

    DeploymentMode="Development"
    UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights"
    
  3. Als dit nog niet bestaat, voegt u een <UserJourneyBehaviors> onderliggend knooppunt toe aan het knooppunt <RelyingParty>. Het moet zich na <DefaultUserJourney ReferenceId="UserJourney Id" from your extensions policy, or equivalent (for example:SignUpOrSigninWithAAD" /> bevinden. Zie de naslaginformatie over het RelyingParty-schema voor een volledige volgorde van de onderliggende elementen van RelyingParty .

  4. Voeg het volgende knooppunt toe als onderliggend element van het bestaande element <UserJourneyBehaviors>. Zorg ervoor dat u {Your Application Insights Key} vervangt met de Instrumentation-sleutel van Application Insights die u eerder hebt vastgelegd.

    <JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="{Your Application Insights Key}" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
    
    • DeveloperMode="true" geeft aan bij ApplicationInsights om de telemetrie te versnellen via de verwerkingspijplijn. Goed voor ontwikkeling, maar is beperkt op grote volumes. Stel in productie de DeveloperMode in op false.
    • ClientEnabled="true" verzendt het script aan de clientzijde van ApplicationInsights voor bijhouden van paginaweergaven en fouten aan de clientzijde. U kunt dit bekijken in de browserTimings-tabel in de Application Insights-portal. Door ClientEnabled= "true" in te stellen, voegt u Application Insights toe aan uw paginascript en krijgt u de beschikking over allerlei gegevens, zoals de tijden voor het laden van pagina’s en AJAX-aanroepen, tellingen en details van browseruitzonderingen en AJAX-fouten en de aantallen gebruikers en sessies. Dit veld is optioneel en is standaard ingesteld op false.
    • ServerEnabled="true" verzendt de bestaande UserJourneyRecorder JSON als aangepaste gebeurtenis naar Application Insights.

    Bijvoorbeeld:

    <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" InstrumentationKey="{Your Application Insights Key}" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
      </UserJourneyBehaviors>
      ...
    </TrustFrameworkPolicy>
    
  5. Upload het beleid.

Bekijk logboeken in Application Insights

Er is een korte vertraging, meestal minder dan vijf minuten, voordat u nieuwe logboeken in Application Insights kunt zien.

  1. Open de Application Insights-resource die u hebt gemaakt in Azure Portal.
  2. Selecteer Logboeken op pagina Overzicht.
  3. Open nieuw tabblad in Application Insights.

Hier volgt een lijst met query's die u kunt gebruiken om de logboeken te bekijken:

Query Beschrijving
traces Alle logboeken ophalen gegenereerd door Azure AD B2C
traces | where timestamp > ago(1d) Alle logboeken ophalen gegenereerd door Azure AD B2C voor de laatste dag.
traces | where message contains "exception" | where timestamp > ago(2h) Alle logboeken met fouten van afgelopen twee uur ophalen.
traces | where customDimensions.Tenant == "contoso.onmicrosoft.com" and customDimensions.UserJourney == "b2c_1a_signinandup" Haal alle logboeken op die zijn gegenereerd door Azure AD B2C contoso.onmicrosoft.com-tenant en gebruikersbeleving is b2c_1a_signinandup.
traces | where customDimensions.CorrelationId == "00000000-0000-0000-0000-000000000000" Alle logboeken ophalen gegenereerd door Azure AD B2C voor een correlatie-id. Vervang correlatie-id door uw correlatie-id.

Vermeldingen kunnen lang zijn. Exporteren naar CSV voor nader overzicht.

Zie Overzicht van query's in Azure Monitor voor meer informatie over logboekquery's.

Bekijk de logboeken in VS Code-extensie

U wordt aangeraden de Azure AD B2C-extensie voor de VS Code te installeren. Met de Azure AD B2C-extensie worden logboeken voor u georganiseerd op basis van de beleidsnaam, correlatie-id (de application insights geeft het eerste cijfer van de correlatie-id) en de tijdstempel van het logboek. Met deze functie kunt u het relevante logboek vinden op basis van de lokale tijdstempel en de gebruikersbeleving bekijken zoals is uitgevoerd door Azure AD B2C.

Notitie

De community heeft de VS Code-extensie ontwikkeld om mensen te helpen bij het implementeren en onderhouden van Azure AD B2C-oplossingen. Deze extensie wordt niet ondersteund door Microsoft en wordt strikt beschikbaar gesteld als zodanig.

API-sleutel van Application Insights instellen

Nadat u Application Insights hebt ingesteld en het aangepaste beleid hebt geconfigureerd, moet u de API-id van Application Insights ophalen en de API-sleutel maken. Zowel de API-id als API-sleutel worden gebruikt door Azure AD B2C-extensie om de Application Insights-gebeurtenissen (telemetrieën) te lezen. Uw API-sleutels moeten net zo worden beheerd zoals wachtwoorden. Houd ze geheim.

Notitie

De Application Insights-instrumentatiesleutel die u eerder maakt, wordt gebruikt door Azure AD B2C om telemetrieën te verzenden naar Application Insights. U gebruikt de instrumentatiesleutel alleen in uw Azure AD B2C-beleid, niet in de VS Code-extensie.

Om de Application Insights-id en -sleutel op te halen:

  1. Open in Azure Portal de juiste Application Insights-resource voor uw toepassing.

  2. Selecteer Configureren en selecteer vervolgens API-toegang.

  3. Kopieer de toepassings-id

  4. Selecteer API-sleutel maken

  5. Schakel dan het selectievakje Telemetrie lezen in.

  6. Kopieer de sleutel voordat u de blade API-sleutel maken sluit en sla sleutel ergens veilig op. Als u de sleutel kwijtraakt, moet u een andere sleutel maken.

    Screenshot that demonstrates how to create API access key.

De Azure AD B2C VS Code-extensie instellen

Nu u Azure-toepassing API-id en -sleutel van Insights hebt, kunt u de VS Code-extensie configureren om de logboeken te lezen. De Azure AD B2C VS Code-extensie biedt twee bereiken voor instellingen:

  • Algemene gebruikersinstellingen: de instellingen die globaal van toepassing zijn op elk exemplaar van VS Code dat u opent.
  • Werkruimte-instellingen: instellingen die zijn opgeslagen in uw werkruimte en zijn alleen van toepassing wanneer de werkruimte wordt geopend (met de geopende map van VS Code).
  1. Klik in Azure AD B2C Trace Explorer op het pictogram Instellingen.

    Screenshot that demonstrates select the application insights settings.

  2. Geef de Azure-toepassing Insights-id en sleutel op.

  3. Klik op Opslaan.

Nadat u de instellingen hebt opgeslagen, worden de Application Insights-logboeken weergegeven in het venster Azure AD B2C Trace (App Insights).

Screenshot of Azure AD B2C extension for vscode, presenting the Azure Application insights trace.

Application Insights configureren in Productie

Om de prestaties van uw productieomgeving en een betere gebruikerservaring te verbeteren, is het belangrijk dat u uw beleid configureert om de berichten te negeren die niet van belang zijn. Gebruik de volgende configuratie in productieomgevingen en er worden geen logboeken naar uw Application Insights verzonden.

  1. Stel het kenmerk DeploymentMode van TrustFrameworkPolicy in op 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. Stel de DeveloperModevan de JourneyInsights in op false.

    <UserJourneyBehaviors>
      <JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="{Your Application Insights Key}" DeveloperMode="false" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
    </UserJourneyBehaviors>
    
  3. Upload en test uw nieuwe beleid.

Volgende stappen