This commit is contained in:
2026-04-08 20:22:14 +07:00
commit 34fbdd1412
96 changed files with 5321 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: require-run-as-non-root
annotations:
policies.kyverno.io/title: "Запрет запуска от root"
policies.kyverno.io/category: Pod Security Standards (Restricted)
policies.kyverno.io/severity: high
policies.kyverno.io/subject: Pod
policies.kyverno.io/description: >-
Контейнеры не должны запускаться от пользователя root (UID 0).
Процесс от root может читать/писать файлы хоста через volume mounts
даже без привилегированного режима.
Установите runAsNonRoot: true или runAsUser >= 1000.
spec:
validationFailureAction: Enforce
background: true
rules:
- name: check-runasnonroot-pod-level
match:
resources:
kinds:
- Pod
exclude:
resources:
namespaces:
- kube-system
validate:
message: >-
Под '{{ request.object.metadata.name }}' должен иметь
spec.securityContext.runAsNonRoot: true.
Это гарантирует, что ни один контейнер не запустится от root.
pattern:
spec:
securityContext:
runAsNonRoot: true
- name: check-runasuser-not-root
match:
resources:
kinds:
- Pod
exclude:
resources:
namespaces:
- kube-system
validate:
message: >-
Контейнер '{{ element.name }}' использует runAsUser: 0 (root).
Установите runAsUser >= 1000.
foreach:
- list: "request.object.spec.containers"
deny:
conditions:
any:
- key: "{{ element.securityContext.runAsUser }}"
operator: Equals
value: 0