compliance

package
v0.0.0-...-17e6b21 Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AlertStatus

type AlertStatus string
const (
	AlertStatusOpen     AlertStatus = "open"
	AlertStatusResolved AlertStatus = "resolved"
	AlertStatusIgnored  AlertStatus = "ignored"
)

type AuditEntry

type AuditEntry struct {
	Timestamp time.Time
	Action    string
	Resource  string
	Result    string
	Metadata  map[string]interface{}
}

type CheckResult

type CheckResult struct {
	Compliant    bool
	Details      string
	ViolationIDs []string
	Evidence     map[string]interface{}
	Timestamp    time.Time
}

type ComplianceAlert

type ComplianceAlert struct {
	ID          string
	RuleID      string
	Severity    string
	Status      AlertStatus
	Description string
	CreatedAt   time.Time
	ResolvedAt  time.Time
	Evidence    map[string]interface{}
	Resolution  string
}

type ComplianceCheck

type ComplianceCheck func(context.Context, *keystore.KeyMetadata) (*CheckResult, error)

type ComplianceChecker

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

func NewComplianceChecker

func NewComplianceChecker(
	keyStore *keystore.HSMKeyStore,
	metrics *metrics.QuantumStorageMetrics,
	tracer tracing.Tracer,
) *ComplianceChecker

func (*ComplianceChecker) AddRule

func (cc *ComplianceChecker) AddRule(rule *ComplianceRule) error

func (*ComplianceChecker) CheckCompliance

func (cc *ComplianceChecker) CheckCompliance(ctx context.Context, keyID string) ([]*CheckResult, error)

func (*ComplianceChecker) GetDefaultRules

func (cc *ComplianceChecker) GetDefaultRules() []*ComplianceRule

type ComplianceMonitor

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

func NewComplianceMonitor

func NewComplianceMonitor(
	metrics *metrics.QuantumStorageMetrics,
	tracer tracing.Tracer,
	checker *ComplianceChecker,
	reporter *ComplianceReporter,
) *ComplianceMonitor

func (*ComplianceMonitor) ResolveAlert

func (cm *ComplianceMonitor) ResolveAlert(ctx context.Context, alertID string, resolution string) error

func (*ComplianceMonitor) StartMonitoring

func (cm *ComplianceMonitor) StartMonitoring(ctx context.Context, interval time.Duration) error

type ComplianceReport

type ComplianceReport struct {
	ID              string
	Timestamp       time.Time
	Standard        string
	Requirements    map[string]RequirementStatus
	ViolationCount  int
	Score           float64
	Recommendations []string
	AuditTrail      []AuditEntry
}

type ComplianceReporter

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

func NewComplianceReporter

func NewComplianceReporter(
	metrics *metrics.QuantumStorageMetrics,
	tracer tracing.Tracer,
) *ComplianceReporter

func (*ComplianceReporter) AddAuditEntry

func (cr *ComplianceReporter) AddAuditEntry(ctx context.Context, reportID string, entry AuditEntry) error

func (*ComplianceReporter) GenerateReport

func (cr *ComplianceReporter) GenerateReport(ctx context.Context, standard string) (*ComplianceReport, error)

type ComplianceRule

type ComplianceRule struct {
	ID          string
	Name        string
	Description string
	Standard    string
	Category    string
	Severity    string
	Check       ComplianceCheck
	Remediation RemediationAction
	Metadata    map[string]string
}

type ComplianceStatus

type ComplianceStatus string
const (
	StatusCompliant     ComplianceStatus = "compliant"
	StatusNonCompliant  ComplianceStatus = "non_compliant"
	StatusInProgress    ComplianceStatus = "in_progress"
	StatusNotApplicable ComplianceStatus = "not_applicable"
)

type RemediationAction

type RemediationAction func(context.Context, *keystore.KeyMetadata) error

type RequirementStatus

type RequirementStatus struct {
	ID          string
	Name        string
	Status      ComplianceStatus
	LastChecked time.Time
	Evidence    map[string]interface{}
	Violations  []Violation
}

type Violation

type Violation struct {
	ID          string
	Severity    string
	Description string
	Resource    string
	Timestamp   time.Time
	Resolution  string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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