Selectors
Selectors are used in various places to scope policies, rules, and actions. Spyderbat's selectors based on Kubernetes Labels and Selectors.
Selector Primitives
Spyderbat's selectors offer set-based selector primitives.
* Matches the syntax from Kubernetes
** Unique to Spyderbat's Selectors
Expressions
Expressions have 3 fields: key
, operator
, and values
. They allow you to define set-based groupings.
Example:
In the example above whatever is being matched on, must have a label with a key app
and the value of that label must be either apache
or mysql
.
Operators
Operators define how the set-based expression is to be evaluated.
Pod and Namespace Selectors
Pod and Namespace selectors are defined the exact same way that Kubernetes Pod and Namespace selectors are. Both resources types can have user-defined labels that allow them to be grouped by selectors.
The labels are found within the Pod and Namespace object yaml.
Examples:
Other Selectors
The following selectors are Custom to Spyderbat's environment. They add an additional level on granularity to scoping operations.
Cluster Selector
The Cluster Selector allows for scoping by Kubernetes Cluster. Field values may be wildcarded with an *
character.
Example:
Machine Selector
The Machine Selector allows for scoping my Machine. A machine in this context is a device with the Spyderbat Nano Agent installed.
Example:
Container Selector
The Container Selector allows for scoping by fields associated with containers.
Example:
Service Selector
The Service Selector allows for scoping by fields associated with Linux Services
Example:
Trace Selector
The Trace Selector is used by Trace Suppression Policies to suppress Spydertraces within a specific scope.
Example:
User Selector
The User Selector is used by Trace Suppression Policies to suppress Spydertraces triggered by a specific user or users.
Example:
Process Selector
The Process Selector is used to scope by fields associated with a Linux Process.
Last updated