SourcesSource TypesHashiCorp Vault

HashiCorp Vault

Collect audit logs from your HashiCorp Vault instance, showing who accessed what secrets, when, and from where.

HashiCorp Vault audit logs can be ingested via S3 object storage.

Ingest Methods

Setup the ingestion of this source using one of the following guides.

If using an AWS S3 bucket use the following SNS topic ARN to send your bucket notifications.

arn:aws:sns:<REGION>:253602268883:runreveal_hashicorp_vault

Setup

Configure your HashiCorp Vault instance to send audit logs to an S3 bucket.

  1. Enable audit logging in your Vault configuration
  2. Configure Vault to write audit logs to an S3 bucket
  3. In RunReveal, create a new HashiCorp Vault source
  4. Configure the S3 bucket connection

Verify It’s Working

Once added, the source logs should begin flowing within a few minutes.

You can validate we are receiving your logs by running the following SQL query.

SELECT * FROM runreveal.logs WHERE sourceType = 'hashicorp-vault' LIMIT 1

Schema

The following columns are exposed for this source. RunReveal applies schema normalization across all sources, ensuring uniform field names and data types for cross-source queries and reusable detection logic.

Table: hashicorp_vault_logs (87 columns)

ColumnType
workspaceIDString
sourceIDString
sourceTypeString
sourceTTLUInt32
receivedAtDateTime
idString
eventTimeDateTime
eventNameString
eventIDString
srcIPString
srcASCountryCodeString
srcASNumberUInt32
srcASOrganizationString
srcCityString
srcConnectionTypeString
srcISPString
srcLatitudeFloat64
srcLongitudeFloat64
srcUserTypeString
dstIPString
dstASCountryCodeString
dstASNumberUInt32
dstASOrganizationString
dstCityString
dstConnectionTypeString
dstISPString
dstLatitudeFloat64
dstLongitudeFloat64
dstUserTypeString
actorMap(String, String)
tagsMap(String, String)
resourcesArray(String)
serviceNameString
enrichmentsArray(Tuple(data Map(String, String), name String, provider String, type String, value String))
readOnlyBool
rawLogString
AccessorString
ClientTokenString
DisplayNameString
EntityIDString
AuthIdentityPoliciesArray(String)
AuthPoliciesArray(String)
AuthTokenPoliciesArray(String)
TokenIssueTimeNullable(DateTime)
ColumnType
TokenTTLInt64
TokenTypeString
AuthMetaRoleString
AuthPolicyResultsAllowedBool
AuthPolicyResultsGrantingPoliciesString
RequestClientIDString
RequestClientTokenString
RequestClientAccessorString
RequestIDString
RequestMountAccessorString
RequestMountClassString
RequestMountPointString
RequestMountRunningVersionString
RequestMountTypeString
RequestOperationString
RequestPathString
RequestRemoteAddressString
RequestRemotePortInt
RequestNamespaceIDString
ResponseMountAccessorString
ResponseMountClassString
ResponseMountPointString
ResponseMountRunningPluginVersionString
ResponseMountTypeString
ResponseDataAccessorString
ResponseDataCreationTimeInt
ResponseDataCreationTTLInt
ResponseDataDisplayNameString
ResponseDataEntityIDString
ResponseDataExpireTimeNullable(DateTime)
ResponseDataExplicitMaxTTLInt
ResponseDataIDString
ResponseDataIdentityPoliciesArray(String)
ResponseDataIssueTimeNullable(DateTime)
ResponseDataNumUsesInt
ResponseDataOrphanBool
ResponseDataPathString
ResponseDataPoliciesArray(String)
ResponseDataRenewableBool
ResponseDataTTLInt
ResponseDataTypeString
ResponseDataMetaRoleString
ResponseDataExternalNamespacePoliciesString