Audit Logging

Humio generates audit log events on many user actions.

These events are designed with GDPR requirements in mind and come in two variants: sensitive and non-sensitive, to make the audit trail trustworthy, by making the sensitive actions not mutable through Humio.

Sensitive events include - assignment of roles to groups on repositories - changing retention settings on repositories - deleting repositories and datasources and similar actions

and are tagged with #sensitive="true". Non-sensitive events are tagged as #sensitive="false".

All audit log events are written to the internal repository humio-audit, and to the Log4j2 logger named HUMIOAUDITLOG, which by default writes to the file ${humio.auditlog.dir}/humio-audit.log.

Retention settings for audit logs in the humio-audit repository

The repository humio-audit has special retention rules that depends on the sensitive value. Sensitive logs are deleted by retention only when they are too old, controlled by the system configuration option AUDITLOG_SENSITIVE_RETENTION_DAYS. The default is 200 years. Changing this setting requires a systems operator to change the configuration of the servers running Humio, and then to restart Humio.

Non-sensitive logs are deleted according to the regular retention settings for the repository. The default retention setting for this repository is to keep the log forever. Please configure according to your requirements.

Sensitive events logged

  • Create or delete a repository. Attributes include dataspaceID
  • Set Retention on a repository. Attributes include originalSizeInBytes, sizeInBytes, timeInMillis, backupAfterMillis only listing those that are set.
  • Create user
  • Update user
  • Delete user
  • Group membership change
  • Role update or role change for a group in a repository
  • Configuration of ingest listeners
  • Adding, removing, or changing ingest tokens
  • Adding, removing, or changing parsers
  • Managing the cluster nodes

Non-sensitive events logged

  • Sign in to Humio. When using Auth0, this event is logged only once, when the user signs in the first time and is assigned a local UUID. When using LDAP, Humio logs every time the user verifies their user name / password combination.

  • Query. Every time a query is submitted on behalf of the user, either trough the UI or API using the API-token of a user. Note: Read-only dashboards are not logged here.

Permissions and ENFORCE_AUDITABLE mode

Root users are by default allowed to query the data stored in a repository, add and remove users, delete data, and set retention. In other words, unrestricted access to all data in the Humio cluster.

Setting the configuration option ENFORCE_AUDITABLE=true restricts root users

  • Root users can no longer query the repository unless the user has explicit permission through a group membership.
  • Root users can not set retention on repositories unless the root user has explicit permission through a group membership.
  • Root users can not delete data from repositories unless the root user has explicit permission through a group membership.

Regardless of the value of ENFORCE_AUDITABLE root users can always:

  • Add users to a repository and remove users from a repository, and change their permissions on the repository. This includes adding the root user itself to a repository.
  • Perform cluster related administration tasks, such as adding and deleting servers.
  • Manage ingest listeners and tokens.

Searching the events in the audit log

Special access restrictions apply. A user can get access to search the humio-audit repo using the same set of rules as any other repo. But any user who does not have access through those rules can search the repo while being restricted to searching only the events that has said user as the “actor” that did the event.