Documentation
¶
Index ¶
- type AuditEvent
- type AuditIssue
- type AuditLogger
- type AuditResult
- type AuditSummary
- type ComplianceControl
- type ComplianceResult
- type ComplianceSummary
- type DefaultSecurityService
- func (s *DefaultSecurityService) AuditPermissions(ctx context.Context, resource string) (*AuditResult, error)
- func (s *DefaultSecurityService) CheckCompliance(ctx context.Context, standard string) (*ComplianceResult, error)
- func (s *DefaultSecurityService) GenerateSecurityReport(ctx context.Context, options ReportOptions) (*SecurityReport, error)
- func (s *DefaultSecurityService) MonitorSecurityEvents(ctx context.Context) (<-chan SecurityEvent, error)
- func (s *DefaultSecurityService) ScanVulnerabilities(ctx context.Context, target string) (*ScanResult, error)
- func (s *DefaultSecurityService) ValidateSecurityPolicies(ctx context.Context, policies []Policy) (*ValidationResult, error)
- type Encryptor
- type ExecutiveSummary
- type KeyManager
- type Permission
- type Policy
- type PolicyRule
- type PolicyValidation
- type ReportOptions
- type ScanResult
- type ScanSummary
- type SecurityConfig
- type SecurityEvent
- type SecurityManager
- type SecurityReport
- type SecurityService
- type ValidationIssue
- type ValidationResult
- type ValidationSummary
- type ValidationWarning
- type Vulnerability
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuditEvent ¶
type AuditEvent struct {
ID string `json:"id"`
Timestamp time.Time `json:"timestamp"`
EventType string `json:"event_type"`
User string `json:"user"`
Resource string `json:"resource"`
Action string `json:"action"`
Result string `json:"result"`
Details map[string]interface{} `json:"details"`
IPAddress string `json:"ip_address"`
UserAgent string `json:"user_agent"`
SessionID string `json:"session_id"`
Severity string `json:"severity"`
Compliance []string `json:"compliance"`
}
AuditEvent represents an audit event
type AuditIssue ¶
type AuditIssue struct {
Type string `json:"type"`
Severity string `json:"severity"`
Description string `json:"description"`
Resource string `json:"resource"`
Principal string `json:"principal"`
Recommendation string `json:"recommendation"`
}
AuditIssue represents an audit issue
type AuditLogger ¶
type AuditLogger struct {
// contains filtered or unexported fields
}
AuditLogger handles audit logging
func NewAuditLogger ¶
func NewAuditLogger(config *SecurityConfig) (*AuditLogger, error)
NewAuditLogger creates a new audit logger
func (*AuditLogger) LogEvent ¶
func (al *AuditLogger) LogEvent(event *AuditEvent) error
LogEvent logs an audit event
type AuditResult ¶
type AuditResult struct {
ID string `json:"id"`
Resource string `json:"resource"`
Timestamp time.Time `json:"timestamp"`
Permissions []Permission `json:"permissions"`
Issues []AuditIssue `json:"issues"`
Summary AuditSummary `json:"summary"`
}
AuditResult represents permission audit results
type AuditSummary ¶
type AuditSummary struct {
TotalPermissions int `json:"total_permissions"`
CriticalIssues int `json:"critical_issues"`
HighIssues int `json:"high_issues"`
MediumIssues int `json:"medium_issues"`
LowIssues int `json:"low_issues"`
}
AuditSummary provides a summary of audit results
type ComplianceControl ¶
type ComplianceControl struct {
ID string `json:"id"`
Title string `json:"title"`
Description string `json:"description"`
Status string `json:"status"`
Evidence string `json:"evidence"`
Remediation string `json:"remediation"`
}
ComplianceControl represents a single compliance control
type ComplianceResult ¶
type ComplianceResult struct {
ID string `json:"id"`
Standard string `json:"standard"`
Timestamp time.Time `json:"timestamp"`
Status string `json:"status"`
Score float64 `json:"score"`
Controls []ComplianceControl `json:"controls"`
Summary ComplianceSummary `json:"summary"`
}
ComplianceResult represents compliance check results
type ComplianceSummary ¶
type ComplianceSummary struct {
TotalControls int `json:"total_controls"`
PassedControls int `json:"passed_controls"`
FailedControls int `json:"failed_controls"`
WarningControls int `json:"warning_controls"`
}
ComplianceSummary provides a summary of compliance results
type DefaultSecurityService ¶
type DefaultSecurityService struct {
// contains filtered or unexported fields
}
DefaultSecurityService provides a default implementation
func (*DefaultSecurityService) AuditPermissions ¶
func (s *DefaultSecurityService) AuditPermissions(ctx context.Context, resource string) (*AuditResult, error)
AuditPermissions performs permission audits
func (*DefaultSecurityService) CheckCompliance ¶
func (s *DefaultSecurityService) CheckCompliance(ctx context.Context, standard string) (*ComplianceResult, error)
CheckCompliance performs compliance checks
func (*DefaultSecurityService) GenerateSecurityReport ¶
func (s *DefaultSecurityService) GenerateSecurityReport(ctx context.Context, options ReportOptions) (*SecurityReport, error)
GenerateSecurityReport generates a comprehensive security report
func (*DefaultSecurityService) MonitorSecurityEvents ¶
func (s *DefaultSecurityService) MonitorSecurityEvents(ctx context.Context) (<-chan SecurityEvent, error)
MonitorSecurityEvents monitors security events
func (*DefaultSecurityService) ScanVulnerabilities ¶
func (s *DefaultSecurityService) ScanVulnerabilities(ctx context.Context, target string) (*ScanResult, error)
ScanVulnerabilities performs a vulnerability scan
func (*DefaultSecurityService) ValidateSecurityPolicies ¶
func (s *DefaultSecurityService) ValidateSecurityPolicies(ctx context.Context, policies []Policy) (*ValidationResult, error)
ValidateSecurityPolicies validates security policies
type Encryptor ¶
type Encryptor struct {
// contains filtered or unexported fields
}
Encryptor handles encryption operations
func NewEncryptor ¶
func NewEncryptor(keyManager *KeyManager) *Encryptor
NewEncryptor creates a new encryptor
type ExecutiveSummary ¶
type ExecutiveSummary struct {
OverallRiskScore float64 `json:"overall_risk_score"`
CriticalFindings int `json:"critical_findings"`
HighPriorityFindings int `json:"high_priority_findings"`
ComplianceScore float64 `json:"compliance_score"`
KeyRecommendations []string `json:"key_recommendations"`
}
ExecutiveSummary provides a high-level summary
type KeyManager ¶
type KeyManager struct {
// contains filtered or unexported fields
}
KeyManager manages encryption keys
func NewKeyManager ¶
func NewKeyManager(config *SecurityConfig) (*KeyManager, error)
NewKeyManager creates a new key manager
func (*KeyManager) GenerateKey ¶
func (km *KeyManager) GenerateKey(name string) ([]byte, error)
GenerateKey generates a new key
type Permission ¶
type Permission struct {
Principal string `json:"principal"`
Actions []string `json:"actions"`
Resource string `json:"resource"`
Effect string `json:"effect"`
Conditions map[string]string `json:"conditions"`
}
Permission represents a permission entry
type Policy ¶
type Policy struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Type string `json:"type"`
Rules []PolicyRule `json:"rules"`
Metadata map[string]string `json:"metadata"`
}
Policy represents a security policy
type PolicyRule ¶
type PolicyRule struct {
ID string `json:"id"`
Condition string `json:"condition"`
Action string `json:"action"`
Parameters map[string]string `json:"parameters"`
Enabled bool `json:"enabled"`
}
PolicyRule represents a rule within a policy
type PolicyValidation ¶
type PolicyValidation struct {
PolicyID string `json:"policy_id"`
Status string `json:"status"`
Issues []ValidationIssue `json:"issues"`
Warnings []ValidationWarning `json:"warnings"`
}
PolicyValidation represents validation results for a single policy
type ReportOptions ¶
type ReportOptions struct {
Type string `json:"type"`
Targets []string `json:"targets"`
Standards []string `json:"standards"`
IncludeDetails bool `json:"include_details"`
Format string `json:"format"`
}
ReportOptions defines options for generating security reports
type ScanResult ¶
type ScanResult struct {
ID string `json:"id"`
Target string `json:"target"`
Timestamp time.Time `json:"timestamp"`
Status string `json:"status"`
Summary ScanSummary `json:"summary"`
Vulnerabilities []Vulnerability `json:"vulnerabilities"`
Recommendations []string `json:"recommendations"`
}
ScanResult represents the result of a security scan
type ScanSummary ¶
type ScanSummary struct {
TotalChecks int `json:"total_checks"`
CriticalIssues int `json:"critical_issues"`
HighIssues int `json:"high_issues"`
MediumIssues int `json:"medium_issues"`
LowIssues int `json:"low_issues"`
InfoIssues int `json:"info_issues"`
}
ScanSummary provides a summary of scan results
type SecurityConfig ¶
type SecurityConfig struct {
Encryption bool `json:"encryption" yaml:"encryption"`
AuditLogging bool `json:"audit_logging" yaml:"audit_logging"`
KeyManagement string `json:"key_management" yaml:"key_management"`
ComplianceMode string `json:"compliance_mode" yaml:"compliance_mode"`
AuditLogPath string `json:"audit_log_path" yaml:"audit_log_path"`
KeyStorePath string `json:"key_store_path" yaml:"key_store_path"`
RotationPeriod int `json:"rotation_period" yaml:"rotation_period"`
}
SecurityConfig represents security configuration
type SecurityEvent ¶
type SecurityEvent struct {
ID string `json:"id"`
Type string `json:"type"`
Timestamp time.Time `json:"timestamp"`
Source string `json:"source"`
Severity string `json:"severity"`
Description string `json:"description"`
Details map[string]string `json:"details"`
Actions []string `json:"actions"`
}
SecurityEvent represents a security event
type SecurityManager ¶
type SecurityManager struct {
// contains filtered or unexported fields
}
Enhanced Security Manager with Encryption and Audit Logging
func NewSecurityManager ¶
func NewSecurityManager(config *SecurityConfig) (*SecurityManager, error)
NewSecurityManager creates a new security manager
func (*SecurityManager) EncryptSensitiveData ¶
func (sm *SecurityManager) EncryptSensitiveData(data map[string]interface{}) (map[string]interface{}, error)
EncryptSensitiveData encrypts sensitive configuration data
func (*SecurityManager) LogSecurityEvent ¶
func (sm *SecurityManager) LogSecurityEvent(eventType, user, resource, action, result string, details map[string]interface{}) error
LogSecurityEvent logs a security-related event
type SecurityReport ¶
type SecurityReport struct {
ID string `json:"id"`
Timestamp time.Time `json:"timestamp"`
Type string `json:"type"`
ExecutiveSummary ExecutiveSummary `json:"executive_summary"`
ScanResults []ScanResult `json:"scan_results"`
ComplianceResults []ComplianceResult `json:"compliance_results"`
AuditResults []AuditResult `json:"audit_results"`
Recommendations []string `json:"recommendations"`
}
SecurityReport represents a comprehensive security report
type SecurityService ¶
type SecurityService interface {
ScanVulnerabilities(ctx context.Context, target string) (*ScanResult, error)
CheckCompliance(ctx context.Context, standard string) (*ComplianceResult, error)
AuditPermissions(ctx context.Context, resource string) (*AuditResult, error)
MonitorSecurityEvents(ctx context.Context) (<-chan SecurityEvent, error)
GenerateSecurityReport(ctx context.Context, options ReportOptions) (*SecurityReport, error)
ValidateSecurityPolicies(ctx context.Context, policies []Policy) (*ValidationResult, error)
}
SecurityService interface defines security-related operations
func NewSecurityService ¶
func NewSecurityService(cfg *config.Config) SecurityService
NewSecurityService creates a new security service
type ValidationIssue ¶
type ValidationIssue struct {
Type string `json:"type"`
Severity string `json:"severity"`
Description string `json:"description"`
RuleID string `json:"rule_id"`
Solution string `json:"solution"`
}
ValidationIssue represents a validation issue
type ValidationResult ¶
type ValidationResult struct {
ID string `json:"id"`
Timestamp time.Time `json:"timestamp"`
Status string `json:"status"`
Policies []PolicyValidation `json:"policies"`
Summary ValidationSummary `json:"summary"`
}
ValidationResult represents policy validation results
type ValidationSummary ¶
type ValidationSummary struct {
TotalPolicies int `json:"total_policies"`
ValidPolicies int `json:"valid_policies"`
InvalidPolicies int `json:"invalid_policies"`
TotalIssues int `json:"total_issues"`
TotalWarnings int `json:"total_warnings"`
}
ValidationSummary provides a summary of validation results
type ValidationWarning ¶
type ValidationWarning struct {
Type string `json:"type"`
Description string `json:"description"`
RuleID string `json:"rule_id"`
Suggestion string `json:"suggestion"`
}
ValidationWarning represents a validation warning
type Vulnerability ¶
type Vulnerability struct {
ID string `json:"id"`
Title string `json:"title"`
Description string `json:"description"`
Severity string `json:"severity"`
CVSS float64 `json:"cvss"`
CVE string `json:"cve,omitempty"`
Component string `json:"component"`
Version string `json:"version"`
Solution string `json:"solution"`
References []string `json:"references"`
Metadata map[string]string `json:"metadata"`
}
Vulnerability represents a security vulnerability