apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: name: disallow-root-user annotations: policies.kyverno.io/category: Security policies.kyverno.io/description: By default, processes in a container run as a root user (uid 0). To prevent potential compromise of container hosts, specify a least privileged user ID when building the container image and require that application containers run as non root users. spec: rules: - name: validate-runAsNonRoot match: resources: kinds: - Pod validate: message: "Running as root user is not allowed. Set runAsNonRoot to true" anyPattern: - spec: securityContext: # https://github.com/kubernetes/api/blob/7dc09db16fb8ff2eee16c65dc066c85ab3abb7ce/core/v1/types.go#L3165 runAsNonRoot: true - spec: containers: - securityContext: # https://github.com/kubernetes/api/blob/7dc09db16fb8ff2eee16c65dc066c85ab3abb7ce/core/v1/types.go#L5742 runAsNonRoot: true