Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Ab dem 1. Mai 2025 steht Azure AD B2C nicht mehr für neue Kunden zur Verfügung. Weitere Informationen finden Sie in unseren HÄUFIG gestellten Fragen.
Bevor Sie beginnen, verwenden Sie die Auswahl eines Richtlinientyps oben auf dieser Seite, um den Typ der Richtlinie auszuwählen, die Sie einrichten. Azure Active Directory B2C bietet zwei Methoden zum Definieren der Benutzerinteraktion mit Ihren Anwendungen: vordefinierte Benutzerflows oder vollständig konfigurierbare benutzerdefinierte Richtlinien. Die Schritte, die in diesem Artikel erforderlich sind, unterscheiden sich für jede Methode.
Dieses Feature ist nur für benutzerdefinierte Richtlinien verfügbar. Wählen Sie für Setupschritte im vorherigen Selektor die Option "Benutzerdefinierte Richtlinie " aus.
Hinweis
Dieses Feature befindet sich in der öffentlichen Vorschau.
Dieser Artikel enthält Schritte zum Sammeln von Protokollen aus Active Directory B2C (Azure AD B2C), damit Sie Probleme mit Ihren benutzerdefinierten Richtlinien diagnostizieren können. Application Insights bietet eine Möglichkeit zum Diagnostizieren von Ausnahmen und Visualisieren von Leistungsproblemen der Anwendung. Azure AD B2C enthält eine Funktion zum Senden von Daten an Application Insights.
Die hier beschriebenen detaillierten Aktivitätsprotokolle sollten nur während der Entwicklung Ihrer benutzerdefinierten Richtlinien aktiviert werden.
Warnung
Setzen Sie DeploymentMode nicht auf Development in Produktionsumgebungen. Protokolle erfassen alle Ansprüche, die an Identitätsanbieter gesendet und von diesen empfangen werden. Sie als Entwickler übernehmen die Verantwortung für alle personenbezogenen Daten, die in Ihren Application Insights-Protokollen gesammelt werden. Diese detaillierten Protokolle werden nur gesammelt, wenn die Richtlinie im ENTWICKLERMODUS platziert wird.
Application Insights einrichten
Wenn Sie noch keines haben, erstellen Sie eine Instanz von Application Insights in Ihrem Abonnement.
Tipp
Eine einzelne Instanz von Application Insights kann für mehrere Azure AD B2C-Mandanten verwendet werden. Anschließend können Sie in Ihrer Abfrage nach dem Mandanten oder dem Richtliniennamen filtern. Weitere Informationen finden Sie in den Protokollen in Application Insights-Beispielen .
Führen Sie die folgenden Schritte aus, um eine vorhandene Instanz von Application Insights in Ihrem Abonnement zu verwenden:
- Melden Sie sich beim Azure-Portal an.
- Stellen Sie sicher, dass Sie das Microsoft Entra-Verzeichnis verwenden, das Ihr Azure-Abonnement und nicht Ihr Azure AD B2C-Verzeichnis aufweist. Wählen Sie auf der Symbolleiste des Portals das Symbol Verzeichnisse und Abonnements aus.
- In den Portaleinstellungen | Seite "Verzeichnisse + Abonnements ", suchen Sie Ihr Microsoft Entra-Verzeichnis in der Verzeichnisnamenliste , und wählen Sie dann "Wechseln" aus.
- Öffnen Sie die Application Insights-Ressource, die Sie zuvor erstellt haben.
- Notieren Sie die Verbindungszeichenfolge auf der Seite Übersicht.
Führen Sie die folgenden Schritte aus, um eine Instanz von Application Insights in Ihrem Abonnement zu erstellen:
- Melden Sie sich beim Azure-Portal an.
- Stellen Sie sicher, dass Sie das Microsoft Entra-Verzeichnis verwenden, das Ihr Azure-Abonnement und nicht Ihr Azure AD B2C-Verzeichnis aufweist. Wählen Sie auf der Symbolleiste des Portals das Symbol Verzeichnisse und Abonnements aus.
- In den Portaleinstellungen | Seite "Verzeichnisse + Abonnements ", suchen Sie Ihr Microsoft Entra-Verzeichnis in der Verzeichnisnamenliste , und wählen Sie dann "Wechseln" aus.
- Wählen Sie im linken Navigationsmenü die Option "Ressource erstellen " aus.
- Suchen und wählen Sie Application Insights und dann Erstellen aus.
- Füllen Sie das Formular aus, wählen Sie Überprüfen + Erstellen, und dann wählen Sie Erstellen aus.
- Wählen Sie nach Abschluss der Bereitstellung die Option Zu Ressource wechseln aus.
- Wählen Sie unter "In Application Insights konfigurieren" die Option "Eigenschaften" aus.
- Notieren Sie die Verbindungszeichenfolge für die Verwendung in einem späteren Schritt.
Konfigurieren Sie die benutzerdefinierte Richtlinie
Öffnen Sie die Datei der vertrauenden Instanz (RP), z. B. SignUpOrSignin.xml.
Fügen Sie dem
<TrustFrameworkPolicy>Element die folgenden Attribute hinzu:DeploymentMode="Development" UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights"Wenn sie noch nicht vorhanden ist, fügen Sie dem
<UserJourneyBehaviors>Knoten einen<RelyingParty>untergeordneten Knoten hinzu. Er muss sich hinter<DefaultUserJourney ReferenceId="UserJourney Id" from your extensions policy, or equivalent (for example:SignUpOrSigninWithAAD" />befinden. Eine vollständige Reihenfolge der untergeordneten Elemente von RelyingParty finden Sie in der RelyingParty-Schemareferenz.Fügen Sie den folgenden Knoten als untergeordnetes Element des
<UserJourneyBehaviors>Elements hinzu. Stellen Sie sicher, dass Sie{Your Application Insights Key}durch die zuvor aufgezeichnete Application Insights-Verbindungszeichenfolge ersetzen.<JourneyInsights TelemetryEngine="ApplicationInsights" ConnectionString="{Your Application Insights ConnectionString}" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />-
DeveloperMode="true"fordert ApplicationInsights auf, die Telemetrie durch die Verarbeitungspipeline zu beschleunigen. Gut für die Entwicklung, aber bei großen Mengen eingeschränkt. Stellen Sie in der Produktion dasDeveloperModeauffalseein. -
ClientEnabled="true"sendet das clientseitige ApplicationInsights-Skript zum Nachverfolgen der Seitenansicht und clientseitiger Fehler. Sie können dies in der Tabelle "browserTimings" im Application Insights-Portal anzeigen. Indem SieClientEnabled= "true"festlegen, fügen Sie Application Insights zu Ihrem Seitenskript hinzu und erhalten Seitenladezeiten und AJAX-Aufrufe, Anzahlen und Details zu Browser-Ausnahmen und AJAX-Fehlern sowie Benutzer- und Sitzungsanzahlen. Dieses Feld ist optional und standardmäßig festgelegtfalse. -
ServerEnabled="true"sendet den vorhandenen UserJourneyRecorder JSON als benutzerdefiniertes Ereignis an Application Insights.
Beispiel:
<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>-
Laden Sie die Richtlinie hoch.
Anzeigen der Protokolle in Application Insights
Es gibt eine kurze Verzögerung, in der Regel weniger als fünf Minuten, bevor Sie neue Protokolle in Application Insights sehen können.
- Öffnen Sie die Application Insights-Ressource, die Sie im Azure-Portal erstellt haben.
- Wählen Sie auf der Seite Übersicht die Option Protokolle aus.
- Öffnen Sie eine neue Registerkarte in Application Insights.
Hier ist eine Liste der Abfragen, die Sie verwenden können, um die Protokolle anzuzeigen:
| Abfrage | BESCHREIBUNG |
|---|---|
traces |
Abrufen aller von Azure AD B2C generierten Protokolle |
traces | where timestamp > ago(1d) |
Rufen Sie alle Protokolle ab, die von Azure AD B2C für den letzten Tag generiert wurden. |
traces | where message contains "exception" | where timestamp > ago(2h) |
Rufen Sie alle Protokolle mit Fehlern aus den letzten zwei Stunden ab. |
traces | where customDimensions.Tenant == "contoso.onmicrosoft.com" and customDimensions.UserJourney == "b2c_1a_signinandup" |
Rufen Sie alle Protokolle ab, die vom Azure AD B2C-Mandanten contoso.onmicrosoft.com generiert werden. User Journey ist b2c_1a_signinandup. |
traces | where customDimensions.CorrelationId == "aaaa0000-bb11-2222-33cc-444444dddddd" |
Erhalten aller von Azure AD B2C generierten Protokolle für eine Korrelations-ID. Ersetzen Sie die Korrelations-ID durch Ihre eigene Korrelations-ID. |
Die Einträge können lang sein. Exportieren Sie nach CSV, um einen genaueren Blick zu werfen.
Weitere Informationen zum Abfragen finden Sie unter Übersicht über Protokollabfragen in Azure Monitor.
Protokolle in der VS Code-Erweiterung anzeigen
Es wird empfohlen, die Azure AD B2C-Erweiterung für VS Code zu installieren. Mit der Azure AD B2C-Erweiterung werden die Protokolle nach dem Richtliniennamen, der Korrelations-ID (die Anwendungserkenntnisse stellen die erste Ziffer der Korrelations-ID dar) und den Protokollzeitstempel für Sie organisiert. Dieses Feature hilft Ihnen, das relevante Protokoll basierend auf dem lokalen Zeitstempel zu finden und die Benutzerreise wie von Azure AD B2C ausgeführt zu sehen.
Hinweis
Die Community hat die VS Code-Erweiterung entwickelt, um Personen bei der Implementierung und Wartung von Azure AD B2C-Lösungen zu helfen. Die Erweiterung wird nicht von Microsoft unterstützt und wird grundsätzlich wie besehen zur Verfügung gestellt.
Festlegen des Anwendungseinblicks-API-Zugriffs
Nachdem Sie die Application Insights eingerichtet und die benutzerdefinierte Richtlinie konfiguriert haben, müssen Sie Ihre Application Insights-API-ID abrufen und API-Schlüssel erstellen. Sowohl die API-ID als auch der API-Schlüssel werden von der Azure AD B2C-Erweiterung verwendet, um die Application Insights-Ereignisse (Telemetrie) zu lesen. Ihre API-Schlüssel sollten wie Kennwörter verwaltet werden. Bewahren Sie es geheim auf.
Hinweis
Application Insights Connection String, die Sie zuvor erstellt haben, wird von Azure AD B2C verwendet, um Telemetriedaten an Application Insights zu senden. Sie verwenden die Verbindungszeichenfolge nur in Ihrer Azure AD B2C-Richtlinie, nicht in der VS Code-Erweiterung.
So rufen Sie die Application Insights-ID und den Schlüssel ab:
Öffnen Sie im Azure-Portal die Application Insights-Ressource für Ihre Anwendung.
Wählen Sie "Konfigurieren" und dann "API-Zugriff" aus.
Kopieren der Anwendungs-ID
Wählen Sie "API-Schlüssel erstellen" aus.
Aktivieren Sie das Feld "Telemetrie lesen ".
Kopieren Sie den Schlüssel , bevor Sie das Blatt "API-Schlüssel erstellen" schließen, und speichern Sie ihn an einem sicheren Ort. Wenn Sie den Schlüssel verlieren, müssen Sie einen anderen erstellen.
Einrichten der VS Code-Erweiterung für Azure AD B2C
Nachdem Sie nun über die API-ID und den Schlüssel der Azure-Anwendung verfügen, können Sie die VS Code-Erweiterung konfigurieren, um die Protokolle zu lesen. Azure AD B2C VS Code-Erweiterung bietet zwei Bereiche für Einstellungen:
- Globale Benutzereinstellungen – Einstellungen, die global auf jede Instanz von VS-Code angewendet werden, die Sie öffnen.
- Arbeitsbereichseinstellungen – Einstellungen, die in Ihrem Arbeitsbereich gespeichert sind und nur angewendet werden, wenn der Arbeitsbereich geöffnet wird (mithilfe des geöffneten Ordners VS Code).
Klicken Sie im Azure AD B2C-Ablaufverfolgungs-Explorer auf das Symbol "Einstellungen ".
Geben Sie die Azure Application Insights-ID und den Schlüssel an.
Klicken Sie unten auf der Seite auf Speichern.
Nachdem Sie die Einstellungen gespeichert haben, werden die Anwendungsprotokolle im Azure AD B2C Trace-Fenster (App Insights) angezeigt.
Konfigurieren von Anwendungseinblicken in der Produktion
Um die Leistung Ihrer Produktionsumgebung und die Benutzerfreundlichkeit zu verbessern, ist es wichtig, Ihre Richtlinie so zu konfigurieren, dass Nachrichten ignoriert werden, die nicht wichtig sind. Außerdem müssen Sie sicherstellen, dass Sie keine personenbezogenen Informationen (Personally Identifiable Information, PII) protokollieren. Verwenden Sie die folgende Konfiguration in Produktionsumgebungen, damit keine Protokolle an Ihre Application Insights gesendet werden.
Legen Sie das
DeploymentModeAttribut der TrustFrameworkPolicy aufProduction.<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">Legen Sie
DeveloperModevon JourneyInsights auffalsefest.<UserJourneyBehaviors> <JourneyInsights TelemetryEngine="ApplicationInsights" ConnectionString="{Your Application Insights ConnectionString}" DeveloperMode="false" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" /> </UserJourneyBehaviors>Laden Sie Ihre Richtlinie hoch, und testen Sie sie.