Logging

FoxIDs registreert standaard waarschuwingen, fouten, kritieke fouten en gebeurtenissen. Logboekvermeldingen bevatten een tijdstempel en relevante verzoek- of identiteitscontext, zoals het IP-adres van de client, indien beschikbaar. Aanvullende traces en statistieken kunnen per omgeving worden ingeschakeld voor diagnostische doeleinden.

Browserfouten oplossen

De foutpagina in de browser toont bij onverwachte fouten een algemeen bericht, samen met het tijdstip en de operation-ID indien beschikbaar. Als de sequentie van de aanmelding of accountactie kan worden geïdentificeerd, toont de pagina ook de sequentie-ID. Gebruik de operation-ID om het mislukte verzoek te vinden en de sequentie-ID om gerelateerde bewerkingen te volgen in de logboeken in FoxIDs Control of op de geconfigureerde logbestemming. Bekende situaties die kunnen worden hersteld, zoals een time-out bij het aanmelden, kunnen specifieke aanwijzingen en een optie om het opnieuw te proberen tonen. Als een functie niet beschikbaar is in het huidige abonnement, toont de pagina de abonnementsnaam en aanwijzingen voor een upgrade. Accountflows kunnen ook een specifiek, gelokaliseerd UI-bericht leveren, bijvoorbeeld over een ontbrekend telefoonnummer dat vereist is voor tweefactorauthenticatie.

Technische uitzonderingsberichten, stacktraces en diagnostische gegevens van de connector worden in geen enkele hostingomgeving op de algemene foutpagina getoond. Als de foutafhandeling zelf mislukt, houdt ook de terugvalpagina technische details in de logboeken. Bekijk diagnostische logboeken alleen met bevoegde beheerderstoegang; deel de inhoud niet met een niet-geauthenticeerde aanroeper.

Logbestemmingen

Stel de logbestemming in met Settings__Options__Log. FoxIDs ondersteunt drie opties:

  • Stdout schrijft logbestanden naar de console-uitvoer. Dit is geschikt voor implementaties op Docker en Kubernetes, waarbij het hostingplatform de consolelogbestanden verzamelt.
  • OpenSearchAndStdoutErrors schrijft doorzoekbare logbestanden naar OpenSearch en schrijft fouten naar de console-uitvoer. Dit wordt vaak gebruikt voor implementaties op Kubernetes.
  • ApplicationInsights verzendt doorzoekbare logbestanden naar Azure Application Insights. Dit wordt vaak gebruikt voor Azure-implementaties.

FoxIDs Control kan logbestanden, gebruiks- en auditgegevens doorzoeken wanneer OpenSearchAndStdoutErrors of ApplicationInsights is geconfigureerd. Bij Stdout maakt u gebruik van de logboekfuncties die door het hostingplatform worden aangeboden.

Stdout-indeling en minimumniveau

FoxIDs gebruikt de standaardconfiguratie voor .NET Console-logging onder Logging:Console voor uitvoer die naar stdout wordt geschreven. De eenvoudige tekstformatter wordt gebruikt tenzij een andere formatter is geconfigureerd. De meegeleverde Kubernetes-deployment selecteert de JSON-formatter, zodat elke logboekvermelding als één gestructureerde regel kan worden verzameld.

Met de JSON-formatter wordt de logtekst naar Message geschreven, worden contextuele eigenschappen zoals RequestId, RequestPath, tenant en omgeving als afzonderlijke velden onder State geschreven en worden details van uitzonderingen naar Exception geschreven. Metrics bevatten ook een numerieke State.Value. JSON-vermeldingen gebruiken standaard UTC-tijdstempels in de indeling yyyy-MM-ddTHH:mm:ss.fffZ. De eenvoudige formatter behoudt de tekstweergave over meerdere regels.

Stel de JSON-formatter in met een omgevingsvariabele:

Logging__Console__FormatterName=json

De standaardwaarden voor het tijdstempel kunnen worden overschreven via de standaardopties van de formatter, bijvoorbeeld:

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

Het minimumniveau van Console-logging is standaard Trace, zodat alle logboektypen behouden blijven die in de logboekinstellingen van de FoxIDs-omgeving zijn ingeschakeld. Je kunt het minimumniveau onafhankelijk per deployment verhogen, bijvoorbeeld:

Logging__Console__LogLevel__Default=Information

Het minimumniveau beïnvloedt de stdout-uitvoer als volgt:

Minimumniveau Stdout-uitvoer
Trace Traces, events, metrics, waarschuwingen en fouten
Information Events, metrics, waarschuwingen en fouten
Warning Waarschuwingen en fouten
Error Fouten en kritieke fouten
Critical Alleen kritieke fouten

Het minimumniveau van Console-logging is een aanvullend filter. Het schakelt geen traces of metrics in die zijn uitgeschakeld in de logboekinstellingen van de omgeving.

Logboeken in FoxIDs Control

Open Logs in de FoxIDs Control Client om te schakelen tussen operationele logboeken, gebruiksgegevens, auditverslagen en instellingen voor omgevingslogboeken.

Logboeken

Op het tabblad Logs kunt u zoekopdrachten uitvoeren in operationele logboekvermeldingen. Selecteer het tijdsbereik en de logboektypen, en voer eventueel zoektekst in om de resultaten te verfijnen. Fouten en waarschuwingen zijn standaard geselecteerd. In een reguliere omgeving zijn gebeurtenissen ook standaard geselecteerd, terwijl traces en metrics beschikbaar zijn wanneer deze zijn ingeschakeld in de logboekinstellingen van de omgeving.

Verzoeken die vóór de routering naar tenant en omgeving worden afgewezen, worden geclassificeerd als afgewezen verzoeken en uitgesloten van reguliere gebeurtenissen. Selecteer in de master-tenant afgewezen verzoeken om ze te onderzoeken op verzoekpad, HTTP-methode en beschikbare verzoekcontext. Afgewezen verzoeken zijn niet beschikbaar in andere tenants.

Gerelateerde vermeldingen zijn gegroepeerd op volgorde en bewerking, zodat u een authenticatiestroom kunt volgen of een verzoek kunt opvragen en de bijbehorende gebeurtenissen, contextuele eigenschappen en uitzonderingen kunt bekijken.

Operationele logboeken doorzoeken

Gebruik

Het tabblad Gebruik geeft een overzicht van de activiteiten voor een geselecteerde tijdsperiode en interval. U kunt authenticatiemethoden, gebruikers, aanmeldingen, tokenverzoeken, aanvullende bewerkingen en Control API-aanroepen opnemen.

Het geselecteerde beheerbereik bepaalt welk gebruik wordt weergegeven:

  • In een reguliere omgeving bevat het resultaat het gebruik voor die omgeving.
  • In de masteromgeving van een tenant bevat het resultaat het gebruik voor de gehele tenant en kan dit worden beperkt tot een bepaalde omgeving.
  • In de masteromgeving van de master-tenant bevat het resultaat het gebruik voor de volledige FoxIDs-implementatie en kan dit worden beperkt tot een tenant en een omgeving.

Gebruiksaanwijzing

Auditlogboeken

Op het tabblad Audit worden beveiligingsrelevante gebruikersactiviteiten en beheerwijzigingen vastgelegd. Zoeken in auditlogboeken is beschikbaar met OpenSearchAndStdoutErrors en ApplicationInsights; dit is niet beschikbaar wanneer de logbestemming Stdout is.

Selecteer een periode van maximaal zeven dagen en voer desgewenst zoektekst in. Een zoekopdracht retourneert maximaal 300 van de nieuwste overeenkomende records en toont een waarschuwing wanneer het resultaat is afgekapt. De zoektekst wordt vergeleken met de gebeurtenisnaam, het audittype, de actie, gebruikersidentificaties, de authenticatiemethode, de registratie- of document-ID, tenant, omgeving en gewijzigde gegevens.

Auditrecords gebruiken de volgende typen:

Audittype Vastgelegde activiteit
Data Beheerwijzigingen in gegevens via FoxIDs Control of de Control API.
Login Een voltooide gebruikersaanmelding via een authenticatiemethode.
Impersonation Impersonatie starten, wijzigen of beëindigen.
Logout Een voltooide gebruikersafmelding via een authenticatiemethode.
ChangePassword Een wijziging van het wachtwoord van een gebruiker.
CreateUser Het aanmaken van een gebruiker tijdens een aanmeldingsstroom.
RegisterAuthenticatorApp De registratie van een authenticator-app voor een gebruiker.

Elk record toont het audittype en de beschikbare context. Sub identificeert de gebruiker aan de hand van diens FoxIDs subject. UserId bevat de werkelijke gebruikers-ID van het account wanneer een FoxIDs gebruikersaccount bekend is; LocalAccountKey identificeert de interne of externe accountkoppeling. E-mailadres, telefoonnummer, gebruikersnaam, sessie-ID en authenticatiemethode worden opgenomen indien beschikbaar. Deze identificatoren kunnen ook in operationele logs worden gezocht. Een registratie van een authenticator-app bevat de bijbehorende RegistrationId.

Tijdens impersonatie beschrijven de algemene gebruikersvelden de oorspronkelijke gebruiker. TargetSub, TargetUserId en de overige Target* velden beschrijven de geïmpersoneerde gebruiker. Events en traces voor de aanvraag bevatten ImpersonationAction: start, change, stop of continue. Wanneer de sessie-ID verandert, verwijst PreviousSessionId naar de vorige sessie, en identificeren PreviousTargetSub en PreviousTargetAccountKey het vorige target indien beschikbaar.

Voor een Data-record geeft DataType het soort configuratiegegevens aan, identificeert DocumentId het betreffende item en is Action Create, Update, Save of Delete. De opgemaakte JSON-gegevens tonen waar van toepassing de gewijzigde waarden met before- en after-waarden. Gevoelige eigenschappen zoals geheimen, hashes, nonces en sleutels worden gemaskeerd.

Het geselecteerde beheerbereik bepaalt welke auditrecords kunnen worden doorzocht:

  • In een normale omgeving bevat het resultaat records voor die omgeving.
  • In de masteromgeving van een tenant bevat het resultaat records voor de tenant en kan het worden beperkt tot een bepaalde omgeving.
  • In de masteromgeving van de mastertenant bevat het resultaat records voor de volledige FoxIDs-installatie en kan het worden beperkt tot een tenant en omgeving.

Auditlogboeken doorzoeken

Logboekinstellingen

Open Logs > Instellingen om de diagnostische details te configureren die voor de geselecteerde omgeving worden vastgelegd:

  • Log info trace registreert details over in- en uitlogprocedures.
  • Log claim trace registreert de claims die zijn ontvangen en doorgestuurd of uitgegeven door authenticatiemethoden en applicatieregistraties.
  • Log message trace registreert ontvangen en verzonden ruwe protocolberichten.
  • Log metric registreert responstijden en doorvoercapaciteit.

Waarschuwingen, fouten, kritieke fouten en gebeurtenissen worden ongeacht deze instellingen nog steeds geregistreerd.

Claim- en berichttraces kunnen persoonsgegevens, tokens en andere gevoelige protocolinformatie bevatten. Schakel deze alleen in wanneer dit nodig is voor diagnostische doeleinden, beperk de toegang tot de logopslag en hanteer een passende bewaartermijn.

Logboekinstellingen voor de omgeving configureren

Logstream

Een logstream stuurt geselecteerde logtypen door naar een externe opslagplaats, onafhankelijk van de geconfigureerde primaire logbestemming. Voeg bijvoorbeeld een Azure-Application Insights-logstream toe en selecteer welke logtypen FoxIDs moet verzenden.

Een logstream voor de Application Insights configureren