All Policies
Restrict Jobs
Jobs can be created directly and indirectly via a CronJob controller. In some cases, users may want to only allow Jobs if they are created via a CronJob. This policy restricts Jobs so they may only be created by a CronJob.
Policy Definition
/other/restrict-jobs/restrict-jobs.yaml
1apiVersion: kyverno.io/v1
2kind: ClusterPolicy
3metadata:
4 name: restrict-jobs
5 annotations:
6 policies.kyverno.io/title: Restrict Jobs
7 policies.kyverno.io/category: Other
8 policies.kyverno.io/severity: medium
9 policies.kyverno.io/subject: Job
10 kyverno.io/kyverno-version: 1.10.0
11 kyverno.io/kubernetes-version: "1.26"
12 policies.kyverno.io/description: >-
13 Jobs can be created directly and indirectly via a CronJob controller.
14 In some cases, users may want to only allow Jobs if they are created via a CronJob.
15 This policy restricts Jobs so they may only be created by a CronJob.
16spec:
17 validationFailureAction: Enforce
18 rules:
19 - name: restrict-job-from-cronjob
20 match:
21 any:
22 - resources:
23 kinds:
24 - Job
25 preconditions:
26 any:
27 - key: "{{ request.object.metadata.ownerReferences[0].kind || '' }}"
28 operator: NotEquals
29 value: CronJob
30 validate:
31 message: Jobs are only allowed if spawned from CronJobs.
32 deny: {}