Privileged Profile — unrestricted pod security (system namespaces).
1apiVersion: v12kind: Namespace3metadata:4 name: kube-system5 labels:6 pod-security.kubernetes.io/enforce: privileged7 pod-security.kubernetes.io/enforce-version: latest8 pod-security.kubernetes.io/warn: restricted9 pod-security.kubernetes.io/warn-version: latest10---11# Privileged Pod (kube-system)12apiVersion: v113kind: Pod14metadata:15 name: system-pod16 namespace: kube-system17spec:18 hostNetwork: true19 hostPID: true20 hostIPC: true21 containers:22 - name: kube-proxy23 image: kube-proxy:latest24 securityContext:25 privileged: true26 volumeMounts:27 - name: kube-proxy-config28 mountPath: /var/lib/kube-proxy29 - name: xtables-lock30 mountPath: /run/xtables.lock31 volumes:32 - name: kube-proxy-config33 hostPath:34 path: /var/lib/kube-proxy35 - name: xtables-lock36 hostPath:37 path: /run/xtables.lock38 type: FileOrCreate
1# Commands2kubectl get namespace kube-system -o yaml | grep pod-security34# Check privileged Pods5kubectl get pods -n kube-system -o json | jq '.items[] | select(.spec.containers[].securityContext.privileged == true) | .metadata.name'67# Verify host access8kubectl get pods -n kube-system -o json | jq '.items[] | {name: .metadata.name, hostNetwork: .spec.hostNetwork, hostPID: .spec.hostPID}'910# Check system namespaces11kubectl get namespaces -o json | jq '.items[] | select(.metadata.labels["pod-security.kubernetes.io/enforce"] == "privileged") | .metadata.name'
Privileged Allows:
Use cases: