用途:为 Kubernetes 集群实施纵深防御安全,通过网络策略、Pod 安全标准与 RBAC 实现网络分段、最小权限访问、合规策略与准入控制,适用于多租户集群加固。
主要能力:
- Pod Security Standards:在 Namespace 标签上设置 pod-security.kubernetes.io/enforce、audit、warn,可选 privileged、baseline、restricted 三档。
- NetworkPolicy:提供默认拒绝全部(podSelector: {},policyTypes 含 Ingress/Egress)、按标签放行前后端流量、放行 kube-system 的 UDP 53 DNS 等示例。
- RBAC:Role(命名空间级)、ClusterRole(集群级)、RoleBinding 示例,覆盖 pods、secrets 的 get/watch/list 等最小权限。
- Pod 安全上下文:runAsNonRoot、runAsUser、fsGroup、seccompProfile: RuntimeDefault、allowPrivilegeEscalation: false、readOnlyRootFilesystem: true、capabilities.drop: ALL。
- 准入控制:OPA Gatekeeper 的 ConstraintTemplate 与 Constraint 示例(如要求 app、environment 标签)。
- 服务网格安全:Istio PeerAuthentication 的 STRICT mTLS 与 AuthorizationPolicy 的 ALLOW 规则。
使用方式:以 YAML 清单形式应用上述策略;参考文件包括 assets/network-policy-template.yaml、assets/pod-security-template.yaml、references/rbac-patterns.md。排查可用 kubectl get nodes -o wide、kubectl describe networkpolicy <name>,以及 kubectl auth can-i list pods --as system:serviceaccount:default:my-sa 检查有效权限。
适用场景:网络分段、Pod 安全标准配置、最小权限 RBAC、合规策略、准入控制、多租户集群安全。
限制:资料未提供具体版本兼容性、CNI 支持范围、性能影响与收费信息;NetworkPolicy 需 CNI 支持,实施前应确认集群环境。