Control: Pod containers should not have privileged access
Description
Containers in a Pod should not have privileged access. To prevent security issues, it is recommended that you do not run privileged containers in your environment. Instead, provide granular permissions and capabilities to the container environment. Giving containers full access to the host can create security flaws in your production environment.
Usage
Run the control in your terminal:
powerpipe control run kubernetes_compliance.control.pod_container_privilege_disabled
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run kubernetes_compliance.control.pod_container_privilege_disabled --share
SQL
This control uses a named query:
select coalesce(uid, concat(path, ':', start_line)) as resource, case when (c -> 'securityContext' ->> 'privileged')::bool then 'alarm' else 'ok' end as status, case when (c -> 'securityContext' ->> 'privileged')::bool then c ->> 'name' || ' running with privilege access.' else c ->> 'name' || ' not running with privilege access.' end as reason, name as pod_name , coalesce(context_name, '') as context_name, namespace, source_type, coalesce(path || ':' || start_line || '-' || end_line, '') as pathfrom kubernetes_pod, jsonb_array_elements(containers) as c;