将 PodSecurityPolicies 映射到 Pod 安全标准

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

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

有关分步迁移指南,请参阅 从 PodSecurityPolicy 迁移到内置的 PodSecurity Admission Controller

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:PSS: 为 selinux 类型允许列表添加 container_engine_t (06aff012a2)