将 PodSecurityPolicies 映射到 Pod 安全标准

下表列出了 PodSecurityPolicy 对象上的配置参数,该字段是否会改变和/或验证 Pod,以及配置值如何映射到 Pod 安全标准

对于每个适用的参数,都列出了 基线限制 配置文件的允许值。超出这些配置文件的允许值的内容将属于 特权 配置文件。“无意见”表示所有值都允许在所有 Pod 安全标准下。

有关逐步迁移指南,请参阅 从 PodSecurityPolicy 迁移到内置 PodSecurity 准入控制器

PodSecurityPolicy 规范

此表中列出的字段是 PodSecurityPolicySpec 的一部分,该部分在 .spec 字段路径下指定。

将 PodSecurityPolicySpec 字段映射到 Pod 安全标准
PodSecurityPolicySpec类型Pod 安全标准等效项
privileged验证基线 & 限制: false / 未定义 / nil
defaultAddCapabilities改变 & 验证要求与下面的 allowedCapabilities 匹配。
allowedCapabilities验证

基线: 子集

  • AUDIT_WRITE
  • CHOWN
  • DAC_OVERRIDE
  • FOWNER
  • FSETID
  • KILL
  • MKNOD
  • NET_BIND_SERVICE
  • SETFCAP
  • SETGID
  • SETPCAP
  • SETUID
  • SYS_CHROOT

限制: 空 / 未定义 / nil 或仅包含 NET_BIND_SERVICE 的列表

requiredDropCapabilities改变 & 验证

基线: 无意见

限制: 必须包含 ALL

volumes验证

基线: 除了

  • hostPath
  • *

限制: 子集

  • configMap
  • csi
  • downwardAPI
  • emptyDir
  • ephemeral
  • persistentVolumeClaim
  • projected
  • secret
hostNetwork验证基线 & 限制: false / 未定义 / nil
hostPorts验证基线 & 限制: 未定义 / nil / 空
hostPID验证基线 & 限制: false / 未定义 / nil
hostIPC验证基线 & 限制: false / 未定义 / nil
seLinux改变 & 验证

基线 & 限制: seLinux.ruleMustRunAs,具有以下 options

  • user 未设置 ("" / 未定义 / nil)
  • role 未设置 ("" / 未定义 / nil)
  • type 未设置或为以下之一:container_t, container_init_t, container_kvm_t, container_engine_t
  • level 是任意值
runAsUser改变 & 验证

基线: 任意值

限制: ruleMustRunAsNonRoot

runAsGroup改变 (MustRunAs) & 验证无意见
supplementalGroups改变 & 验证无意见
fsGroup改变 & 验证无意见
readOnlyRootFilesystem改变 & 验证无意见
defaultAllowPrivilegeEscalation改变无意见 (非验证)
allowPrivilegeEscalation改变 & 验证

仅当设置为 false 时才改变

基线: 无意见

限制: false

allowedHostPaths验证无意见 (volumes 优先)
allowedFlexVolumes验证无意见 (volumes 优先)
allowedCSIDrivers验证无意见 (volumes 优先)
allowedUnsafeSysctls验证基线 & 限制: 未定义 / nil / 空
forbiddenSysctls验证无意见
allowedProcMountTypes
(alpha 功能)
验证基线 & 限制: ["Default"] 或未定义 / nil / 空
runtimeClass
 .defaultRuntimeClassName
改变无意见
runtimeClass
 .allowedRuntimeClassNames
验证无意见

PodSecurityPolicy 注解

此表中列出的 注解 可以在 PodSecurityPolicy 对象的 .metadata.annotations 下指定。

将 PodSecurityPolicy 注解映射到 Pod 安全标准
PSP 注解类型Pod 安全标准等效项
seccomp.security.alpha.kubernetes.io
/defaultProfileName
改变无意见
seccomp.security.alpha.kubernetes.io
/allowedProfileNames
验证

基线: "runtime/default," (尾部逗号允许未设置)

限制: "runtime/default" (没有尾部逗号)

localhost/* 值也允许用于基线和限制。

apparmor.security.beta.kubernetes.io
/defaultProfileName
改变无意见
apparmor.security.beta.kubernetes.io
/allowedProfileNames
验证

基线: "runtime/default," (尾部逗号允许未设置)

限制: "runtime/default" (没有尾部逗号)

localhost/* 值也允许用于基线和限制。

上次修改时间:2024 年 7 月 23 日下午 12:19 PST:PSS:将 container_engine_t 添加到允许的 seLinux 类型列表中 (06aff012a2)