Zbieranie dzienników usługi Azure Active Directory B2C przy użyciu Szczegółowe informacje aplikacji

Przed rozpoczęciem użyj selektora Wybierz typ zasad, aby wybrać typ konfigurowanych zasad. Usługa Azure Active Directory B2C oferuje dwie metody definiowania sposobu interakcji użytkowników z aplikacjami: za pomocą wstępnie zdefiniowanych przepływów użytkowników lub w pełni konfigurowalnych zasad niestandardowych. Kroki wymagane w tym artykule są różne dla każdej metody.

Ta funkcja jest dostępna tylko dla zasad niestandardowych. Aby uzyskać instrukcje konfiguracji, wybierz pozycję Zasady niestandardowe w poprzednim selektorze.

Ten artykuł zawiera kroki zbierania dzienników z usługi Active Directory B2C (Azure AD B2C), dzięki czemu można zdiagnozować problemy z zasadami niestandardowymi. Usługa Application Insights umożliwia diagnozowanie wyjątków i wizualizowanie problemów z wydajnością aplikacji. Usługa Azure AD B2C zawiera funkcję wysyłania danych do usługi Application Insights.

Szczegółowe dzienniki aktywności opisane tutaj powinny być włączone tylko podczas opracowywania zasad niestandardowych.

Ostrzeżenie

Nie należy ustawiać wartości DeploymentMode na Development wartość w środowiskach produkcyjnych. Dzienniki zbierają wszystkie oświadczenia wysyłane do i od dostawców tożsamości. Jako deweloper ponosisz odpowiedzialność za wszelkie dane osobowe zebrane w dziennikach aplikacji Szczegółowe informacje. Te szczegółowe dzienniki są zbierane tylko wtedy, gdy zasady są umieszczane w trybie dewelopera.

Skonfigurować Application Insights

Jeśli jeszcze go nie masz, utwórz wystąpienie aplikacji Szczegółowe informacje w ramach subskrypcji.

Napiwek

Pojedyncze wystąpienie Szczegółowe informacje aplikacji może być używane dla wielu dzierżaw usługi Azure AD B2C. Następnie w zapytaniu możesz filtrować według dzierżawy lub nazwy zasad. Aby uzyskać więcej informacji, zobacz dzienniki w temacie Application Szczegółowe informacje samples (Przykłady usługi Application Szczegółowe informacje).

Aby użyć istniejącego wystąpienia usługi Application Szczegółowe informacje w ramach subskrypcji, wykonaj następujące kroki:

  1. Zaloguj się w witrynie Azure Portal.
  2. Upewnij się, że używasz katalogu Microsoft Entra z subskrypcją platformy Azure, a nie katalogu usługi Azure AD B2C. Wybierz ikonę Katalogi i subskrypcje na pasku narzędzi portalu.
  3. W ustawieniach portalu | Na stronie Katalogi i subskrypcje znajdź katalog Microsoft Entra na liście Nazwa katalogu, a następnie wybierz pozycję Przełącz.
  4. Otwórz utworzony wcześniej zasób Szczegółowe informacje aplikacji.
  5. Na stronie Przegląd i zapisz klucz instrumentacji

Aby utworzyć wystąpienie aplikacji Szczegółowe informacje w ramach subskrypcji, wykonaj następujące kroki:

  1. Zaloguj się w witrynie Azure Portal.
  2. Upewnij się, że używasz katalogu Microsoft Entra z subskrypcją platformy Azure, a nie katalogu usługi Azure AD B2C. Wybierz ikonę Katalogi i subskrypcje na pasku narzędzi portalu.
  3. W ustawieniach portalu | Na stronie Katalogi i subskrypcje znajdź katalog Microsoft Entra na liście Nazwa katalogu, a następnie wybierz pozycję Przełącz.
  4. Wybierz pozycję Utwórz zasób w menu nawigacji po lewej stronie.
  5. Wyszukaj i wybierz pozycję Szczegółowe informacje aplikacji, a następnie wybierz pozycję Utwórz.
  6. Wypełnij formularz, wybierz pozycję Przejrzyj i utwórz, a następnie wybierz pozycję Utwórz.
  7. Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.
  8. W obszarze Konfigurowanie w menu Szczegółowe informacje aplikacji wybierz pozycję Właściwości.
  9. Zarejestruj klucz INSTRUMENTACJI do użycia w późniejszym kroku.

Konfigurowanie zasad niestandardowych

  1. Otwórz plik jednostki uzależnionej (RP), na przykład SignUpOrSignin.xml.

  2. Dodaj następujące atrybuty do <TrustFrameworkPolicy> elementu:

    DeploymentMode="Development"
    UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights"
    
  3. Jeśli jeszcze nie istnieje, dodaj węzeł podrzędny <UserJourneyBehaviors> do węzła <RelyingParty> . Musi znajdować się po <DefaultUserJourney ReferenceId="UserJourney Id" from your extensions policy, or equivalent (for example:SignUpOrSigninWithAAD" />. Aby uzyskać pełną kolejność elementów podrzędnych RelyingParty, zobacz Informacje o schemacie RelyingParty.

  4. Dodaj następujący węzeł jako element podrzędny elementu <UserJourneyBehaviors> . Pamiętaj, aby zastąpić {Your Application Insights Key} element kluczem instrumentacji aplikacji Szczegółowe informacje zarejestrowanym wcześniej.

    <JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="{Your Application Insights Key}" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
    
    • DeveloperMode="true"informuje aplikację Szczegółowe informacje aby przyspieszyć telemetrię za pośrednictwem potoku przetwarzania. Dobra do programowania, ale ograniczona w dużych ilościach. W środowisku produkcyjnym ustaw wartość DeveloperModefalse.
    • ClientEnabled="true"wysyła skrypt aplikacji Szczegółowe informacje po stronie klienta na potrzeby śledzenia widoku strony i błędów po stronie klienta. Można to wyświetlić w tabeli browserTimings w portalu Application Szczegółowe informacje. Ustawiając opcję ClientEnabled= "true", dodasz Szczegółowe informacje aplikacji do skryptu strony i uzyskasz chronometraż ładowania strony i wywołań AJAX, liczników, szczegółów wyjątków przeglądarki i błędów AJAX oraz liczby użytkowników i sesji. To pole jest opcjonalne i jest domyślnie ustawione na false wartość .
    • ServerEnabled="true"wysyła istniejący kod JSON UserJourneyRecorder jako zdarzenie niestandardowe do usługi Application Szczegółowe informacje.

    Na przykład:

    <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. Przekaż zasady.

Zobacz dzienniki w Szczegółowe informacje aplikacji

Istnieje krótkie opóźnienie, zazwyczaj krótsze niż pięć minut, zanim będzie można zobaczyć nowe dzienniki w aplikacji Szczegółowe informacje.

  1. Otwórz zasób Szczegółowe informacje aplikacji utworzony w witrynie Azure Portal.
  2. Na stronie Przegląd wybierz pozycję Dzienniki.
  3. Otwórz nową kartę w aplikacji Szczegółowe informacje.

Oto lista zapytań, których można użyć do wyświetlenia dzienników:

Query opis
traces Pobieranie wszystkich dzienników generowanych przez usługę Azure AD B2C
traces | where timestamp > ago(1d) Pobierz wszystkie dzienniki wygenerowane przez usługę Azure AD B2C na ostatni dzień.
traces | where message contains "exception" | where timestamp > ago(2h) Pobierz wszystkie dzienniki z błędami z ostatnich dwóch godzin.
traces | where customDimensions.Tenant == "contoso.onmicrosoft.com" and customDimensions.UserJourney == "b2c_1a_signinandup" Pobierz wszystkie dzienniki wygenerowane przez dzierżawę usługi Azure AD B2C contoso.onmicrosoft.com , a podróż użytkownika jest b2c_1a_signinandup.
traces | where customDimensions.CorrelationId == "00000000-0000-0000-0000-000000000000" Pobierz wszystkie dzienniki wygenerowane przez usługę Azure AD B2C dla identyfikatora korelacji. Zastąp identyfikator korelacji identyfikatorem korelacji.

Wpisy mogą być długie. Wyeksportuj do pliku CSV, aby przyjrzeć się bliżej.

Aby uzyskać więcej informacji na temat wykonywania zapytań, zobacz Omówienie zapytań dzienników w usłudze Azure Monitor.

Wyświetlanie dzienników w rozszerzeniu programu VS Code

Zalecamy zainstalowanie rozszerzenia usługi Azure AD B2C dla programu VS Code. W przypadku rozszerzenia usługi Azure AD B2C dzienniki są zorganizowane według nazwy zasad, identyfikatora korelacji (usługa Application Insights przedstawia pierwszą cyfrę identyfikatora korelacji) i sygnaturę czasową dziennika. Ta funkcja ułatwia znajdowanie odpowiedniego dziennika na podstawie lokalnego znacznika czasu i wyświetlanie podróży użytkownika zgodnie z instrukcjami usługi Azure AD B2C.

Uwaga

Społeczność opracowała rozszerzenie programu VS Code, aby ułatwić osobom implementowanie i konserwowanie rozwiązań usługi Azure AD B2C. Rozszerzenie nie jest obsługiwane przez firmę Microsoft i jest udostępniane ściśle zgodnie z rzeczywistymi wersjami.

Ustawianie dostępu do interfejsu API Szczegółowe informacje aplikacji

Po skonfigurowaniu Szczegółowe informacje aplikacji i skonfigurowaniu zasad niestandardowych należy pobrać identyfikator interfejsu API Szczegółowe informacje aplikacji i utworzyć klucz interfejsu API. Zarówno identyfikator interfejsu API, jak i klucz interfejsu API są używane przez rozszerzenie usługi Azure AD B2C do odczytywania zdarzeń Szczegółowe informacje aplikacji (telemetrii). Klucze interfejsu API powinny być zarządzane jak hasła. Zachowaj go w tajemnicy.

Uwaga

Klucz instrumentacji aplikacji Szczegółowe informacje używany wcześniej przez usługę Azure AD B2C do wysyłania telemetrii do usługi Application Szczegółowe informacje. Klucz instrumentacji jest używany tylko w zasadach usługi Azure AD B2C, a nie w rozszerzeniu programu VS Code.

Aby uzyskać identyfikator i klucz Szczegółowe informacje aplikacji:

  1. W witrynie Azure Portal otwórz zasób Szczegółowe informacje aplikacji.

  2. Wybierz pozycję Konfiguruj, a następnie wybierz pozycję Dostęp do interfejsu API.

  3. Kopiowanie identyfikatora aplikacji

  4. Wybieranie pozycji Utwórz klucz interfejsu API

  5. Zaznacz pole Odczyt telemetrii.

  6. Skopiuj klucz przed zamknięciem bloku Utwórz klucz interfejsu API i zapisz go w bezpiecznym miejscu. Jeśli utracisz klucz, musisz utworzyć inny.

    Screenshot that demonstrates how to create API access key.

Konfigurowanie rozszerzenia programu VS Code usługi Azure AD B2C

Teraz, gdy masz aplikacja systemu Azure identyfikator interfejsu API szczegółowych informacji i klucz, możesz skonfigurować rozszerzenie programu VS Code, aby odczytywać dzienniki. Rozszerzenie programu VS Code usługi Azure AD B2C udostępnia dwa zakresy ustawień:

  • Globalne Ustawienia użytkownika — Ustawienia, które są stosowane globalnie do dowolnego otwartego wystąpienia programu VS Code.
  • Ustawienia obszaru roboczego — Ustawienia przechowywane w obszarze roboczym i mają zastosowanie tylko wtedy, gdy obszar roboczy jest otwarty (przy użyciu otwartego folderu programu VS Code).
  1. W eksploratorze śledzenia usługi Azure AD B2C kliknij ikonę Ustawienia.

    Screenshot that demonstrates select the application insights settings.

  2. Podaj identyfikator i klucz aplikacja systemu Azure Szczegółowe informacje.

  3. Kliknij pozycję Zapisz

Po zapisaniu ustawień dzienniki usługi Application Insights są wyświetlane w oknie Śledzenie usługi Azure AD B2C (App Szczegółowe informacje).

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

Konfigurowanie Szczegółowe informacje aplikacji w środowisku produkcyjnym

Aby zwiększyć wydajność środowiska produkcyjnego i lepsze środowisko użytkownika, należy skonfigurować zasady tak, aby ignorowały komunikaty, które są nieistotne. Użyj następującej konfiguracji w środowiskach produkcyjnych i do usługi Application Insights nie są wysyłane żadne dzienniki.

  1. DeploymentMode Ustaw atrybut TrustFrameworkPolicy na 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. Ustaw pozycję DeveloperModePodróż Szczegółowe informacje na falsewartość .

    <UserJourneyBehaviors>
      <JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="{Your Application Insights Key}" DeveloperMode="false" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
    </UserJourneyBehaviors>
    
  3. Przekaż i przetestuj zasady.

Następne kroki