产品动态
公告
产品发布记录
策略分类 | 策略名称 | 策略描述 | 拦截对象 | 运行模式 |
删除保护 | 存在节点的集群不允许删除 | 集群中存在任意节点(普通节点、原生节点、注册节点),需先下线节点后方可删除。 | 集群 | 默认 deny |
策略分类 | 策略名称 | 策略描述 | 拦截对象 | 运行模式 |
删除保护 | 存在 pod 的命名空间不允许删除 | 命名空间内如果存在 pod,需先清除 pod 后方可删除 namespace。 | Namespace | 默认 dryrun |
删除保护 | 存在 cr 的 crd 不允许删除 | crd 定义的 apiversion 下如果有创建 cr 资源,则清空 cr 后方可删除 crd。 | CRD | 默认 dryrun |
删除保护 | 非封锁状态的 Node 不允许删除 | ready 状态的节点处于非封锁状态时不允许直接删除。 | Node | 默认不创建策略实例 |
删除保护 | CoreDNS 组件删除保护 | 禁止删除 CoreDNS 组件的 Service、ConfigMap 和 Deployment。 | Deployment、Service、ConfigMap | 默认不创建策略实例 |
删除保护 | 资源删除保护 | 存在指定 Label 的资源(Service、Ingress、Deployment、StatefulSet)不允许被删除。 | Service、Ingress、Deployment、StatefulSet | 默认不创建策略实例 |
删除保护 | PV 处于绑定状态则不允许删除 | PersistentVolume 如果处于 Bound 状态,则不允许被删除。 | PV | 默认不创建策略实例 |
策略管控 | 禁止挂载指定的 volume 类型 | 将可挂载的 volume 类型限制为用户指定的类型。 | Pod | 默认不创建策略实例 |
策略管控 | 禁止镜像拉取策略使用 Always | 禁止容器使用 Always 镜像拉取策略,减少对镜像仓库的访问。 | Pod | 默认不创建策略实例 |
策略管控 | 容器镜像来源限制 | 只允许从指定的镜像仓库拉取镜像。 | Pod | 默认不创建策略实例 |
策略管控 | 禁止未知的 DaemonSet 部署 | 只允许部署指定的 DaemonSet。 | DaemonSet | 默认不创建策略实例 |
策略管控 | 工作负载镜像版本升级策略管控 | 限制 Deployment 和 DaemonSet 只能在配置的镜像列表中升级。 | Deployment、DaemonSet | 默认不创建策略实例 |
策略管控 | ServiceAccount 权限管控 | 禁止 ServiceAccount 绑定较大权限的 Role 和 ClusterRole,提升集群安全性。 | ServiceAccount | 默认不创建策略实例 |
策略管控 | 不允许 Service 为 ClusterIP 类型 | 禁止创建 ClusterIP 类型的 Service 或将 Service 由其他类型更新为 ClusterIP 类型。 | Service | 默认不创建策略实例 |
策略管控 | 禁止公网访问 | 禁止通过创建公网类型的 Service 或 Ingress 的方式将后端服务暴露到公网。 | Service、Ingress | 默认不创建策略实例 |
策略管控 | 弹性网卡资源配置限制 | 限制跨租户弹性网卡必须配置 Request 资源。 | Pod | 默认不创建策略实例 |
策略分类 | 策略名称 | 策略描述 | 拦截对象 |
策略管控 | tkeblockvolumemountpath | 禁止容器挂载指定的目录。 | pods |
策略管控 | k8sallowedrepos | 容器镜像必须以指定字符串列表中的字符串开头。 | pods |
策略管控 | k8spspautomountserviceaccounttokenpod | 约束容器不能设置 automountServiceAccountToken 为 true。 | pods |
策略管控 | k8sblockendpointeditdefaultrole | 默认情况下,许多 Kubernetes 都预定义了一个名为 system:aggregate-to-edit 的 ClusterRole,k8sblockendpointeditdefaultrole 策略定义禁止该 ClusterRole 对 Endpoints 进行 create、patch 和 update 操作。 | clusterroles |
策略管控 | k8sblockloadbalancer | 不允许 Service 为 LoadBalancer 类型。 | services |
策略管控 | k8sblocknodeport | 不允许 Service 为 NodePort 类型。 | services |
策略管控 | k8sblockwildcardingress | 禁止 ingress 配置空白或通配符类型的 hostname。 | ingresses |
策略管控 | k8scontainerlimits | 限制容器必须设置 CPU 和内存 Limit,并且小于设定的最大值。 | pods |
策略管控 | k8scontainerrequests | 限制 CPU 和内存的 Request 必须设置且小于配置的最大值。 | pods |
策略管控 | k8scontainerratios | 限制 CPU 和内存的 Request 与 Limit 的最大比率。 | pods |
策略管控 | k8srequiredresources | 必须配置内存的 Limit,CPU 和内存的 Request。 | pods |
策略管控 | k8sdisallowanonymous | 不允许将白名单以外的 ClusterRole 和 Role 关联到 system:anonymous User 和 system:unauthenticated Group。 | rolebindings clusterrolebindings |
策略管控 | k8sdisallowedtags | 约束容器镜像 tag。 | pods |
策略管控 | k8sexternalips | 限制服务 externalIP 仅为允许的 IP 地址列表。 | services |
策略管控 | k8simagedigests | 容器镜像必须包含 digest。 | pods |
策略管控 | noupdateserviceaccount | 拒绝白名单外的资源更新 ServiceAccount。 | replicationcontrollers replicasets deployments statefulsets daemonsets cronjobs |
策略管控 | k8sreplicalimits | 要求具有 “spec.replicas” 字段的对象(Deployments、ReplicaSets等)在定义的范围内。 | deployments |
策略管控 | k8srequiredannotations | 要求资源包含指定的 annotations,其值与提供的正则表达式匹配。 | services |
策略管控 | k8srequiredlabels | 要求资源包含指定的标签,其值与提供的正则表达式匹配。 | namespaces |
策略管控 | k8srequiredprobes | 要求 Pod 具有 Readiness 或 Liveness Probe。 | pods |
安全加固 | k8spspallowprivilegeescalationcontainer | 约束 PodSecurityPolicy 中的 “allowPrivilegeEscalation” 字段为 false。 | pods |
安全加固 | k8spspapparmor | 约束 AppArmor 字段列表。 | pods |
安全加固 | k8spspcapabilities | 限制 PodSecurityPolicy 中的 “allowedCapabilities” 和 “requiredDropCapabilities” 字段。 | pods |
安全加固 | k8spspflexvolumes | 约束 PodSecurityPolicy 中的 allowedFlexVolumes 字段类型。 | pods |
安全加固 | k8spspforbiddensysctls | 约束 PodSecurityPolicy 中的 “sysctls” 字段不能使用的 name。 | pods |
安全加固 | k8spspfsgroup | 控制 PodSecurityPolicy 中的 “fsGroup” 字段在限制范围内。 | pods |
安全加固 | k8spsphostfilesystem | 约束 PodSecurityPolicy 中的 “hostPath” 字段的参数。 | pods |
安全加固 | k8spsphostnamespace | 限制 PodSecurityPolicy 中的 “hostPID” 和 “hostIPC” 字段。 | pods |
安全加固 | k8spsphostnetworkingports | 约束 PodSecurityPolicy 中的 “hostNetwork” 和 “hostPorts” 字段。 | pods |
安全加固 | k8spspprivilegedcontainer | 禁止 PodSecurityPolicy 中的 “privileged” 字段为 true。 | pods |
安全加固 | k8spspprocmount | 约束 PodSecurityPolicy 中的 “allowedProcMountTypes” 字段。 | pods |
安全加固 | k8spspreadonlyrootfilesystem | 约束 PodSecurityPolicy 中的 “readOnlyRootFilesystem” 字段。 | pods |
安全加固 | k8spspseccomp | 约束 PodSecurityPolicy 上的 “seccomp.security.alpha.kubernetes.io/allowedProfileNames” 注解。 | pods |
安全加固 | k8spspselinuxv2 | 约束 Pod 定义 SELinux 配置的允许列表。 | pods |
安全加固 | k8spspallowedusers | 约束 PodSecurityPolicy 中的runAsUser、runAsGroup、supplementalGroups 和 fsGroup 字段。 | pods |
安全加固 | k8spspvolumetypes | 约束 PodSecurityPolicy 中的 “volumes” 字段类型。 | pods |
apiVersion: constraints.gatekeeper.sh/v1beta1kind: K8sPSPPrivilegedContainermetadata:name: psp-privileged-containerspec:match:kinds:- apiGroups: [""]kinds: ["Pod"]namespaces: []excludedNamespaces: ["kube-system"]parameters:exemptInitContainers: true
apiVersion: v1kind: Podmetadata:name: privileged-podspec:containers:- name: privileged-containerimage: nginxsecurityContext:privileged: trueinitContainers:- name: privileged-init-containerimage: busyboxcommand: ['sh', '-c', 'echo Hello, Kubernetes!']securityContext:privileged: true
Error from server (Forbidden): error when creating "pod.yaml": admission webhook "validation.gatekeeper.sh" denied the request: [psp-privileged-container] Privileged container is not allowed: privileged-container, securityContext: {"privileged": true}, Pod name: privileged-pod
文档反馈