All Policies
Require Images Use Checksums in CEL expressions
Use of a SHA checksum when pulling an image is often preferable because tags are mutable and can be overwritten. This policy checks to ensure that all images use SHA checksums rather than tags.
Policy Definition
/other-cel/require-image-checksum/require-image-checksum.yaml
1apiVersion: kyverno.io/v1
2kind: ClusterPolicy
3metadata:
4 name: require-image-checksum
5 annotations:
6 policies.kyverno.io/title: Require Images Use Checksums in CEL expressions
7 policies.kyverno.io/category: Sample in CEL
8 policies.kyverno.io/severity: medium
9 policies.kyverno.io/subject: Pod
10 policies.kyverno.io/minversion: 1.11.0
11 kyverno.io/kubernetes-version: "1.26-1.27"
12 policies.kyverno.io/description: >-
13 Use of a SHA checksum when pulling an image is often preferable because tags
14 are mutable and can be overwritten. This policy checks to ensure that all images
15 use SHA checksums rather than tags.
16spec:
17 validationFailureAction: Audit
18 background: true
19 rules:
20 - name: require-image-checksum
21 match:
22 any:
23 - resources:
24 kinds:
25 - Pod
26 operations:
27 - CREATE
28 - UPDATE
29 validate:
30 cel:
31 expressions:
32 - expression: "object.spec.containers.all(container, container.image.contains('@'))"
33 message: "Images must use checksums rather than tags."