Kubernetes 准入控制器
Kubernetes 准入控制器 是什么?
Kubernetes 准入控制器准入控制器是 Kubernetes API server 的插件,在请求被持久化前进行拦截,按照策略对对象进行校验、变更或拒绝。
Kubernetes 准入分两个阶段:mutating 控制器可修改对象(填充默认值、注入 sidecar),validating 控制器决定是否接受。内置控制器包括 NamespaceLifecycle、ResourceQuota、ServiceAccount、Pod Security 与 ImagePolicyWebhook。外部控制器通过 MutatingWebhookConfiguration 或 ValidatingWebhookConfiguration 注册,接收 AdmissionReview JSON 并返回决定;1.28 起的 ValidatingAdmissionPolicy 直接在 API 中嵌入 CEL 规则。准入是 Kubernetes 安全策略(PSS、镜像签名、标签规范)的核心强制点,也是 OPA Gatekeeper 和 Kyverno 的接入位置。Webhook 故障会让集群不可用,因此 failurePolicy 与超时必须仔细配置。
● 示例
- 01
mutating webhook 在带标签命名空间中为每个新 Pod 注入 Istio sidecar。
- 02
ValidatingAdmissionPolicy 拒绝未设置 runAsNonRoot 的 Deployment。
● 常见问题
Kubernetes 准入控制器 是什么?
准入控制器是 Kubernetes API server 的插件,在请求被持久化前进行拦截,按照策略对对象进行校验、变更或拒绝。 它属于网络安全的 云安全 分类。
Kubernetes 准入控制器 是什么意思?
准入控制器是 Kubernetes API server 的插件,在请求被持久化前进行拦截,按照策略对对象进行校验、变更或拒绝。
Kubernetes 准入控制器 是如何工作的?
Kubernetes 准入分两个阶段:mutating 控制器可修改对象(填充默认值、注入 sidecar),validating 控制器决定是否接受。内置控制器包括 NamespaceLifecycle、ResourceQuota、ServiceAccount、Pod Security 与 ImagePolicyWebhook。外部控制器通过 MutatingWebhookConfiguration 或 ValidatingWebhookConfiguration 注册,接收 AdmissionReview JSON 并返回决定;1.28 起的 ValidatingAdmissionPolicy 直接在 API 中嵌入 CEL 规则。准入是 Kubernetes 安全策略(PSS、镜像签名、标签规范)的核心强制点,也是 OPA Gatekeeper 和 Kyverno 的接入位置。Webhook 故障会让集群不可用,因此 failurePolicy 与超时必须仔细配置。
如何防御 Kubernetes 准入控制器?
针对 Kubernetes 准入控制器 的防御通常结合技术控制与运营实践,详见上方完整定义。
Kubernetes 准入控制器 还有哪些其他名称?
常见的别称包括: Admission webhook, ValidatingAdmissionPolicy。
● 相关术语
- cloud-security№ 757
OPA Gatekeeper
OPA Gatekeeper 是 CNCF 的策略控制器,基于 Open Policy Agent 与 Rego 语言,在 Kubernetes 上执行准入与审计策略。
- cloud-security№ 602
Kyverno
Kyverno 是 CNCF 的 Kubernetes 策略引擎,使用原生 YAML(而非新 DSL)编写策略,实现资源的校验、变更与生成。
- cloud-security№ 838
Pod 安全标准(PSS)
Pod 安全标准(PSS)是 Kubernetes 定义的 Privileged、Baseline、Restricted 三种安全档位,用以规范 Pod 配置并替代已弃用的 PodSecurityPolicy。
- cloud-security№ 599
Kubernetes NetworkPolicy
Kubernetes NetworkPolicy 是按命名空间作用的资源,通过 IP、端口与协议控制哪些 Pod 可以与哪些 Pod 或外部端点通信。
- cloud-security№ 582
Kata Containers
Kata Containers 是一个开源运行时,通过为每个容器或 Kubernetes Pod 启动一个轻量虚拟机来提供硬件级隔离。
- cloud-security№ 455
gVisor
gVisor 是 Google 开源的应用层内核,在用户态拦截容器的系统调用,从而显著缩小暴露给不可信工作负载的宿主内核攻击面。