Audit

DSV captures and stores audit logs of actions taken. The following fields are captured in audit data.

Attribute Description Example
id Audit ID "00000000-1111-2222-8b1f-b94bb1fab746"
tenant Tenant ID "abcd1234567890jbo090"
tenantName Tenant Name "test"
principal Security principal that performed action "users:user"
principalItemId Principal item ID "12345678-0000-41b8-8b02-0123456789ab"
action Action performed "POST"
status Response status code 200
path Resource path action performed on "token"
ipaddress IP Address logged from client "10.10.10.10"
created Audit created date "2020-05-01T01:09:07.225694779Z"
message Additional details "login succeeded"

Permissions

To allow reading audit logs create a policy that allows list action on audit resource. Example of creating such a policy via CLI:

Copy
dsv policy create --path audit --actions list --resources audit --subjects groups:audit-readers

API Endpoint

You can make direct REST API requests to access audit logs. Example using curl as follows:

Copy
curl -s -H "Authorization: ${DSV_TOKEN}" 'https://example.secretsvaultcloud.com/v1/audit?startDate=2023-04-20'

Read more at Audit API documentation page.

CLI Command

DSV CLI supports reading and filtering audit logs via the dsv audit command. Read more at Audit Command page.

UI View

DSV Web UI (or simply UI) can display audit logs. Learn more at Audit page.

SIEM

The audit logs can be sent to registered Security Information and Event Management (SIEM) servers in near real time. DSV supports following types of SIEM listeners:

Type Transport
Syslog UDP, TCP, TLS
CEF UDP, TCP, TLS
JSON UDP, TCP, HTTP, HTTPS
Splunk HTTPS

Read more at SIEM Audits page.

Available Audit Logs

Log when auth provider is read
Path Method Status Description
clientsPOST201Log when client is created successfully
clients:{clientId}GET200Log when client is read
clients:bootstrap:{clientId}GET200Log when client credential is read
clientsGET200Log when client search is performed
clients:{clientId}DELETE200Log when client is deleted
clients:{clientId}:restoreGET200Log when client is restored
config:authPOST201Log when new auth provider is saved
config:auth:{name}GET200
config:auth:{name}PUT200Log when auth provider is updated
config:auth:{name}:version:{version}GET404,200Log when auth provider is read by version
config:authGET200Log when auth provider is searched
config:auth:{name}:rollback:{version}PUT404,200Log when auth provider config is rolled back
config:auth:{name}DELETE200Log when auth provider config is deleted
config:auth:{name}:restoreGET200Log when auth provider config is restored
config:policies:{path}GET200Log when policy is read
config:policies:{path}:version:{version}GET404,200Log when policy is ready by version
config:policiesPOST201Log when policy is created
config:policies:{path}PUT200Log when policy is updated
config:policies:{path}:rollback:{version}PUT404,200Log when policy is rolled back
config:policiesGET200Log when policy is searched
config:policies:{path}DELETE200Log when policy is deleted
config:siemPOST201Log when siem endpoint is registered
config:siem:{name}PUT200Log when siem endpoint is updated
config:siem:{name}GET200Log when siem endpoint is read
config:siem:{name}DELETE200Log when siem endpoint is deleted
crypto:key:{path}POST201Log when new encryption key is created
crypto:rotatePOST201Log when data and key are rotated
crypto:key:{path}GET200Log when key metadata is read
crypto:key:{path}DELETE204Log when key is deleted
crypto:key:{path}:restorePUT204Log when key is restored
crypto:encryptPOST200Log when data is encrypted
crypto:decryptPOST200Log when data is decrypted
enginesPOST201Log when dsv engine is created
engines:{name}:pingPOST200Log when an engine is pinged
engines:{name}GET200Log when an engine is read
engines:{name}DELETE200Log when an engine is deleted
poolsPOST201Log when a pool is created
pools:{name}GET200Log when a pool is read
pools:{name}DELETE204Log when a pool is deleted
groupsPOST201Log when a group is created
groups:{name}:membersPOST200Log when a group member is added
groups:{name}GET200Log when a group is read
users:{name}:groupGET200Log when group members are read
groups:{name}:membersDELETE204Log when group members are deleted
groups:{name}DELETE200Log when group is deleted
groups:{name}:restoreGET200Log when group is restored
groupsGET200Log when groups are searched
pki:registerPOST201Log when CA root is saved
pki:rootPOST200Log when CA root is generated
pki:signPOST200Log when certificate is signed
pki:leafPOST200Log when leaf certificate & key are created
pki:ssh-certPOST200Log when SSH cert is saved/generated
rolesPOST201Log when role is created
roles:{name}PUT200Log when role is updated
roles:{name}GET200Log when role is read
roles:{name}:version:{version}GET200Log when role is read by version
rolesGET200Log when roles are searched
roles:{name}DELETE200Log when role is deleted
roles:{name}:restoreGET200Log when role is restored
task:status:{id}GET200Log when task status is read
tokenPOST200Log when user authenticates successfully
revoke:{refreshtoken}POST204Log when a refresh token is revoked
tokenPOST0Log when user authentication attempt fails
users:{name}PUT200Log when a user is updated
usersPOST201Log when a user is created
users:{name}:passwordPOST200Log when user password is updated
users:{name}GET200Log when user is read
users:{name}:version:{version}GET200Log when user is read by version
usersGET200Log when users are searched
users:{name}DELETE200Log when user is deleted
users:{name}:restoreGET200Log when user is restored
configGET500,404,200Log when config is read
config:version:{version}GET404,500,200Log when config is read by version
configPOST400,500,201Log when config is created or updated
secrets:{path,id}GET404,200Log when secret is read
secrets:{path,id}:version:{version}GET404,200Log when secret is read by version
secrets:{path,id}:rollback:{version}PUT404,200Log when secret is rolled back
secrets:{path,id}::descriptionGET404,200Log when secret is described
secrets:{path}::listpathsGET0Log when secret paths are listed [disabled]
secrets:{path}POST201Log when secret is created
secrets:{path,id}PUT200Log when secret is updated
secrets:{path,id}DELETE200Log when secret is deleted
secrets:{path,id}:restoreGET200Not logged
secretsGET200Log when secrets are searched
home:{principal}:{path}GET404,200Log when home secret is read
home:{principal}:{path}POST201Log when home secret is created
home:{principal}:{path}PUT200Log when home secret is updated
home:{principal}:{path}DELETE200Log when home secret is deleted
home:{principal}:{path}::descriptionGET404,200Log when home secret is described
home:{principal}GET200Log when home is searched
home:{principal}:{path}:version:{version}GET404,200Log when home secret is read by version