Information
Do not generally permit containers to be run as the root user.
Rationale:
Containers may run as any Linux user. Containers which run as the root user, whilst constrained by Container Runtime security features still have a escalated likelihood of container breakout.
Ideally, all containers should run as a defined non-UID 0 user.
There should be at least one PodSecurityPolicy (PSP) defined which does not permit root users in a container.
If you need to run root containers, this should be defined in a separate PSP and you should carefully check RBAC controls to ensure that only limited service accounts and users are given permission to access that PSP.
Solution
Create a PSP as described in the Kubernetes documentation, ensuring that the '.spec.runAsUser.rule' is set to either 'MustRunAsNonRoot' or 'MustRunAs' with the range of UIDs not including 0.