secure

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: May 8, 2023 License: MPL-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CloudAccount added in v0.5.17

type CloudAccount struct {
	AccountID                    string `json:"accountId"`
	Provider                     string `json:"provider"`
	Alias                        string `json:"alias"`
	RoleAvailable                bool   `json:"roleAvailable"`
	RoleName                     string `json:"roleName"`
	ExternalID                   string `json:"externalId,omitempty"`
	WorkLoadIdentityAccountID    string `json:"workloadIdentityAccountId,omitempty"`
	WorkLoadIdentityAccountAlias string `json:"workLoadIdentityAccountAlias,omitempty"`
}

func CloudAccountFromJSON added in v0.5.17

func CloudAccountFromJSON(body []byte) *CloudAccount

func (*CloudAccount) ToJSON added in v0.5.17

func (e *CloudAccount) ToJSON() io.Reader

type Condition

type Condition struct {
	Condition  string        `json:"condition"`
	Components []interface{} `json:"components"`
}

type Containers

type Containers struct {
	Items      []string `json:"items"`
	MatchItems bool     `json:"matchItems"`
}

type Details

type Details struct {
	// Containers
	Containers *Containers `json:"containers,omitempty"`

	// Filesystems
	ReadWritePaths *ReadWritePaths `json:"readWritePaths,omitempty"`
	ReadPaths      *ReadPaths      `json:"readPaths,omitempty"`

	// Network
	AllOutbound    bool            `json:"allOutbound,omitempty"`
	AllInbound     bool            `json:"allInbound,omitempty"`
	TCPListenPorts *TCPListenPorts `json:"tcpListenPorts,omitempty"`
	UDPListenPorts *UDPListenPorts `json:"udpListenPorts,omitempty"`

	// Processes
	Processes *Processes `json:"processes,omitempty"`

	// Syscalls
	Syscalls *Syscalls `json:"syscalls,omitempty"`

	// Falco
	Append     *bool        `json:"append,omitempty"`
	Source     string       `json:"source,omitempty"`
	Output     string       `json:"output,omitempty"`
	Condition  *Condition   `json:"condition,omitempty"`
	Priority   string       `json:"priority,omitempty"`
	Exceptions []*Exception `json:"exceptions,omitempty"`

	RuleType string `json:"ruleType"`
}

type Exception added in v0.5.16

type Exception struct {
	Name   string      `json:"name"`
	Fields interface{} `json:"fields,omitempty"`
	Comps  interface{} `json:"comps,omitempty"`
	Values interface{} `json:"values,omitempty"`
}

type Processes

type Processes struct {
	Items      []string `json:"items"`
	MatchItems bool     `json:"matchItems"`
}

type ReadPaths

type ReadPaths struct {
	Items      []string `json:"items"`
	MatchItems bool     `json:"matchItems"`
}

type ReadWritePaths

type ReadWritePaths struct {
	Items      []string `json:"items"`
	MatchItems bool     `json:"matchItems"`
}

type Rule

type Rule struct {
	ID          int      `json:"id,omitempty"`
	Name        string   `json:"name"`
	Description string   `json:"description,omitempty"`
	Tags        []string `json:"tags"`
	Details     Details  `json:"details"`
	Version     int      `json:"version,omitempty"`
}

func RuleFromJSON

func RuleFromJSON(body []byte) (rule Rule, err error)

func (*Rule) ToJSON

func (r *Rule) ToJSON() io.Reader

type ScanningGate added in v0.5.48

type ScanningGate struct {
	ID      string              `json:"id,omitempty"`
	Gate    string              `json:"gate"`
	Trigger string              `json:"trigger"`
	Action  string              `json:"action"`
	Params  []ScanningGateParam `json:"params"`
}

type ScanningGateParam added in v0.5.48

type ScanningGateParam struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

type ScanningPolicy added in v0.5.48

type ScanningPolicy struct {
	ID             string         `json:"id,omitempty"`
	Version        string         `json:"version,omitempty"`
	Name           string         `json:"name"`
	Comment        string         `json:"comment"`
	IsDefault      bool           `json:"isDefault,omitempty"`
	PolicyBundleId string         `json:"policyBundleId,omitempty"`
	Rules          []ScanningGate `json:"rules"`
}

-------- Scanning Policies --------

func ScanningPolicyFromJSON added in v0.5.48

func ScanningPolicyFromJSON(body []byte) (result ScanningPolicy)

func (*ScanningPolicy) ToJSON added in v0.5.48

func (policy *ScanningPolicy) ToJSON() io.Reader

type ScanningPolicyAssignment added in v0.5.48

type ScanningPolicyAssignment struct {
	ID           string                        `json:"id,omitempty"`
	Name         string                        `json:"name"`
	Registry     string                        `json:"registry"`
	Repository   string                        `json:"repository"`
	Image        ScanningPolicyAssignmentImage `json:"image"`
	PolicyIDs    []string                      `json:"policy_ids"`
	WhitelistIDs []string                      `json:"whitelist_ids"`
}

type ScanningPolicyAssignmentImage added in v0.5.48

type ScanningPolicyAssignmentImage struct {
	Type  string `json:"type"`
	Value string `json:"value"`
}

type ScanningPolicyAssignmentList added in v0.5.48

type ScanningPolicyAssignmentList struct {
	Items          []ScanningPolicyAssignment `json:"items"`
	PolicyBundleId string                     `json:"policyBundleId"`
}

-------- Scanning Policy Assignments --------

func ScanningPolicyAssignmentFromJSON added in v0.5.48

func ScanningPolicyAssignmentFromJSON(body []byte) (result ScanningPolicyAssignmentList)

func (*ScanningPolicyAssignmentList) ToJSON added in v0.5.48

func (policy *ScanningPolicyAssignmentList) ToJSON() io.Reader

type Syscalls

type Syscalls struct {
	Items      []string `json:"items"`
	MatchItems bool     `json:"matchItems"`
}

type SysdigSecureClient

type SysdigSecureClient interface {
	CreateRule(context.Context, Rule) (Rule, error)
	GetRuleByID(context.Context, int) (Rule, error)
	UpdateRule(context.Context, Rule) (Rule, error)
	DeleteRule(context.Context, int) error

	CreateVulnerabilityExceptionList(context.Context, *VulnerabilityExceptionList) (*VulnerabilityExceptionList, error)
	GetVulnerabilityExceptionListByID(context.Context, string) (*VulnerabilityExceptionList, error)
	DeleteVulnerabilityExceptionList(context.Context, string) error
	UpdateVulnerabilityExceptionList(context.Context, *VulnerabilityExceptionList) (*VulnerabilityExceptionList, error)

	CreateVulnerabilityException(context.Context, string, *VulnerabilityException) (*VulnerabilityException, error)
	GetVulnerabilityExceptionByID(context.Context, string, string) (*VulnerabilityException, error)
	DeleteVulnerabilityException(context.Context, string, string) error
	UpdateVulnerabilityException(context.Context, string, *VulnerabilityException) (*VulnerabilityException, error)

	CreateCloudAccount(context.Context, *CloudAccount) (*CloudAccount, error)
	GetCloudAccountById(context.Context, string) (*CloudAccount, error)
	DeleteCloudAccount(context.Context, string) error
	UpdateCloudAccount(context.Context, string, *CloudAccount) (*CloudAccount, error)
	GetTrustedCloudIdentity(context.Context, string) (string, error)

	CreateScanningPolicy(context.Context, ScanningPolicy) (ScanningPolicy, error)
	GetScanningPolicyById(context.Context, string) (ScanningPolicy, error)
	DeleteScanningPolicyById(context.Context, string) error
	UpdateScanningPolicyById(context.Context, ScanningPolicy) (ScanningPolicy, error)

	CreateScanningPolicyAssignmentList(context.Context, ScanningPolicyAssignmentList) (ScanningPolicyAssignmentList, error)
	GetScanningPolicyAssignmentList(context.Context) (ScanningPolicyAssignmentList, error)
	DeleteScanningPolicyAssignmentList(context.Context, ScanningPolicyAssignmentList) error
}

func NewSysdigSecureClient

func NewSysdigSecureClient(sysdigSecureAPIToken string, url string, insecure bool) SysdigSecureClient

func WithExtraHeaders

func WithExtraHeaders(client SysdigSecureClient, extraHeaders map[string]string) SysdigSecureClient

type TCPListenPorts

type TCPListenPorts struct {
	Items      []string `json:"items"`
	MatchItems bool     `json:"matchItems"`
}

type UDPListenPorts

type UDPListenPorts struct {
	Items      []string `json:"items"`
	MatchItems bool     `json:"matchItems"`
}

type VulnerabilityException added in v0.5.10

type VulnerabilityException struct {
	ID             string `json:"id"`
	Gate           string `json:"gate"`
	TriggerID      string `json:"trigger_id"`
	Notes          string `json:"notes"`
	ExpirationDate *int   `json:"expiration_date,omitempty"`
	Enabled        bool   `json:"enabled"`
}

func VulnerabilityExceptionFromJSON added in v0.5.10

func VulnerabilityExceptionFromJSON(body []byte) *VulnerabilityException

func (*VulnerabilityException) ToJSON added in v0.5.10

func (e *VulnerabilityException) ToJSON() io.Reader

type VulnerabilityExceptionList added in v0.5.10

type VulnerabilityExceptionList struct {
	ID      string `json:"id,omitempty"`
	Version string `json:"version"`
	Name    string `json:"name"`
	Comment string `json:"comment"`
}

func VulnerabilityExceptionListFromJSON added in v0.5.10

func VulnerabilityExceptionListFromJSON(body []byte) *VulnerabilityExceptionList

func (*VulnerabilityExceptionList) ToJSON added in v0.5.10

func (l *VulnerabilityExceptionList) ToJSON() io.Reader

Jump to

Keyboard shortcuts

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