audit

package
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 13, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package audit provides audit logging functionality for security-sensitive operations.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuditLoggerAdapter

type AuditLoggerAdapter struct {
	// contains filtered or unexported fields
}

AuditLoggerAdapter adapts our CredentialAuditLogger to the existing audit.AuditLogger interface

func NewAuditLoggerAdapter

func NewAuditLoggerAdapter(credentialLogger *CredentialAuditLogger, writer io.Writer, user string) *AuditLoggerAdapter

NewAuditLoggerAdapter creates a new audit logger adapter

func NewNullAuditLoggerAdapter

func NewNullAuditLoggerAdapter() *AuditLoggerAdapter

NewNullAuditLoggerAdapter creates a new audit logger adapter with null loggers This is useful for testing or when audit logging is not required

func (*AuditLoggerAdapter) GetAuditEvents

func (a *AuditLoggerAdapter) GetAuditEvents(limit int, filter map[string]string) ([]CredentialAuditEvent, error)

GetAuditEvents returns audit events from the credential logger

func (*AuditLoggerAdapter) GetCredentialAuditLogger

func (a *AuditLoggerAdapter) GetCredentialAuditLogger() *CredentialAuditLogger

GetCredentialAuditLogger returns the credential audit logger

func (*AuditLoggerAdapter) GetStandardAuditLogger

func (a *AuditLoggerAdapter) GetStandardAuditLogger() *audit.AuditLogger

GetStandardAuditLogger returns the standard audit logger

func (*AuditLoggerAdapter) LogAlert

func (a *AuditLoggerAdapter) LogAlert(message, alertType string, metadata map[string]string) error

LogAlert logs an alert event

func (*AuditLoggerAdapter) LogCredentialAccess

func (a *AuditLoggerAdapter) LogCredentialAccess(credentialID, service, operation string) error

LogCredentialAccess logs a credential access event

func (*AuditLoggerAdapter) LogCredentialError

func (a *AuditLoggerAdapter) LogCredentialError(credentialID, service, operation string, err error) error

LogCredentialError logs a credential error event

func (*AuditLoggerAdapter) LogKeyOperation

func (a *AuditLoggerAdapter) LogKeyOperation(operation, keyID, details string) error

LogKeyOperation logs a key operation event

func (*AuditLoggerAdapter) RotateLogFile

func (a *AuditLoggerAdapter) RotateLogFile() error

RotateLogFile rotates the credential audit log file

type CredentialAuditEvent

type CredentialAuditEvent struct {
	// Timestamp is the time of the event
	Timestamp time.Time `json:"timestamp"`
	// EventType is the type of event (access, create, update, delete, rotate)
	EventType string `json:"event_type"`
	// CredentialID is the ID of the credential
	CredentialID string `json:"credential_id"`
	// Service is the service the credential is for
	Service string `json:"service,omitempty"`
	// UserID is the ID of the user who performed the operation
	UserID string `json:"user_id,omitempty"`
	// SourceIP is the IP address of the user
	SourceIP string `json:"source_ip,omitempty"`
	// Success indicates whether the operation was successful
	Success bool `json:"success"`
	// ErrorMessage is the error message if the operation failed
	ErrorMessage string `json:"error_message,omitempty"`
	// Metadata is additional metadata for the event
	Metadata map[string]string `json:"metadata,omitempty"`
}

CredentialAuditEvent represents an audit event for credential operations

type CredentialAuditLogger

type CredentialAuditLogger struct {
	// contains filtered or unexported fields
}

CredentialAuditLogger logs credential audit events

func NewCredentialAuditLogger

func NewCredentialAuditLogger(filePath string, options CredentialAuditLoggerOptions) (*CredentialAuditLogger, error)

NewCredentialAuditLogger creates a new credential audit logger

func (*CredentialAuditLogger) GetAuditEvents

func (l *CredentialAuditLogger) GetAuditEvents(limit int, filter map[string]string) ([]CredentialAuditEvent, error)

GetAuditEvents returns audit events from the log file

func (*CredentialAuditLogger) LogAlert

func (l *CredentialAuditLogger) LogAlert(message, alertType string, metadata map[string]string) error

LogAlert logs an alert event

func (*CredentialAuditLogger) LogCredentialAccess

func (l *CredentialAuditLogger) LogCredentialAccess(credentialID, service, operation string) error

LogCredentialAccess logs a credential access event

func (*CredentialAuditLogger) LogCredentialError

func (l *CredentialAuditLogger) LogCredentialError(credentialID, service, operation string, err error) error

LogCredentialError logs a credential error event

func (*CredentialAuditLogger) LogCredentialEvent

func (l *CredentialAuditLogger) LogCredentialEvent(eventType, credentialID, service string, success bool, errorMessage string, metadata map[string]string) error

LogCredentialEvent logs a credential event

func (*CredentialAuditLogger) RotateLogFile

func (l *CredentialAuditLogger) RotateLogFile() error

RotateLogFile rotates the audit log file

type CredentialAuditLoggerOptions

type CredentialAuditLoggerOptions struct {
	// UserIDProvider provides the current user ID
	UserIDProvider func() string
	// SourceIPProvider provides the source IP address
	SourceIPProvider func() string
}

CredentialAuditLoggerOptions contains options for creating a credential audit logger

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL