Audit logs can help you detect and respond to potential security incidents when they occur.
Audit logging provides the following benefits:
Security: System events can be used to show abnormalities to be investigated, forensic information related to breaches, or provide evidence for compliance and regulatory purposes.
Compliance: Regulators and auditors may require audit logs to confirm whether certain certification standards are met.
Debugging: Audit logs can help determine the root causes of efficiency or performance issues.
Risk management: Prevent issues or catch them early.
You can collect audit logs for both the Konnect org and Dev Portal.
This is triggered when a user attempts to log into the Konnect web application or use the Konnect API via a personal access token. Also triggered when a system account access token is used.
Triggered when a user logs in to the Dev Portal.
Authorization
Triggered when a permission check is made for a user or system account against a resource.
Not collected, use the org audit log.
Access logs
Triggered when a request is made to the Konnect API.
Not collected, use the org audit log.
Konnect retains audit logs for 7 days. After 7 days, Konnect permanently deletes them and you cannot recover them.
Dev Portal audit logs don’t collect authorization and access events by design. You can view Dev Portal entity creation, edits, and approved state changes from the Konnect audit logs.
You can view the webhook status in the UI or via the API for the Konnect org audit logs and Dev Portal audit logs:
To view the Konnect org audit logs webhook status in the UI, navigate to Organization > Audit Log Setup, and click the Konnect tab.
To view the Dev Portal audit log status in the UI, navigate to your Dev Portal, click Settings, and click the Audit log tab.
The following table describes the webhook statuses:
Attribute
Description
last_attempt_at
The last time Konnect tried to send data to your webhook
last_response_code
The last response code from your webhook
webhook_enabled
The desired status of the webhook (from audit-log-webhook.enabled)
webhook_status
The actual status of the webhook
A combination of webhook_enabled and webhook_status give a full picture of webhook status:
webhook_enabled
webhook_status
Description
true
active
Konnect is ready to send data to the webhook. Either no attempts have been made yet (last_attempt_at is not set), or the last attempt was successful.
true
inactive
Last attempt to send data failed, but the webhook is still enabled. This usually means that there was an error in the endpoint or the SIEM provider went down that caused the logs to stop streaming.
false
active
Webhook config is saved. Konnect is not shipping data to it per webhook configuration.
false
inactive
Last attempt to send data failed, and customer has turned off the webhook.
false
unconfigured
The webhook for this region has not been configured yet.
Konnect delivers log events in ArcSight CEF Format , JSON, or CrowdStrike Parsing Standard (CPS). You may specify which format to use in the audit log webhook endpoints.
Webhook calls include a batch of events. Each event is formatted in either CEF or JSON and separated by a newline. The Content-Type is text/plain.
To minimize payload size, the message body is compressed. The Content-Encoding is application/gzip.
All log entries include the following attributes:
Property
Description
Timestamp
Time and date of the event in UTC.
rt
Milliseconds since Unix epoch.
src
The IP address of the request originator.
org_id
The originating organization ID.
principal_id
The user ID of the user that performed the action.
~kong_initiated~
Whether the action was performed by Kong
trace_id
The correlation ID of the request. Use this value to find all log entries for a given request.
user_agent
The user agent of the request: application, operating system, vendor, and version.
Authentication attempts and their outcomes are logged whenever a user logs in to the Konnect application or the Dev Portal either through the UI or the Konnect API.
In addition to the defaults, each authentication log entry also contains the following attributes:
Property
Description
AUTHENTICATION_TYPE
Can be one of the following:
- AUTHENTICATION_TYPE_BASIC: Basic email and password authentication
- AUTHENTICATION_TYPE_SSO: Authentication with single sign-on (SSO)
- AUTHENTICATION_TYPE_PAT: Authentication with a personal access token
AUTHENTICATION_OUTCOME
Can be one of the following:
- AUTHENTICATION_OUTCOME_SUCCESS: Authentication is successful
- AUTHENTICATION_OUTCOME_NOT_FOUND: User was not found
- AUTHENTICATION_OUTCOME_INVALID_PASSWORD: Invalid password specified
- AUTHENTICATION_OUTCOME_LOCKED: User account is locked
- AUTHENTICATION_OUTCOME_DISABLED: User account has been disabled
success
true or false, depending on whether authentication was successful or not.
portal_id
The ID of the Dev Portal the event occurred in. Only present in Dev Portal authentication log entries.
Access logs include information about create, update, and delete requests to the Konnect API.
Example log entry:
2025-05-16T20:09:54Zkonghq.com CEF:0|KongInc|Konnect|1.0|KongGateway|Ingress|1|rt=1684267794226src=127.0.0.6request=/konnect-api/api/vitals/v1/exploreact=POSTstatus=200org_id=b065b594-6afc-4658-9101-5d9cf3f36b7bprincipal_id=87655c36-8d63-48fe-9a1e-53b28dfbc19buser_agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36trace_id=1146381705542353508query={"end":"1684270800","start":"1684098000"}sig=JxJaQG3Bozrb5WdHE_Y0HaOsim2F1Xsq_bCfk71VgsfldkLAD_SF234cnKNS
You can use replay jobs in Konnect to recover audit logs. These are useful when you’ve missed audit log entries due to an error or a misconfigured audit log webhook.
You can use either the Konnect UI or the Konnect API to configure a replay job.
Note: The replay job is always sent to the webhook that is currently configured for the organization or Dev Portal at the time the replay job is executed. There is one webhook configuration per region.
Konnect and Dev Portal use an ED25519 signature on the audit logs they produce. You can verify the signature in your audit logs to confirm that it’s from Konnect instead of a bad actor.
To do that:
Retrieve the public key from the audit log JWKS endpoint. The public key is stored in the x field.
Get an audit log from Konnect and remove the sig value. Make sure to save the signature, you’ll need it in the next step.
Decode the Base64-encoded signature and private key.
Use your preferred tool (for example, OpenSSL) to verify the ED25519 signature by using the signature-less audit log entry together with the decoded signature and public key.