apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: baseline annotations: # 可选:允许 default AppArmor 配置,需要设置 default 配置 apparmor.security.beta.kubernetes.io/allowedProfileNames: 'runtime/default' apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default' seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*' spec: privileged: false # 这是 moby 默认的权能集,去掉了 NET_RAW allowedCapabilities: - 'CHOWN' - 'DAC_OVERRIDE' - 'FSETID' - 'FOWNER' - 'MKNOD' - 'SETGID' - 'SETUID' - 'SETFCAP' - 'SETPCAP' - 'NET_BIND_SERVICE' - 'SYS_CHROOT' - 'KILL' - 'AUDIT_WRITE' # 允许除 hostpath 外的所有卷类型 volumes: # 'core' 卷类型 - 'configMap' - 'emptyDir' - 'projected' - 'secret' - 'downwardAPI' # 假定集群管理员设置的临时 CSI 驱动和 persistentVolume 可以安全使用。 - 'csi' - 'persistentVolumeClaim' - 'ephemeral' # 允许所有其他非 hostpath 的卷类型。 - 'awsElasticBlockStore' - 'azureDisk' - 'azureFile' - 'cephFS' - 'cinder' - 'fc' - 'flexVolume' - 'flocker' - 'gcePersistentDisk' - 'gitRepo' - 'glusterfs' - 'iscsi' - 'nfs' - 'photonPersistentDisk' - 'portworxVolume' - 'quobyte' - 'rbd' - 'scaleIO' - 'storageos' - 'vsphereVolume' hostNetwork: false hostIPC: false hostPID: false readOnlyRootFilesystem: false runAsUser: rule: 'RunAsAny' seLinux: # 此策略假定节点正在使用 AppArmor 而不是 SELinux。 # PSP SELinux API 无法体现 Pod SELinux 安全标准, # 因此如果使用 SELinux,你必须选择一个限制更多的默认值。 rule: 'RunAsAny' supplementalGroups: rule: 'RunAsAny' fsGroup: rule: 'RunAsAny'