1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-06 16:06:56 +00:00
kyverno/samples/DisallowNewCapabilities.md

40 lines
994 B
Markdown
Raw Normal View History

2019-10-31 18:40:54 -07:00
# Disallow new capabilities
Linux allows defining fine-grained permissions using
capabilities. With Kubernetes, it is possible to add capabilities that escalate the
level of kernel access and allow other potentially dangerous behaviors. This policy
enforces that pods cannot add new capabilities. Other policies can be used to set
default capabilities.
## Policy YAML
[disallow_new_capabilities.yaml](best_practices/disallow_new_capabilities.yaml)
````yaml
2019-11-13 13:56:20 -08:00
apiVersion: kyverno.io/v1
2019-10-31 18:40:54 -07:00
kind: ClusterPolicy
metadata:
2019-11-09 16:07:16 -08:00
name: disallow-new-capabilities
2019-10-31 18:40:54 -07:00
spec:
rules:
2019-11-09 16:07:16 -08:00
- name: validate-add-capabilities
2019-10-31 18:40:54 -07:00
match:
resources:
kinds:
- Pod
validate:
2019-11-09 16:07:16 -08:00
message: "New capabilities cannot be added"
2019-10-31 18:40:54 -07:00
anyPattern:
- spec:
2019-11-01 15:10:42 -07:00
=(securityContext):
=(capabilities):
X(add): null
2019-10-31 18:40:54 -07:00
- spec:
containers:
- name: "*"
2019-11-01 15:10:42 -07:00
=(securityContext):
=(capabilities):
2019-10-31 18:40:54 -07:00
X(add): null
2019-11-09 16:07:16 -08:00
2019-10-31 18:40:54 -07:00
````