Journalisation

FoxIDs enregistre par défaut les avertissements, les erreurs, les erreurs critiques et les événements. Les entrées du journal comprennent un horodatage et le contexte pertinent de la requête ou de l'identité, tel que l'adresse IP du client, lorsqu'elle est disponible. Des traces et des métriques supplémentaires peuvent être activées par environnement à des fins de diagnostic.

Dépannage des erreurs du navigateur

La page d’erreur du navigateur affiche un message générique en cas d’échec inattendu, ainsi que l’heure et l’identifiant d’opération lorsqu’il est disponible. Si la séquence de connexion ou d’action sur le compte peut être identifiée, la page affiche également son identifiant de séquence. Utilisez l’identifiant d’opération pour trouver la requête en échec et l’identifiant de séquence pour suivre les opérations associées dans les journaux de FoxIDs Control ou dans la destination de journalisation configurée. Les situations connues auxquelles il est possible de remédier, comme l’expiration du délai de connexion, peuvent afficher des indications spécifiques et une option permettant de réessayer. Si une fonctionnalité n’est pas disponible dans le forfait actuel, la page affiche le nom du forfait et des indications pour passer à un forfait supérieur. Les parcours liés au compte peuvent également fournir un message d’interface spécifique et localisé, par exemple concernant un numéro de téléphone manquant requis pour l’authentification à deux facteurs.

Les messages d’exception techniques, les traces de pile et les diagnostics du connecteur ne sont affichés sur la page d’erreur générique dans aucun environnement d’hébergement. Si la gestion des erreurs échoue elle-même, la page de secours conserve également les détails techniques dans les journaux. Consultez les journaux de diagnostic uniquement avec un accès administrateur autorisé ; ne partagez pas leur contenu avec un appelant non authentifié.

Destinations des journaux

Définissez la destination du journal à l'aide de Settings__Options__Log. FoxIDs prend en charge trois options :

  • Stdout enregistre les journaux dans la sortie de la console. Cette option convient aux petits déploiements Docker et Kubernetes, dans lesquels la plateforme d’hébergement collecte les journaux de la console.
  • OpenSearchAndStdoutErrors enregistre des journaux consultables sur OpenSearch et transmet également les erreurs à la sortie de la console. Cette option est couramment utilisée pour les déploiements Kubernetes.
  • ApplicationInsights envoie des journaux consultables vers Azure Application Insights. Cette option est couramment utilisée pour les déploiements Azure.

FoxIDs Control peut effectuer des recherches dans les journaux, les données d'utilisation et d'audit lorsque l'option OpenSearchAndStdoutErrors ou ApplicationInsights est configurée. Avec Stdout, utilisez les fonctionnalités de journalisation fournies par la plateforme d'hébergement.

Format stdout et niveau minimal

FoxIDs utilise la configuration de journalisation .NET Console standard sous Logging:Console pour la sortie écrite dans stdout. Le formateur de texte simple est utilisé sauf si un autre formateur est configuré. Le déploiement Kubernetes fourni sélectionne le formateur JSON afin que chaque entrée de journal puisse être collectée sous la forme d'une seule ligne structurée.

Avec le formateur JSON, le texte du journal est écrit dans Message, les propriétés contextuelles telles que RequestId, RequestPath, le tenant et l'environnement sont écrites dans des champs distincts sous State, et les détails des exceptions sont écrits dans Exception. Les métriques comprennent également une valeur numérique dans State.Value. Par défaut, les entrées JSON utilisent des horodatages UTC au format yyyy-MM-ddTHH:mm:ss.fffZ. Le formateur simple conserve la représentation textuelle multiligne.

Définissez le formateur JSON à l'aide d'une variable d'environnement :

Logging__Console__FormatterName=json

Les valeurs d'horodatage par défaut peuvent être remplacées à l'aide des options standard du formateur, par exemple :

Logging__Console__FormatterOptions__TimestampFormat=yyyy-MM-ddTHH:mm:ssZ
Logging__Console__FormatterOptions__UseUtcTimestamp=true

Le niveau minimal de journalisation Console est Trace par défaut, ce qui conserve tous les types de journaux activés dans les paramètres de journalisation de l'environnement FoxIDs. Vous pouvez augmenter indépendamment le niveau minimal pour chaque déploiement, par exemple :

Logging__Console__LogLevel__Default=Information

Le niveau minimal affecte la sortie stdout comme suit :

Niveau minimal Sortie stdout
Trace Traces, événements, métriques, avertissements et erreurs
Information Événements, métriques, avertissements et erreurs
Warning Avertissements et erreurs
Error Erreurs et erreurs critiques
Critical Erreurs critiques uniquement

Le niveau minimal de journalisation Console est un filtre supplémentaire. Il n'active pas les traces ni les métriques désactivées dans les paramètres de journalisation de l'environnement.

Journaux dans FoxIDs Control

Ouvrez la rubrique Journaux dans le FoxIDs Control Client pour basculer entre les journaux opérationnels, les journaux d'utilisation, les journaux d'audit et les paramètres des journaux d'environnement.

Journaux

L'onglet Journaux permet d'effectuer des recherches dans les entrées des journaux d'exploitation. Sélectionnez la période et les types de journaux, puis saisissez éventuellement un texte de recherche pour affiner les résultats. Les erreurs et les avertissements sont sélectionnés par défaut. Dans un environnement standard, les événements sont également sélectionnés par défaut, tandis que les traces et les métriques sont disponibles lorsqu'elles ont été activées dans les paramètres de journalisation de l'environnement.

Les requêtes rejetées avant le routage vers le tenant et l'environnement sont classées comme requêtes rejetées et exclues des événements ordinaires. Dans le tenant principal, sélectionnez requêtes rejetées pour les examiner selon le chemin de la requête, la méthode HTTP et le contexte de requête disponible. Les requêtes rejetées ne sont pas disponibles dans les autres tenants.

Les entrées associées sont regroupées par séquence et par opération, ce qui vous permet de suivre un flux d'authentification ou une requête, et d'en examiner les événements, les propriétés contextuelles et les exceptions.

Rechercher dans les journaux d'exploitation

Utilisation

L'onglet Utilisations résume l'activité pour une période et un intervalle sélectionnés. Vous pouvez inclure les méthodes d'authentification, les utilisateurs, les connexions, les demandes de jetons, les opérations supplémentaires et les appels à Control API.

Le périmètre d'administration sélectionné détermine l'utilisation affichée :

  • Dans un environnement standard, le résultat présente les données d'utilisation propres à cet environnement.
  • Dans l'environnement principal d'un locataire, le résultat présente les données d'utilisation pour l'ensemble du locataire et peut être limité à un environnement particulier.
  • Dans l'environnement principal du locataire principal, le résultat présente les données d'utilisation pour l'ensemble du déploiement de FoxIDs et peut être limité à un locataire et à un environnement.

Consultez le guide d'utilisation

Journaux d'audit

L'onglet Audit consigne les activités utilisateur pertinentes pour la sécurité et les modifications administratives. La recherche dans les journaux d'audit est disponible avec OpenSearchAndStdoutErrors et ApplicationInsights ; elle n'est pas disponible lorsque la destination des journaux est Stdout.

Sélectionnez une période allant jusqu'à sept jours et saisissez éventuellement un texte à rechercher. Une recherche renvoie jusqu'à 300 des enregistrements correspondants les plus récents et affiche un avertissement lorsque le résultat est tronqué. Le texte est recherché dans le nom de l'événement, le type d'audit, l'action, les identifiants utilisateur, la méthode d'authentification, l'ID d'enregistrement ou de document, le tenant, l'environnement et les données modifiées.

Les enregistrements d'audit utilisent les types suivants :

Type d'audit Activité consignée
Data Modifications administratives de données effectuées via FoxIDs Control ou la Control API.
Login Connexion utilisateur effectuée via une méthode d'authentification.
Logout Déconnexion utilisateur effectuée via une méthode d'authentification.
ChangePassword Modification du mot de passe d'un utilisateur.
CreateUser Création d'un utilisateur pendant un flux de connexion.
RegisterAuthenticatorApp Enregistrement d'une application d'authentification pour un utilisateur.

Chaque enregistrement affiche le type d'audit et le contexte disponible. Une activité utilisateur peut inclure l'ID utilisateur, l'adresse e-mail, le numéro de téléphone, le nom d'utilisateur, l'ID de session et la méthode d'authentification. Seuls les identifiants disponibles dans les claims de connexion ou la session sont consignés. L'enregistrement d'une application d'authentification inclut également son RegistrationId.

Pour un enregistrement Data, DataType identifie le type de données de configuration, DocumentId identifie l'élément concerné et Action vaut Create, Update, Save ou Delete. Les données JSON mises en forme présentent les valeurs modifiées avec les valeurs before et after, le cas échéant. Les propriétés sensibles telles que les secrets, les hachages, les nonces et les clés sont masquées.

La portée d'administration sélectionnée détermine les enregistrements d'audit qui peuvent être recherchés :

  • Dans un environnement standard, le résultat contient les enregistrements de cet environnement.
  • Dans l'environnement maître d'un tenant, le résultat contient les enregistrements de ce tenant et peut être limité à un environnement particulier.
  • Dans l'environnement maître du tenant maître, le résultat contient les enregistrements de l'ensemble du déploiement FoxIDs et peut être limité à un tenant et un environnement.

Rechercher dans les journaux d'audit

Paramètres de journalisation

Ouvrez Journaux > Paramètres pour configurer le niveau de détail des informations de diagnostic enregistrées pour l'environnement sélectionné :

  • La trace des informations de connexion enregistre les détails relatifs aux séquences de connexion et de déconnexion.
  • La trace des revendications enregistre les revendications reçues, transmises ou émises par les méthodes d'authentification et les enregistrements d'applications.
  • La trace des messages enregistre les messages de protocole bruts reçus et envoyés.
  • La trace des métriques enregistre les temps de réponse et le débit.

Les avertissements, les erreurs, les erreurs critiques et les événements continuent d'être consignés indépendamment de ces paramètres.

Les traces de revendications et de messages peuvent contenir des données à caractère personnel, des jetons et d'autres informations sensibles liées au protocole. N'activez-les que lorsque cela est nécessaire à des fins de diagnostic, limitez l'accès au magasin de journaux et appliquez une durée de conservation appropriée.

Configurer les paramètres de journalisation de l'environnement

Flux de journaux

Un flux de journaux transfère certains types de journaux vers un référentiel externe, indépendamment de la destination principale configurée pour les journaux. Par exemple, ajoutez un flux de journaux Azure Application Insights et sélectionnez les types de journaux que FoxIDs doit envoyer.

Configurer un flux de journaux d'Application Insights