Concepts
Kubees is an audit solution dedicated to the Kubernetes environment. There are three major goals for the project:
- Federate the compliance status of a fleet of Kubernetes clusters in real time
- Leverage existing ecosystem to get started faster on solid bases
- Be an interface for the different actors of security and governance in a company
Majors components are described in the Architecture section.
Concepts
Applications
An application is a set of Kubernetes resources that are grouped to create an higher level view of the workloads. They share philosophy of kubernetes-sigs/application and OAM specifications.
In Kubees, an application can be defined from the following metadatas:
- A
namespace
from a single cluster - A set of Kubernetes resources
labels
(Docs) - A set of Kubernetes resources
annotations
(Docs)
This logical entity will be the primary interface of the developers leveraging the plaform.
Policies
A policy is a declarative definition of constraints that can be enforced across the organization.
For example, one could forbid all pods running with privileged: true
in their security context. The user will be able to see all infringements of this constraint to be reported by following audits.
This interface is destinated to the governance team members, which shall be the only one authorized to edit policies.
Derogation
As the policies are applied across the entire fleet of clusters, this can cause problems in heterogeneous environments, think for example to the difference between development and production environments: the former might need more lenient constraints for a better developer experience.
Risks
A risk is an infrigment to a policy on a set of Kubernetes resources.
Audits
An audit is the snapshot of a policy compliance at a given time, it lists the risks identified along with the affected resources and clusters.
Personas
Developer
Application developer that uses the Kubernetes platform to deploy its work.
Operator
An operator is responsible for one or more Kubernetes cluster, it manages their lifecycles, OS level security and configuration, but also the global resources (i.e: non namespace scoped) of it’s clusters.
Governance
Responsible for the organization security, they are mainly concerned by the policies enforced across the infrastructure.