Auditing of AD and Service User changes

Atria Auditing and Logging

Introduction

This article summarizes the auditing mechanisms for changes executed through the Atria system.  
The User table contains a record of all system users, each User has a UserID numeric identifier.  The UserID is used to track who made changes within the audit tables and is referred to throughout this article.

User Authentication Records

All user authentication into the Atria system is recorded in the LoginHistory table in the OLM database..  This stores the UserID of the user, LoginDateTime and the web server SessionID.

Core Data Entities

All core entities have associated Audit tables,  
For example
Users table - has a corresponding - Users_AT table

Audit tables have identical columns to the table being audited, but include additional columns to identify the type of change, when it changed and who changed it
      ModifiedBy The UserID of the actual user who performed the change
      ImpersonatingUserID If the user impersonation feature was being used, the UserID of the user being impersonated is stored
      ActionPerformed One of “Inserted”, “Updated”, “Deleted” 
      ActionDate The System DateTime of the change 

As changes are made, new entries are written to the audit tables.  An audit record is created on every insert, update or delete being performed.
Note that Atria does not delete data from audit tables.

Atria manages changes to some external systems in realtime, these do not have explicit audit tables.  Examples include – Group Management, Exchange Contact Management.  For these, the GenericAudit table is used, it records the User, Impersonation, Action DateTime, Action performed.

Provisioning Records

Provisioning Requests are tracked with detailed logging of actions performed.  Provisioning requests are used to action changes to users into external systems.
The Requests Table and RequestLog table can be used to extract details of actions performed by the system, this also records the user who initiated the request.

User Action Logging

All HTTP Post requests are recorded into the AuditActions table, this stores the URL/Route, UserID, ImpersonatingUserID, Session CorrelationID and Date Time performed.

Error Logging

The system uses the Serilog open source logging framework.  By default the Atria system records errors and general system logging into the Logs table.