Audit logs are structured records that chronologically document events and activities within a system, application, or network. They capture and store details of actions performed by users, system components, or external entities, ensuring transparency, security, and regulatory compliance.
In Chainloop, the Audit Log tracks multiple system entities, though not all are currently registered. This is an ongoing effort, and additional entities will be added in future updates.
Who can view this section?
Only users with owner or admin roles can see the Audit Logs page.
Key Concepts
Audit logs in Chainloop revolve around two main concepts: Actor Type and Target Type.
Actor Type
The Actor Type represents the entity responsible for triggering an event.
• API Token – Events initiated by an API Token, such as updating a Workflow Contract.
• System – Events triggered by the system itself or the Chainloop Team. Currently, these events occur when modifications are made to built-in resources such as Policies, Requirements, or Frameworks. These changes are logged across all organizations for transparency.
• User – Events initiated by users within your organization.
Target Type
The Target Type represents the entity affected by an action performed by an Actor.
Audit Log Forwarders
This feature is only available for on-premise installations of Chainloop.
The Audit Log Forwarder allows platform operators to send event logs to external services. Currently, this is supported via a Webhook.
To configure an Audit Log Forwarder, the following configuration can be modified from the Platform's Helm Chart values.yaml
.
backend:
## @param backend.auditLogForwarders Audit log forwarders configuration. Configure forwarders
## to send audit logs to external services
## @extra backend.auditLogForwarders[].kind The kind of forwarder, currently only webhook is supported
## @extra backend.auditLogForwarders[].uri The URL of the webhook
## @extra backend.auditLogForwarders[].token The bearer token to authenticate with the webhook
## @extra backend.auditLogForwarders[].method The HTTP method to use when sending the audit logs
auditLogForwarders: []
You can configure multiple Audit Log Forwarders as needed. The available options are:
kind
: Currently, onlywebhook`
is supported.uri
: The fully qualified domain name (FQDN) URL of the Webhook endpoint.token
: The Bearer token for authentication, if required by the Webhook endpoint.method
: The HTTP method used for requests. Allowed values arePOST
,PUT
, andPATCH
. If not specified,POST
it is used by default.
Requests are configured with a set of properties to ensure optimal system performance while allowing end users to easily filter them.
User-Agent:
Chainloop-Audit-Logger/1.0
Content-Type:
application/json
Default Timeout: 5 seconds
Example of Webhook configuration
backend:
auditLogForwarders:
- kind: webhook
uri: https://webhook.site
token: THE-SECRET-TOKEN
method: POST