Kubernetes 将弃用 PSP

太长不看版:

Merged:deprecate PSP in 1.21, but leave removal at 1.25 #97171

Pod Security Policy 是 Kubernetes 的重要安全措施之一,它首先定义角色,其中规定了对 Pod 行为的限制,其中包括对特权容器、主机网络、Capability、加载卷类型等内容进行了限制,然后通过 RBAC 把 SA-Pod-PSP 三者结合起来,完成对 Pod 权限的限制。相对于 SecurytContext 来说,PSP 更具强制性和可管理性,CIS Kubernetes Benchmark(v1.6)中明确地把启用 PSP 设置为记分项目,很多 Kubernetes 安全相关软件也会据此进行检查。

然而 PSP 是无法缺省启用的,还有一些其它缺陷,因此在 #97171 中,Kubernetes 1.21 把 PSP 加入了淘汰队列,并在 1.25 中移除。

讨论中可以看到,几个备选方案包括:

  • 升级 PSP
  • 第三方策略引擎
  • 缺省启用宽松策略

目前可用的唯一方案就是启用策略引擎,因此 OPA/Gatekeeper 或 Kyverno 等策略引擎的重要性将进一步提高。遇到扫描报告里的“未启用 PSP”也可以理直气壮了。

参考链接

  • #97171https://github.com/kubernetes/kubernetes/pull/97171

  • PodSecurityPolicy,Present and Future:https://docs.google.com/presentation/d/1Kv6BSBNyLCyglMbK7e6tVOaDYe89LV2aHL2Hlb-9HX8/edit#slide=id.p

  • Pod Security Policy:https://kubernetes.io/docs/concepts/policy/pod-security-policy/

  • Security Context:https://kubernetes.io/docs/tasks/configure-pod-container/security-context/

Avatar
崔秀龙

简单,是大师的责任;我们凡夫俗子,能做到清楚就很不容易了。

comments powered by Disqus
下一页
上一页