Documentation
¶
Overview ¶
Package audit provides audit logging functionality for security-sensitive operations.
Index ¶
- type AuditLoggerAdapter
- func (a *AuditLoggerAdapter) GetAuditEvents(limit int, filter map[string]string) ([]CredentialAuditEvent, error)
- func (a *AuditLoggerAdapter) GetCredentialAuditLogger() *CredentialAuditLogger
- func (a *AuditLoggerAdapter) GetStandardAuditLogger() *audit.AuditLogger
- func (a *AuditLoggerAdapter) LogAlert(message, alertType string, metadata map[string]string) error
- func (a *AuditLoggerAdapter) LogCredentialAccess(credentialID, service, operation string) error
- func (a *AuditLoggerAdapter) LogCredentialError(credentialID, service, operation string, err error) error
- func (a *AuditLoggerAdapter) LogKeyOperation(operation, keyID, details string) error
- func (a *AuditLoggerAdapter) RotateLogFile() error
- type CredentialAuditEvent
- type CredentialAuditLogger
- func (l *CredentialAuditLogger) GetAuditEvents(limit int, filter map[string]string) ([]CredentialAuditEvent, error)
- func (l *CredentialAuditLogger) LogAlert(message, alertType string, metadata map[string]string) error
- func (l *CredentialAuditLogger) LogCredentialAccess(credentialID, service, operation string) error
- func (l *CredentialAuditLogger) LogCredentialError(credentialID, service, operation string, err error) error
- func (l *CredentialAuditLogger) LogCredentialEvent(eventType string, credentialID string, service string, success bool, ...) error
- func (l *CredentialAuditLogger) RotateLogFile() error
- type CredentialAuditLoggerOptions
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 string, credentialID string, 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