mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-06 14:47:01 +02:00
115 lines
6.0 KiB
Go
115 lines
6.0 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
package audit
|
|
|
|
import (
|
|
"github.com/hashicorp/vault/sdk/logical"
|
|
)
|
|
|
|
// entry represents an audit entry.
|
|
// It could be an entry for a request or response.
|
|
type entry struct {
|
|
Auth *auth `json:"auth,omitempty"`
|
|
Error string `json:"error,omitempty"`
|
|
Forwarded bool `json:"forwarded,omitempty"`
|
|
ForwardedFrom string `json:"forwarded_from,omitempty"` // Populated in Enterprise when a request is forwarded
|
|
Request *request `json:"request,omitempty"`
|
|
Response *response `json:"response,omitempty"`
|
|
Time string `json:"time,omitempty"`
|
|
Type string `json:"type,omitempty"`
|
|
}
|
|
|
|
type request struct {
|
|
ClientCertificateSerialNumber string `json:"client_certificate_serial_number,omitempty"`
|
|
ClientID string `json:"client_id,omitempty"`
|
|
ClientToken string `json:"client_token,omitempty"`
|
|
ClientTokenAccessor string `json:"client_token_accessor,omitempty"`
|
|
Data map[string]interface{} `json:"data,omitempty"`
|
|
Headers map[string][]string `json:"headers,omitempty"`
|
|
ID string `json:"id,omitempty"`
|
|
MountAccessor string `json:"mount_accessor,omitempty"`
|
|
MountClass string `json:"mount_class,omitempty"`
|
|
MountIsExternalPlugin bool `json:"mount_is_external_plugin,omitempty"`
|
|
MountPoint string `json:"mount_point,omitempty"`
|
|
MountRunningSha256 string `json:"mount_running_sha256,omitempty"`
|
|
MountRunningVersion string `json:"mount_running_version,omitempty"`
|
|
MountType string `json:"mount_type,omitempty"`
|
|
Namespace *namespace `json:"namespace,omitempty"`
|
|
Operation logical.Operation `json:"operation,omitempty"`
|
|
Path string `json:"path,omitempty"`
|
|
PolicyOverride bool `json:"policy_override,omitempty"`
|
|
RemoteAddr string `json:"remote_address,omitempty"`
|
|
RemotePort int `json:"remote_port,omitempty"`
|
|
ReplicationCluster string `json:"replication_cluster,omitempty"`
|
|
RequestURI string `json:"request_uri,omitempty"`
|
|
WrapTTL int `json:"wrap_ttl,omitempty"`
|
|
}
|
|
|
|
type response struct {
|
|
Auth *auth `json:"auth,omitempty"`
|
|
Data map[string]interface{} `json:"data,omitempty"`
|
|
Headers map[string][]string `json:"headers,omitempty"`
|
|
MountAccessor string `json:"mount_accessor,omitempty"`
|
|
MountClass string `json:"mount_class,omitempty"`
|
|
MountIsExternalPlugin bool `json:"mount_is_external_plugin,omitempty"`
|
|
MountPoint string `json:"mount_point,omitempty"`
|
|
MountRunningSha256 string `json:"mount_running_sha256,omitempty"`
|
|
MountRunningVersion string `json:"mount_running_plugin_version,omitempty"`
|
|
MountType string `json:"mount_type,omitempty"`
|
|
Redirect string `json:"redirect,omitempty"`
|
|
Secret *secret `json:"secret,omitempty"`
|
|
WrapInfo *responseWrapInfo `json:"wrap_info,omitempty"`
|
|
Warnings []string `json:"warnings,omitempty"`
|
|
}
|
|
|
|
type auth struct {
|
|
Accessor string `json:"accessor,omitempty"`
|
|
ClientToken string `json:"client_token,omitempty"`
|
|
DisplayName string `json:"display_name,omitempty"`
|
|
EntityCreated bool `json:"entity_created,omitempty"`
|
|
EntityID string `json:"entity_id,omitempty"`
|
|
ExternalNamespacePolicies map[string][]string `json:"external_namespace_policies,omitempty"`
|
|
IdentityPolicies []string `json:"identity_policies,omitempty"`
|
|
Metadata map[string]string `json:"metadata,omitempty"`
|
|
NoDefaultPolicy bool `json:"no_default_policy,omitempty"`
|
|
NumUses int `json:"num_uses,omitempty"`
|
|
Policies []string `json:"policies,omitempty"`
|
|
PolicyResults *policyResults `json:"policy_results,omitempty"`
|
|
RemainingUses int `json:"remaining_uses,omitempty"`
|
|
TokenPolicies []string `json:"token_policies,omitempty"`
|
|
TokenIssueTime string `json:"token_issue_time,omitempty"`
|
|
TokenTTL int64 `json:"token_ttl,omitempty"`
|
|
TokenType string `json:"token_type,omitempty"`
|
|
}
|
|
|
|
type policyResults struct {
|
|
Allowed bool `json:"allowed"`
|
|
GrantingPolicies []policyInfo `json:"granting_policies,omitempty"`
|
|
}
|
|
|
|
type policyInfo struct {
|
|
Name string `json:"name,omitempty"`
|
|
NamespaceId string `json:"namespace_id,omitempty"`
|
|
NamespacePath string `json:"namespace_path,omitempty"`
|
|
Type string `json:"type"`
|
|
}
|
|
|
|
type secret struct {
|
|
LeaseID string `json:"lease_id,omitempty"`
|
|
}
|
|
|
|
type responseWrapInfo struct {
|
|
Accessor string `json:"accessor,omitempty"`
|
|
CreationPath string `json:"creation_path,omitempty"`
|
|
CreationTime string `json:"creation_time,omitempty"`
|
|
Token string `json:"token,omitempty"`
|
|
TTL int `json:"ttl,omitempty"`
|
|
WrappedAccessor string `json:"wrapped_accessor,omitempty"`
|
|
}
|
|
|
|
type namespace struct {
|
|
ID string `json:"id,omitempty"`
|
|
Path string `json:"path,omitempty"`
|
|
}
|