將 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)