必须显式设为false,因Kubernetes默认allowPrivilegeEscalation为true,且当容器privileged:true或拥有CAP_SYS_ADMIN时该值自动生效,仅显式声明false才能覆盖默认行为、实现确定性防护。

直接在 Pod 或容器的 securityContext 中显式设置 allowPrivilegeEscalation: false 即可强制禁用权限提升,这是 Kubernetes 安全加固的关键一步。
为什么必须显式设为 false
Kubernetes 默认不强制限制权限提升行为。只有当容器满足以下任一条件时,allowPrivilegeEscalation 才会自动变为 true:
- 以 privileged: true 模式运行
- 被授予 CAP_SYS_ADMIN 能力
即使没显式声明,只要存在上述风险配置,该字段就会隐式生效。因此,**必须主动写明 allowPrivilegeEscalation: false 才能覆盖默认行为、实现确定性防护**。
评估 Kubernetes 集群安全态势,覆盖 RBAC、工作负载安全、网络策略、基础设施即代码(IaC)、运行时监控和密钥管理等 30 项控制项……
Pod 级别统一控制(推荐)
在 Pod spec 的顶层 securityContext 中设置,对所有容器生效:
apiVersion: v1
kind: Pod
metadata:
name: hardened-pod
spec:
securityContext:
allowPrivilegeEscalation: false # ← 关键加固项
runAsNonRoot: true
readOnlyRootFilesystem: true
containers:
- name: app
image: nginx:1.25容器级别精细控制(按需)
若需对特定容器单独控制(例如 sidecar 有特殊需求),可在 container 内覆盖:
containers:
- name: main
image: myapp:v1
securityContext:
allowPrivilegeEscalation: false # ← 仅作用于该容器
- name: sidecar
image: prometheus-exporter
# 未设置 → 继承 Pod 级默认值(若 Pod 级已设,则仍为 false)配合其他关键字段形成闭环
单设 allowPrivilegeEscalation: false 不足以防逃逸,需与以下配置协同:
- privileged: false — 彻底禁用特权模式(否则该字段自动为 true)
- runAsNonRoot: true + runAsUser: 非0值 — 阻断 root 权限起点
-
capabilities.drop: ["ALL"] 或至少移除
SETUID/SETGID/SYS_ADMIN— 切断提权路径 - seccompProfile.type: RuntimeDefault — 启用默认系统调用过滤

















