Kubernetes 怎么配置 PodSecurityPolicy 提高安全性

夏静姑娘_1531

夏静姑娘_1531

2026-08-18

602人浏览

原创

podsecuritypolicy(psp)虽在v1.25+移除,但v1.19–v1.24集群仍广泛使用;启用需配置kube-apiserver的--enable-admission-plugins=podsecuritypolicy,再定义非特权基线策略、通过rbac绑定serviceaccount授权,并分阶段验证落地。

kubernetes 怎么配置 podsecuritypolicy 提高安全性

PodSecurityPolicy(PSP)虽已在 Kubernetes v1.25+ 正式移除,但大量生产集群(尤其是 v1.19–v1.24 版本)仍在使用。配置 PSP 的核心不是“加功能”,而是通过准入控制,在 Pod 创建前强制执行最小权限原则——禁止特权、限制用户、隔离主机资源、裁剪内核能力。

启用 PSP 准入控制器

这是前提,否则所有 PSP 资源都不生效:

  • 编辑 kube-apiserver 启动参数,加入 --enable-admission-plugins=PodSecurityPolicy
  • 常见位置:/etc/kubernetes/manifests/kube-apiserver.yaml(静态 Pod 配置)或 systemd service 文件
  • 重启 kube-apiserver 后,所有 Pod 创建将被拒绝,直到至少一个 PSP 和对应 RBAC 授权就绪

定义基础安全策略

避免“全开”或“全关”,从非特权基线起步。例如禁止 root、禁用特权、限制卷类型:

Kubernetes Network Policy Generator
Kubernetes Network Policy Generator

使用加权评分卡在12项标准上评估和比较隐私解决方案供应商。适用于选择隐私管理软件、比较数据保护方案等场景。

下载
  • privileged: false —— 禁止容器获得宿主机全部设备和能力
  • runAsUser: rule: MustRunAsNonRoot —— 强制容器必须指定非 root 用户 ID
  • readOnlyRootFilesystem: true —— 根文件系统默认只读,防止运行时篡改
  • volumes: ["configMap", "emptyDir", "persistentVolumeClaim"] —— 显式允许安全卷类型,排除 hostPath、secret(需单独授权)等高风险类型
  • allowedCapabilities: [] 和 requiredDropCapabilities: ["ALL"] —— 移除所有默认能力,按需显式添加

绑定策略到服务账户(RBAC 授权)

PSP 不自动生效,必须通过 RBAC 明确授予使用权限:

  • 创建 ClusterRole,verbs 设置为 use,resources 为 podsecuritypolicies
  • 用 ClusterRoleBinding 将该角色绑定到目标 ServiceAccount(如命名空间中的 default SA),或绑定到 system:serviceaccounts:<namespace></namespace> 组
  • 关键点:kube-system 命名空间的组件(如 CoreDNS、metrics-server)也需被授权,否则集群可能异常

验证与渐进落地

上线前务必测试,避免“一刀切”导致业务中断:

  • 先用 kubectl auth can-i use psp/<name> --as=system:serviceaccount:<ns>:<sa></sa></ns></name> 检查授权是否生效
  • 部署测试 Pod,观察事件:kubectl describe pod <name></name> 中若出现 Forbidden: unable to validate against any pod security policy,说明策略未覆盖或授权缺失
  • 建议分阶段:先为测试命名空间启用宽松策略(如仅禁用 privileged),再逐步收紧;生产环境应配合 PodSecurityContext 显式声明安全上下文,而非依赖 PSP 默认值

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

kubernetes

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

920

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2932

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

976

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

869

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

454

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2656

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4952

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

787

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 配置文档
phpMyAdmin 配置文档

共0课时 | 0人学习

Swoole手册
Swoole手册

共0课时 | 0人学习