Documentation
¶
Index ¶
- func HashRequest(data interface{}) []byte
- type AttestationVerifier
- type AuditQuery
- type AuditService
- func (s *AuditService) GetAuditLogByID(ctx context.Context, id string) (*blackicev1.AuditLogEntry, error)
- func (s *AuditService) GetAuditLogs(ctx context.Context, query *AuditQuery) ([]*blackicev1.AuditLogEntry, string, error)
- func (s *AuditService) LogEvent(ctx context.Context, entry *blackicev1.AuditLogEntry)
- func (s *AuditService) LogEventSync(ctx context.Context, entry *blackicev1.AuditLogEntry) error
- func (s *AuditService) Shutdown()
- type AuditStorage
- type FileAuditStorage
- func (s *FileAuditStorage) GetByID(ctx context.Context, id string) (*blackicev1.AuditLogEntry, error)
- func (s *FileAuditStorage) Query(ctx context.Context, query *AuditQuery) ([]*blackicev1.AuditLogEntry, string, error)
- func (s *FileAuditStorage) Store(ctx context.Context, entry *blackicev1.AuditLogEntry) error
- type MemoryAuditStorage
- func (s *MemoryAuditStorage) GetByID(ctx context.Context, id string) (*blackicev1.AuditLogEntry, error)
- func (s *MemoryAuditStorage) Query(ctx context.Context, query *AuditQuery) ([]*blackicev1.AuditLogEntry, string, error)
- func (s *MemoryAuditStorage) Store(ctx context.Context, entry *blackicev1.AuditLogEntry) error
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
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 ¶
func (s *FileAuditStorage) GetByID(ctx context.Context, id string) (*blackicev1.AuditLogEntry, error)
GetByID retrieves an audit log by its ID
func (*FileAuditStorage) Query ¶
func (s *FileAuditStorage) Query(ctx context.Context, query *AuditQuery) ([]*blackicev1.AuditLogEntry, string, error)
Query retrieves audit logs based on query parameters
func (*FileAuditStorage) Store ¶
func (s *FileAuditStorage) Store(ctx context.Context, entry *blackicev1.AuditLogEntry) error
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 ¶
func (s *MemoryAuditStorage) GetByID(ctx context.Context, id string) (*blackicev1.AuditLogEntry, error)
GetByID retrieves an audit log by its ID
func (*MemoryAuditStorage) Query ¶
func (s *MemoryAuditStorage) Query(ctx context.Context, query *AuditQuery) ([]*blackicev1.AuditLogEntry, string, error)
Query retrieves audit logs based on query parameters
func (*MemoryAuditStorage) Store ¶
func (s *MemoryAuditStorage) Store(ctx context.Context, entry *blackicev1.AuditLogEntry) error
Store stores an audit log entry in memory