Admin › Monitoring › KMS Audit

KMS Audit pairs with the KMS provider in Admin › Settings › Encryption.
Rows accumulate only when encryption operations actually occur, so the table may be empty (
Total: 0) in environments with no KMS operation history.Recorded Operations
Every key operation performed by the KMS provider is recorded automatically.| Operation | What it does |
|---|---|
| wrap | Encrypts and locks a secret value |
| unwrap | Unlocks and reads (decrypts) a locked value |
| rotate | Replaces the encryption key with a new one |
| health_check | Checks whether the KMS is operating normally |
| provider_change | Switches the encryption method (KMS provider) (e.g., local ↔ external) |
| migrate | Re-locks values locked with an older method using the current method (Migrating existing data) |
| audit_export | Exports the KMS audit log to CSV — the export action itself is also recorded |
The target secrets are the system’s sensitive configuration values — Config secrets, database connections, tool connection keys, license tokens, and so on.
The encrypted values themselves are never recorded; only “which operation happened on which configuration path’s value” is kept.
Log Entry Structure
Each KMS audit row includes the following:| Field | Description |
|---|---|
| id | Sequential record identifier |
| Timestamp (UTC) | When the operation occurred (in UTC) |
| Operation | The KMS operation performed (wrap, unwrap, rotate, etc.) |
| Result | Success / Failure |
| Actor | The entity that performed the operation (user or system) |
| Config path | Path of the configuration value the operation targeted |
| IP | Source IP of the request |
| Error | Error message on failure (empty on success) |
Integrity Check
Clicking the Integrity Check button re-verifies the entire chain from the first entry to the last to confirm no link is broken.Viewing Logs
Filter Options
| Filter | Description |
|---|---|
| Time range | Shared time bar at the top — 1h / 6h / 1d / 7d / 30d / All / Custom |
| Operation | Filter to a specific KMS operation (wrap, unwrap, rotate, health_check, provider_change, migrate, audit_export) |
| Result | All results / Success only / Failure only |
Total: N · Page X with the total count and current page.
CSV Export
You can export audit records for external retention or analysis. Unlike a normal download, you must enter an export reason.Enter a reason
Type a reason in the Export reason (recorded in the audit chain) field at the bottom. (e.g.,
Quarterly compliance review)The export action itself is added to the chain as a new entry with the
audit_export operation.
That means “who exported the audit log, when, and for what reason” is also recorded, so tamper-resistance is preserved even at the export step.Difference from the Audit Log
KMS Audit is a separate tab from the Audit Log. They differ in what they track and how they guarantee it.| Aspect | Audit Log | KMS Audit |
|---|---|---|
| Tracks | User/resource activity (CRUD, login, permission changes) | Encryption key operations (wrap/unwrap/rotate, etc.) |
| Primary users | Security officers, compliance | Security officers, infrastructure admins |
| Integrity guarantee | Records can’t be deleted or modified | Records are chained together to prevent forgery + Integrity Check button |
| Export | Filter-based viewing | CSV after entering a reason (export is also recorded in the chain) |
Use Cases
Tracking key rotation history
Tracking key rotation history
- Select
rotatein the Operation filter - Set a time range to confirm key rotation ran on the policy cycle
- Narrow the Result filter to
Failure onlyto check for any failed rotations
Diagnosing encryption operation failures
Diagnosing encryption operation failures
- Set the Result filter to
Failure only - Use the Config path and Error columns to identify which secret had the problem
- Verify KMS status with the provider connection test in Encryption settings
Securing compliance evidence
Securing compliance evidence
- Run Integrity Check first to confirm the chain is intact
- Filter to the reporting period
- State your review purpose in the export reason and export to CSV
- Confirm the export entry (
audit_export) was added to the chain to evidence the extraction history
Best Practices
- Regular integrity checks: During compliance reviews, run Integrity Check first to confirm the chain is intact
- Failure monitoring: Periodically check for encryption operation errors with the
Failure onlyfilter — an early signal of KMS connection problems - Clear reasons: Write specific CSV export reasons, since they are used for later audit trails
- Provider transition review: Use
provider_changeandmigraterecords to confirm encryption provider switches and re-encryption completed as intended
