容器服务 集群安全增强能力

集群安全增强是 TKE 针对企业级 AI Agent 等高安全诉求场景提供的集群级安全加固能力。开启后,TKE 自动在指定范围内下发并持续维护一组安全策略,涵盖 MetaServer 封禁、准入控制和网络隔离三类机制,实现“一键开启、全生命周期托管”,无需用户手动配置和维护各项安全组件。

相关产品
容器服务 产品页,含版本规格、价格与购买入口。

一、核心能力

·自动下发:开启时一次性全量下发所有策略,新建 Namespace 自动补充。

·持续对账:内置 Controller 持续检测,被误删的策略自动修复。

·灰度支持:通过 Namespace 或 Pod Label 控制生效范围,支持渐进式验证。

·干净回收:关闭安全增强时,自动回收所有相关策略,无残留。

二、使用限制

·安全增强策略对指定范围内的所有新建 Pod 生效,违反策略的 Pod 将被拒绝创建。

·以下系统命名空间默认豁免,不受策略约束:kube-system、kube-public、kube-node-lease、gatekeeper-system、tke-backup、crane-system。

·安全增强依赖集群已安装 Gatekeeper 组件。

三、策略说明

开启安全增强后,TKE 将自动下发以下策略:

四、Gatekeeper Assign(变更注入)

策略名 Assign CR 功能说明
MetaServer 封禁 addinitcontainer 向每个 Pod 自动注入 security-defense initContainer,在 Pod 启动前通过 iptables 封禁腾讯云 MetaServer 地址,防止容器获取节点云凭证。

五、Gatekeeper Constraint(准入拦截)

策略名 ConstraintTemplate 功能说明
禁止危险宿主机路径挂载 blockvolumemountpath 禁止 Pod 通过 HostPath 挂载宿主机根路径及 /opt 等前缀路径,防止容器访问节点敏感文件。
禁止危险 Volume 类型 blockmountablevolumetype 禁止 Pod 使用 gitRepo 类型 Volume,防止容器在启动时从外部 Git 仓库自动拉取并执行代码。
禁止特权容器 k8spspprivilegedcontainer 禁止容器以 privileged: true 运行,防止容器逃逸至宿主机。
禁止 SA Token 自动挂载 k8spspautomountserviceaccounttokenpod 禁止容器自动挂载 ServiceAccount Token,防止容器直接获得 Kubernetes API 访问权限。

注意:说明:

注意:所有 Constraint 均采用 enforcementAction: deny,违反即拒绝 Pod 创建。所有安全增强下发的资源均携带标签 app.kubernetes.io/managed-by: tke-security-mode,用于识别和管理。

六、NetworkPolicy(网络隔离)

策略名 policyTypes 功能说明
security-mode-block-container-subnet Egress 封禁 Pod 直连容器子网,防止 Pod 间通过 IP 直接通信实现横向移动。放行正常外网流量和 DNS(UDP/TCP 53)。

各网络模式的 Egress 规则:

规则 VPC-CNI 模式 GlobalRouter 模式
拦截容器子网 0.0.0.0/0 except ENI 子网 CIDR 0.0.0.0/0 except ClusterCIDR
放行 Service CIDR 无需单独放行(ServiceCIDR 与容器子网天然不重叠) 单独放行 ServiceCIDR,确保 Pod → ClusterIP 通信正常
放行 DNS UDP/TCP 53 UDP/TCP 53

七、创建集群时开启

在 容器服务控制台 创建集群时,在高级设置中开启集群安全增强。

八、为已有集群开启

已有集群可前往集群基础信息页面开启安全增强,建议先通过灰度方式验证兼容性,再全量开启。灰度模式支持按 Namespace 或 Pod Label 两种维度灰度:

·按 Namespace 灰度:仅对指定命名空间下的 Pod 生效。

·按 Pod Label 灰度:仅对携带指定 Label 的 Pod 生效,同一 Namespace 内未打 Label 的 Pod 不受影响。

九、关闭安全增强

关闭后,TKE 将自动完整回收所有由安全增强下发的 OPA 策略和 NetworkPolicy,无需手动清理。

十、开启安全增强后,为什么部分 Pod 创建失败?

安全增强策略会拦截以下常见配置,开启前建议提前排查,可通过 kubectl describe pod <pod-name> 查看具体拒绝原因,或查询 Gatekeeper 审计日志定位触发的策略。

·使用 HostPath 挂载宿主机路径的 Pod(如日志采集 DaemonSet)。

·使用 privileged: true 的特权容器(如部分中间件)。

·未显式设置 automountServiceAccountToken: false 的 Pod。

·使用 gitRepo 类型 Volume 的 Pod。

十一、系统组件是否会受到影响?

kube-system 等系统命名空间默认豁免,不受策略约束。业务命名空间中确需豁免的特殊组件,可通过缩小 SecurityModeNamespaces 范围排除对应命名空间。

十二、NetworkPolicy 是否会影响正常的 Service 访问?

不会。NetworkPolicy 仅封禁 Pod 间直接通过容器 IP 互访,Pod 通过 ClusterIP Service 访问其他服务的流量不受影响。VPC-CNI 模式下 ServiceCIDR 与容器子网天然不重叠,GlobalRouter 模式下已单独放行 ServiceCIDR。DNS 解析(UDP/TCP 53)也在放行规则内。

赞 (0)
上一篇 4天前
下一篇 4天前