欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

Kubernetes 准入控制:OPA Gatekeeper 策略即代码落地

发表于:|最后更新:|分类:云原生安全|阅读:2528 次

OPA Gatekeeper 通过 Validating Webhook 将 Rego 策略注入 K8s 准入链路,强制禁止 latest 镜像标签、缺失 resource limits 或 hostPath 挂载等高风险配置。

Kubernetes 架构

一、禁止 latest 标签的 ConstraintTemplate

rego
package k8sdisallowedtags

violation[{"msg": msg}] {
    container := input.review.object.spec.containers[_]
    endswith(container.image, ":latest")
    msg := sprintf("container <%v> 禁止使用 latest 标签", [container.name])
}
yaml
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sDisallowedTags
metadata:
  name: disallow-latest
spec:
  match:
    kinds:
      - apiGroups: [""]
        kinds: ["Pod"]