All Policies
Require Run As ContainerUser (Windows)
Containers must be required to run as ContainerUser. This policy ensures that the fields spec.securityContext.windowsOptions.runAsUserName, spec.containers[*].securityContext.windowsOptions.runAsUserName, spec.initContainers[*].securityContext.windowsOptions.runAsUserName, and is either unset or set to ContainerUser.
Policy Definition
/windows-security/require-run-as-containeruser/require-run-as-containeruser.yaml
1apiVersion: kyverno.io/v1
2kind: ClusterPolicy
3metadata:
4 name: require-run-as-containeruser
5 annotations:
6 policies.kyverno.io/title: Require Run As ContainerUser (Windows)
7 policies.kyverno.io/category: Windows Security
8 policies.kyverno.io/severity: medium
9 policies.kyverno.io/subject: Pod
10 kyverno.io/kyverno-version: 1.6.0
11 kyverno.io/kubernetes-version: "1.22-1.28"
12 policies.kyverno.io/description: >-
13 Containers must be required to run as ContainerUser. This policy ensures that the fields
14 spec.securityContext.windowsOptions.runAsUserName,
15 spec.containers[*].securityContext.windowsOptions.runAsUserName,
16 spec.initContainers[*].securityContext.windowsOptions.runAsUserName,
17 and is either unset or set to ContainerUser.
18spec:
19 validationFailureAction: Audit
20 background: true
21 rules:
22 - name: require-run-as-containeruser
23 match:
24 any:
25 - resources:
26 kinds:
27 - Pod
28 validate:
29 message: >-
30 Running the container as ContainerAdministrator,NT AUTHORITY\NETWORK SERVICE, NT AUTHORITY\LOCAL SERVICE is not allowed.
31 pattern:
32 spec:
33 =(securityContext):
34 =(windowsOptions):
35 =(runAsUserName): "ContainerUser"
36 =(initContainers):
37 - =(securityContext):
38 =(windowsOptions):
39 =(runAsUserName): "ContainerUser"
40 containers:
41 - =(securityContext):
42 =(windowsOptions):
43 =(runAsUserName): "ContainerUser"