Objetivo: aplicar políticas baseline y restricted por Namespace con Pod Security Admission (PSA).
1) Conceptos rápidos
- Modes: enforce,warn,audit.
- Niveles: privileged(no recomendado),baseline,restricted.
2) Etiquetas por Namespace
kubectl label ns prod \
  pod-security.kubernetes.io/enforce=restricted \
  pod-security.kubernetes.io/enforce-version=latest \
  pod-security.kubernetes.io/warn=baseline \
  pod-security.kubernetes.io/warn-version=latest3) Comprobar
kubectl run test --image=alpine --restart=Never -n prod \
  --overrides='{"spec":{"securityContext":{"runAsUser":0}}}'Debería ser bloqueado en enforce=restricted.
4) Buenas prácticas
- Usa restricteden entornos sensibles;baselineen desarrollo.
- Documenta excepciones mediante labels y revisiones periódicas.
- Complementa con NetworkPoliciesyRBACmínimo.
YAML de ejemplo
apiVersion: v1
kind: Namespace
metadata:
  name: restricted-ns
  labels:
    pod-security.kubernetes.io/enforce: "restricted"
    pod-security.kubernetes.io/enforce-version: "latest"