Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les applications Microsoft Authentication Library (MSAL) génèrent des messages de journal qui peuvent aider à diagnostiquer les problèmes. Une application peut configurer la journalisation avec quelques lignes de code et avoir un contrôle personnalisé sur le niveau de détail et si les données personnelles et organisationnelles sont enregistrées ou non. Nous vous recommandons de créer une implémentation de journalisation MSAL et de fournir aux utilisateurs un moyen d’envoyer des journaux lorsqu’ils rencontrent des problèmes d’authentification.
Niveaux de journalisation
MSAL fournit plusieurs niveaux de détail de journalisation :
-
LogAlways: Aucun filtrage par niveau n’est effectué pour ce niveau de journalisation. Les messages de journalisation de tous les niveaux sont enregistrés. -
Critical: Journaux qui décrivent un plantage irrécupérable de l’application ou du système, ou une défaillance catastrophique nécessitant une attention immédiate. -
Error: indique qu’une erreur s’est produite et qu’une erreur a été générée. Utilisé pour le débogage et l’identification des problèmes. -
Warning: Il n’y a pas nécessairement eu d’erreur ou d’échec, mais sont destinés aux diagnostics et à l’identification des problèmes. -
Informational: MSAL journalise les événements destinés à des fins d’information qui ne sont pas nécessairement destinés au débogage. -
Verbose(Par défaut) : MSAL enregistre les détails complets du comportement de la bibliothèque.
Note
Tous les niveaux de journalisation ne sont pas disponibles pour tous les SDK MSAL.
Données personnelles et organisationnelles
Par défaut, l’enregistreur d’événements MSAL ne capture pas de données personnelles ou organisationnelles hautement sensibles. La bibliothèque offre la possibilité d’activer la journalisation des données personnelles et organisationnelles si vous décidez de le faire.
Les sections suivantes fournissent plus de détails sur la journalisation des erreurs MSAL pour votre application.
Journalisation MSAL pour Java
MSAL pour Java vous permet d'utiliser la bibliothèque de journalisation que vous utilisez déjà avec votre application, tant qu'elle est compatible avec Simple Logging Façade for Java (SLF4J). MSAL pour Java utilise le SLF4J comme abstraction simple pour diverses infrastructures de journalisation, telles que java.util.logging, Logback et Log4j. SLF4J permet à l’utilisateur de se connecter à l’infrastructure de journalisation souhaitée au moment du déploiement et de lier automatiquement à Logback au moment du déploiement. Les journaux MSAL seront écrits dans la console. Cet article explique comment activer la journalisation MSAL4J à l’aide de l’infrastructure logback dans une application web Spring Boot.
Pour implémenter la journalisation, incluez le
logbackpackage danspom.xml.<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency>Accédez au
resourcesdossier, puis ajoutez un fichier appelélogback.xml, puis insérez le code suivant. Cette opération ajoute les journaux à la console. Vous pouvez modifier l’appenderclasspour écrire des logs dans un fichier, une base de données ou tout autre appender de votre choix.<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="debug"> <appender-ref ref="STDOUT" /> </root> </configuration>Définissez la
logging.configpropriété sur l’emplacement dulogback.xmlfichier avant la méthode principale. Accédez àMsalWebSampleApplication.javaet ajoutez le code suivant à la classe publiqueMsalWebSampleApplication.@SpringBootApplication public class MsalWebSampleApplication { static { System.setProperty("logging.config", "C:\Users\<your path>\src\main\resources\logback.xml"); } public static void main(String[] arrgs) { // Console.log("main"); // System.console().printf("Hello"); // System.out.printf("Hello %s!%n", "World"); System.out.printf("%s%n", "Hello World"); SpringApplication.run(MsalWebSampleApplication.class, args); } }
Dans votre locataire, vous devez prévoir des inscriptions d’applications distinctes pour l’application Web et l’API Web. Pour l’inscription de l’application et l’exposition de l’étendue de l’API web, suivez les étapes décrites dans le scénario Une application web qui authentifie les utilisateurs et appelle des API web.
Pour obtenir des instructions sur la liaison à d’autres frameworks de journalisation, consultez la documentation SLF4J.
Informations personnelles et organisation
Par défaut, la journalisation MSAL ne capture ni ne consigne aucune donnée personnelle ou organisationnelle. Dans l’exemple suivant, la journalisation des données personnelles ou organisationnelles est désactivée par défaut :
PublicClientApplication app2 = PublicClientApplication.builder(PUBLIC_CLIENT_ID)
.authority(AUTHORITY)
.build();
Activez la journalisation des données personnelles et organisationnelles en définissant logPii() sur le générateur d’application cliente. Si vous activez la journalisation des données personnelles ou organisationnelles, votre application doit prendre en charge la gestion sécurisée des données hautement sensibles et se conformer aux exigences réglementaires.
Dans l’exemple suivant, la journalisation des données personnelles ou organisationnelles est activée :
PublicClientApplication app2 = PublicClientApplication.builder(PUBLIC_CLIENT_ID)
.authority(AUTHORITY)
.logPii(true)
.build();
Étapes suivantes
Pour plus d’exemples de code, reportez-vous à Plateforme d'identités Microsoft exemples de code.