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.
Die Microsoft Authentication Library (MSAL)-Apps (MSAL) generieren Protokollmeldungen, die bei der Diagnose von Problemen helfen können. Eine App kann die Protokollierung mit einigen Codezeilen konfigurieren und benutzerdefinierte Kontrolle über die Detailebene und darüber verfügen, ob persönliche und organisatorische Daten protokolliert werden. Es wird empfohlen, eine MSAL-Protokollierungsimplementierung zu erstellen und Benutzern die Möglichkeit zu bieten, Protokolle zu übermitteln, wenn Authentifizierungsprobleme auftreten.
Die Protokollierung in MSAL Python wurde entwickelt, um die standardmäßigen Python Protokollierungsmechanismen zu verwenden, sodass alle Ihre vorherigen Kenntnisse über Python Protokollierung auf MSAL Python angewendet werden.
- Standardmäßig ist die Protokollierung in einem beliebigen Python Skript deaktiviert. Wenn Sie die Debugprotokollierung für ALLE Module in Ihrem gesamten Python Skript aktivieren möchten, verwenden
logging.basicConfig(level=logging.DEBUG)Sie . - Die meisten MSAL-Python-Protokollmeldungen sind bereits auf der Debug-Ebene, die standardmäßig deaktiviert ist. Wenn Sie die Debugprotokollierung jedoch aktivieren möchten, um die OTHER-Module in Ihrem Python-Skript zu debuggen, möchten Sie MSAL daher stillen, deaktivieren Sie einfach die von MSAL Python verwendete Logger:
logging.getLogger("msal").setLevel(logging.WARN). - MSAL Python protokolliert keine personenbezogenen Informationen (PII). Daher gibt es in MSAL Python nicht einmal einen Schalter zum Aktivieren der PII-Protokollierung. App-Entwickler könnten weiterhin standardmäßige Python Protokollierung verwenden, um inhalte zu protokollieren. Auf diese Weise übernimmt die App die Verantwortung für die sichere Verarbeitung streng vertraulicher Daten und die Einhaltung gesetzlicher Vorschriften.
Protokollierungsebenen
MSAL bietet mehrere Ebenen der Protokollierungsdetails:
-
LogAlways: Auf dieser Protokollebene wird keine Ebenenfilterung durchgeführt. Protokollmeldungen aller Ebenen werden protokolliert. -
Critical: Protokolle, die einen nicht wiederherstellbaren Anwendungs- oder Systemabsturz oder einen katastrophalen Fehler beschreiben, der sofortige Aufmerksamkeit erfordert. -
Error: Gibt an, dass ein Fehler aufgetreten ist und ein Fehler generiert wurde. Wird zum Debuggen und Identifizieren von Problemen verwendet. -
Warning: Es ist nicht unbedingt ein Fehler oder Ausfall aufgetreten, sondern dies ist für Diagnosezwecke und zur genauen Eingrenzung von Problemen bestimmt. -
Informational: MSAL protokolliert Ereignisse, die für Informationszwecke vorgesehen sind, nicht unbedingt für das Debuggen vorgesehen. -
Verbose(Standard): MSAL protokolliert die vollständigen Details des Bibliotheksverhaltens.
Note
Nicht alle Protokollebenen sind für alle MSAL-Bibliotheken verfügbar.
Personenbezogene und organisatorische Daten
Standardmäßig erfasst der MSAL-Logger keine streng vertraulichen persönlichen oder organisatorischen Daten. Die Bibliothek bietet die Möglichkeit, die Protokollierung personenbezogener und organisatorischer Daten zu aktivieren, wenn Sie dies tun möchten.
In den folgenden Abschnitten finden Sie weitere Details zur MSAL-Fehlerprotokollierung für Ihre Anwendung.
MSAL für Python Protokollierung
Die Anmeldung in MSAL für Python nutzt das Protokollierungsmodul in der Python Standardbibliothek. Sie können die MSAL-Protokollierung wie folgt konfigurieren (und sie in Aktion im username_password_sample anzeigen):
Aktivieren der Debugprotokollierung für alle Module
Standardmäßig ist die Protokollierung in einem beliebigen Python Skript deaktiviert. Wenn Sie die ausführliche Protokollierung für alle Python-Module in Ihrem Skript aktivieren möchten, verwenden Sie logging.basicConfig mit der Stufe logging.DEBUG:
import logging
logging.basicConfig(level=logging.DEBUG)
Dadurch werden alle Protokollmeldungen, die dem Protokollierungsmodul übergeben werden, in die Standardausgabe gedruckt.
Konfigurieren Sie die MSAL-Protokollierungsebene
Sie können die Protokollierungsebene des MSAL für Python Protokollanbieter konfigurieren, indem Sie die logging.getLogger() Methode mit dem Loggernamen "msal"verwenden:
import logging
logging.getLogger("msal").setLevel(logging.WARN)
MSAL-Protokollierung mit Azure-App Insights konfigurieren
Python-Protokolle werden an einen Log-Handler übergeben, der standardmäßig der StreamHandler ist. Um MSAL-Protokolle mit einem Instrumentierungsschlüssel an eine Application Insights zu senden, verwenden Sie die AzureLogHandler von der opencensus-ext-azure Bibliothek bereitgestellte.
Fügen Sie zum Installieren opencensus-ext-azure das opencensus-ext-azure Paket von PyPI zu Ihren Abhängigkeiten oder Pip-Installationen hinzu:
pip install opencensus-ext-azure
Ändern Sie dann den Standardhandler des Protokollanbieters "msal" in eine Instanz von AzureLogHandler, dessen Instrumentierungsschlüssel in der Umgebungsvariablen APP_INSIGHTS_KEY festgelegt ist:
import logging
import os
from opencensus.ext.azure.log_exporter import AzureLogHandler
APP_INSIGHTS_KEY = os.getenv('APP_INSIGHTS_KEY')
logging.getLogger("msal").addHandler(AzureLogHandler(connection_string='InstrumentationKey={0}'.format(APP_INSIGHTS_KEY)))
Personenbezogene und organisatorische Daten in Python
MSAL für Python protokolliert keine personenbezogenen Daten oder Organisationsdaten. Es gibt keine Eigenschaft, um die Protokollierung von persönlichen oder Organisationsdaten zu aktivieren oder zu deaktivieren.
Sie können standardmäßige Python Protokollierung verwenden, um das gewünschte Protokoll zu protokollieren, aber Sie sind für die sichere Verarbeitung vertraulicher Daten und die Einhaltung gesetzlicher Vorschriften verantwortlich.
Weitere Informationen zur Protokollierung in Python finden Sie in Pythons Anleitung zur Protokollierung.