Sdílet prostřednictvím


Shromažďování protokolů Azure Active Directory B2C pomocí služby Application Přehledy

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 .

Tento článek obsahuje postup shromažďování protokolů ze služby Active Directory B2C (Azure AD B2C), abyste mohli diagnostikovat problémy s vlastními zásadami. Application Insights nabízí způsob, jak diagnostikovat výjimky a vizualizovat problémy s výkonem aplikací. Azure AD B2C obsahuje funkci umožňující odesílat data do Application Insights.

Podrobné protokoly aktivit popsané zde by měly být povoleny pouze při vývoji vlastních zásad.

Upozorňující

Nenastavujte DeploymentMode hodnotu v Development produkčních prostředích. Protokoly shromažďují všechny deklarace identity odesílané do zprostředkovatelů identit a zprostředkovatelů identit. Jako vývojář přebíráte odpovědnost za veškerá osobní data shromážděná v protokolech aplikace Přehledy. Tyto podrobné protokoly se shromažďují jenom v případech, kdy jsou zásady umístěné v REŽIMU DEVELOPER.

Nastavení Přehledy aplikace

Pokud ho ještě nemáte, vytvořte ve svém předplatném instanci služby Application Přehledy.

Tip

Jednu instanci aplikačního Přehledy je možné použít pro více tenantů Azure AD B2C. Potom v dotazu můžete filtrovat podle tenanta nebo názvu zásady. Další informace najdete v protokolech v ukázkách Přehledy aplikací.

Pokud chcete použít existující instanci aplikace Přehledy ve vašem předplatném, postupujte takto:

  1. Přihlaste se k portálu Azure.
  2. Ujistěte se, že používáte adresář Microsoft Entra, který má vaše předplatné Azure, a ne váš adresář Azure AD B2C. Na panelu nástrojů portálu vyberte ikonu Adresáře a předplatná .
  3. V nastavení portálu | Adresářů a stránka předplatných , vyhledejte adresář Microsoft Entra v seznamu názvů adresářů a pak vyberte Přepnout.
  4. Otevřete prostředek Přehledy aplikace, který jste vytvořili dříve.
  5. Na stránce Přehled a záznam instrumentačního klíče

Pokud chcete ve svém předplatném vytvořit instanci Přehledy aplikace, postupujte takto:

  1. Přihlaste se k portálu Azure.
  2. Ujistěte se, že používáte adresář Microsoft Entra, který má vaše předplatné Azure, a ne váš adresář Azure AD B2C. Na panelu nástrojů portálu vyberte ikonu Adresáře a předplatná .
  3. V nastavení portálu | Adresářů a stránka předplatných , vyhledejte adresář Microsoft Entra v seznamu názvů adresářů a pak vyberte Přepnout.
  4. V levé navigační nabídce vyberte Vytvořit prostředek .
  5. Vyhledejte a vyberte Přehledy aplikace a pak vyberte Vytvořit.
  6. Vyplňte formulář, vyberte Zkontrolovat a vytvořit a pak vyberte Vytvořit.
  7. Po dokončení nasazení vyberte Přejít k prostředku.
  8. V části Konfigurovat v nabídce Přehledy aplikace vyberte Vlastnosti.
  9. Poznamenejte si instrumentační klíč pro použití v pozdějším kroku.

Konfigurace vlastních zásad

  1. Otevřete soubor předávající strany (RP), například SignUpOrSignin.xml.

  2. Do elementu <TrustFrameworkPolicy> přidejte následující atributy:

    DeploymentMode="Development"
    UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights"
    
  3. Pokud ještě neexistuje, přidejte <UserJourneyBehaviors> do <RelyingParty> něj podřízený uzel. Musí být umístěn po <DefaultUserJourney ReferenceId="UserJourney Id" from your extensions policy, or equivalent (for example:SignUpOrSigninWithAAD" />. Kompletní pořadí podřízených elementů RelyingParty najdete v referenčních informacích ke schématu RelyingParty .

  4. Přidejte následující uzel jako podřízený <UserJourneyBehaviors> prvek. Nezapomeňte nahradit {Your Application Insights Key} Přehledy instrumentačním klíčem aplikace, který jste si poznamenali dříve.

    <JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="{Your Application Insights Key}" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
    
    • DeveloperMode="true"informuje aplikaci Přehledy, aby urychlila telemetrii prostřednictvím kanálu zpracování. Vhodné pro vývoj, ale omezené při vysokých objemech. V produkčním prostředí nastavte DeveloperMode hodnotu false.
    • ClientEnabled="true"odešle skript na straně klienta Přehledy pro sledování zobrazení stránky a chyby na straně klienta. Můžete to zobrazit v tabulce browserTimings na portálu Application Přehledy. Nastavením ClientEnabled= "true"přidáte aplikaci Přehledy do skriptu stránky a získáte časování načítání stránek a volání AJAX, počty, podrobnosti o výjimkách prohlížeče a selhání AJAX a počty uživatelů a relací. Toto pole je volitelné a je ve výchozím nastavení nastavené false .
    • ServerEnabled="true"odešle existující userJourneyRecorder JSON jako vlastní událost do application Přehledy.

    Příklad:

    <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. Nahrajte zásadu.

Zobrazení protokolů v Přehledy aplikace

Existuje krátké zpoždění, obvykle méně než pět minut, než uvidíte nové protokoly v Přehledy aplikace.

  1. Otevřete prostředek Přehledy aplikace, který jste vytvořili na webu Azure Portal.
  2. Na stránce Přehled vyberte Protokoly.
  3. Otevřete novou kartu v Přehledy aplikace.

Tady je seznam dotazů, které můžete použít k zobrazení protokolů:

Dotaz Popis
traces Získání všech protokolů generovaných službou Azure AD B2C
traces | where timestamp > ago(1d) Získejte všechny protokoly vygenerované službou Azure AD B2C za poslední den.
traces | where message contains "exception" | where timestamp > ago(2h) Získejte všechny protokoly s chybami za poslední dvě hodiny.
traces | where customDimensions.Tenant == "contoso.onmicrosoft.com" and customDimensions.UserJourney == "b2c_1a_signinandup" Získejte všechny protokoly vygenerované tenantem Azure AD B2C contoso.onmicrosoft.com a cesta uživatele je b2c_1a_signinandup.
traces | where customDimensions.CorrelationId == "00000000-0000-0000-0000-000000000000" Získejte všechny protokoly vygenerované službou Azure AD B2C pro ID korelace. ID korelace nahraďte ID korelace id korelace.

Položky můžou být dlouhé. Pokud se chcete podívat blíže, exportujte do sdíleného svazku clusteru.

Další informace o dotazování najdete v tématu Přehled dotazů protokolu ve službě Azure Monitor.

Zobrazení protokolů v rozšíření VS Code

Doporučujeme nainstalovat rozšíření Azure AD B2C pro VS Code. S rozšířením Azure AD B2C jsou protokoly uspořádané podle názvu zásady, ID korelace (Application Insights představuje první číslici ID korelace) a časové razítko protokolu. Tato funkce vám pomůže najít příslušný protokol na základě místního časového razítka a zobrazit cestu uživatele, jak ji spouští Azure AD B2C.

Poznámka:

Komunita vyvinula rozšíření VS Code, které lidem pomůže implementovat a udržovat řešení Azure AD B2C. Microsoft rozšíření nepodporuje a je k dispozici výhradně tak, jak je.

Nastavení přístupu k rozhraní API Přehledy aplikací

Po nastavení Přehledy aplikace a konfiguraci vlastních zásad potřebujete získat ID rozhraní API Přehledy aplikace a vytvořit klíč rozhraní API. ID rozhraní API i klíč rozhraní API používá rozšíření Azure AD B2C ke čtení událostí (telemetrie) Přehledy aplikace. Klíče rozhraní API by se měly spravovat jako hesla. Uchovávejte ho v tajnosti.

Poznámka:

Klíč instrumentace Přehledy aplikace, který dříve vytvořil Azure AD B2C k odesílání telemetrických dat do služby Application Přehledy. Instrumentační klíč použijete jenom v zásadách Azure AD B2C, ne v rozšíření VS Code.

Získání ID a klíče Přehledy aplikace:

  1. Na webu Azure Portal otevřete prostředek Přehledy aplikace.

  2. Vyberte Konfigurovat a pak vyberte Přístup k rozhraní API.

  3. Zkopírování ID aplikace

  4. Vyberte Vytvořit klíč rozhraní API.

  5. Zaškrtněte políčko Číst telemetrii.

  6. Před zavřením okna Vytvořit klíč rozhraní API zkopírujte klíč a uložte ho někam bezpečně. Pokud klíč ztratíte, musíte vytvořit další.

    Screenshot that demonstrates how to create API access key.

Nastavení rozšíření Azure AD B2C VS Code

Teď, když máte Aplikace Azure ID a klíč rozhraní API insights, můžete nakonfigurovat rozšíření VS Code pro čtení protokolů. Rozšíření Azure AD B2C VS Code poskytuje dva obory nastavení:

  • Globální Nastavení uživatele – Nastavení, které se vztahují globálně na libovolnou instanci editoru VS Code, kterou otevřete.
  • Nastavení pracovního prostoru – Nastavení uložené v pracovním prostoru a použít ho jenom při otevření pracovního prostoru (pomocí otevřené složky VS Code).
  1. V Průzkumníku trasování Azure AD B2C klikněte na ikonu Nastavení.

    Screenshot that demonstrates select the application insights settings.

  2. Zadejte ID a klíč Aplikace Azure Přehledy.

  3. Klikněte na Uložit.

Po uložení nastavení se protokoly Application Insights zobrazí v okně Trasování Azure AD B2C (App Přehledy).

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

Konfigurace Přehledy aplikace v produkčním prostředí

Pokud chcete zlepšit výkon produkčního prostředí a lepší uživatelské prostředí, je důležité nakonfigurovat zásady tak, aby ignorovaly zprávy, které nejsou důležité. V produkčních prostředích použijte následující konfiguraci a do application Insights se neposílají žádné protokoly.

  1. DeploymentMode Nastavte atribut 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. DeveloperMode Nastavte cestu Přehledy na false.

    <UserJourneyBehaviors>
      <JourneyInsights TelemetryEngine="ApplicationInsights" InstrumentationKey="{Your Application Insights Key}" DeveloperMode="false" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
    </UserJourneyBehaviors>
    
  3. Nahrání a otestování zásad

Další kroky