audit

package
v0.0.0-...-3fabec7 Latest Latest
Warning

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

Go to latest
Published: May 27, 2025 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HashRequest

func HashRequest(data interface{}) []byte

HashRequest creates a SHA-256 hash of request data for audit logs

Types

type AttestationVerifier

type AttestationVerifier interface {
	Verify(ctx context.Context, attestation *blackicev1.Attestation) (bool, error)
}

AttestationVerifier verifies attestations in audit logs

type AuditQuery

type AuditQuery struct {
	StartTime  time.Time
	EndTime    time.Time
	UserIDs    []string
	Components []string
	Actions    []string
	Resources  []string
	PageSize   int
	PageToken  string
}

AuditQuery defines parameters for querying audit logs

type AuditService

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

AuditService provides audit logging capabilities for the Control Plane

func NewAuditService

func NewAuditService(cfg *config.ControlPlaneConfig, verifier AttestationVerifier) (*AuditService, error)

NewAuditService creates a new audit service

func (*AuditService) GetAuditLogByID

func (s *AuditService) GetAuditLogByID(ctx context.Context, id string) (*blackicev1.AuditLogEntry, error)

GetAuditLogByID retrieves a specific audit log by ID

func (*AuditService) GetAuditLogs

func (s *AuditService) GetAuditLogs(ctx context.Context, query *AuditQuery) ([]*blackicev1.AuditLogEntry, string, error)

GetAuditLogs retrieves audit logs based on query parameters

func (*AuditService) LogEvent

func (s *AuditService) LogEvent(ctx context.Context, entry *blackicev1.AuditLogEntry)

LogEvent asynchronously logs an audit event

func (*AuditService) LogEventSync

func (s *AuditService) LogEventSync(ctx context.Context, entry *blackicev1.AuditLogEntry) error

LogEventSync synchronously logs an audit event

func (*AuditService) Shutdown

func (s *AuditService) Shutdown()

Shutdown stops the audit service

type AuditStorage

type AuditStorage interface {
	Store(ctx context.Context, entry *blackicev1.AuditLogEntry) error
	Query(ctx context.Context, query *AuditQuery) ([]*blackicev1.AuditLogEntry, string, error)
	GetByID(ctx context.Context, id string) (*blackicev1.AuditLogEntry, error)
}

AuditStorage defines the interface for audit log storage

type FileAuditStorage

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

FileAuditStorage implements audit storage using files

func NewFileAuditStorage

func NewFileAuditStorage(basePath string) (*FileAuditStorage, error)

NewFileAuditStorage creates a new file-based audit storage

func (*FileAuditStorage) GetByID

GetByID retrieves an audit log by its ID

func (*FileAuditStorage) Query

Query retrieves audit logs based on query parameters

func (*FileAuditStorage) Store

Store stores an audit log entry in a file

type MemoryAuditStorage

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

MemoryAuditStorage implements in-memory audit storage

func NewMemoryAuditStorage

func NewMemoryAuditStorage(retentionDays int) *MemoryAuditStorage

NewMemoryAuditStorage creates a new memory-based audit storage

func (*MemoryAuditStorage) GetByID

GetByID retrieves an audit log by its ID

func (*MemoryAuditStorage) Query

Query retrieves audit logs based on query parameters

func (*MemoryAuditStorage) Store

Store stores an audit log entry in memory

Jump to

Keyboard shortcuts

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