- 文档首页
容器服务
容器服务 VKE
用户指南
工作负载
配置工作负载
使用 vArmor 实现云原生容器安全
配置工作负载
使用 vArmor 实现云原生容器安全
使用 vArmor 实现云原生容器安全
vArmor 用于为 Kubernetes 集群中的工作负载提供容器加固与运行时防护,适用于需要基于 AppArmor、BPF 和 Seccomp 为云原生应用配置安全策略并验证防护效果的场景,本文介绍使用 vArmor 实现云原生容器安全的配置方法和注意事项。
vArmor 是字节跳动开源的云原生容器沙箱系统,它借助 Linux 的 AppArmor LSM,BPF LSM 和 Seccomp 技术进行容器加固。用户可以通过 vArmor 的 CRD 在 Kubernetes 集群中管理安全策略,对指定工作负载的容器进行加固。vArmor 旨在降低利用现有技术加固容器的门槛和成本,从而平衡安全风险与防护成本。 vArmor 借助不同的加固技术,实现云原生容器的安全加固,其基本概念和工作原理,如下表所示。
不同加固技术的对比,如下表所示。
说明
- AppArmor Enforcer 和 BPF Enforcer 在访问控制能力方面存在部分差异。但两者并不冲突,如有需求,可以在集群中同时使用。
- 行为建模模式与两款执行器是上下游配合关系。行为建模生成的策略,最终必须交由 AppArmor 或 BPF 来执行。
在集群中安装 varmor 组件和相关 CRD 资源后,您可以通过配置 VarmorPolicy 资源自定义容器安全策略。VarmorPolicy 主要包含两部分:
- target:用于通过资源类型和标签选择器,指定哪些 Pod 或工作负载会应用该策略。
- policy:用于定义具体的防护方式,例如选择 AppArmor 还是 BPF 作为执行器、使用哪种防护模式,以及要拦截哪些高危行为。
配置示例和重点参数说明,如下所示:
apiVersion: crd.varmor.org/v1beta1
说明
- 您也可以通过云安全中心,配置指定集群的 VarmorPolicy 策略,详情请参见 容器加固功能说明。
- 更多 vArmor 自定义规则的配置详情和示例,请参见 官方文档。
创建工作负载时,需要在 Pod 标签中添加与target.selector.matchLabels匹配的标签,用于让 VarmorPolicy 选中目标 Pod。如果组件启用了 Webhook 注入能力,还需要按组件要求补充 sandbox.varmor.org/enable: "true" 等匹配标签。本文以无状态负载为例,示例和说明如下:
- 创建工作负载的 YAML 文件。示例文件deployment-demo.yaml代码如下:
sandbox.varmor.org/enable: "true"
image: doc-cn-beijing.cr.volces.com/vke/nginx-demo:v1.0
kubectl apply -f deployment-demo.yaml
- 在左侧导航栏中,单击 工作负载 > 对象浏览器。
- 在 分类 下拉菜单中选择 CRD,使用名称varmorpolicy检索资源对象。
- 单击资源名称,进入资源详情页面,可以看到创建的 VarmorPolicy 配置。
-
- 单击 操作 栏中的 编辑 Yaml 或 删除,即可查看、修改或删除 VarmorPolicy 配置。
- 选择 配置管理 页签,查看已配置的 VarmorPolicy 策略详情。
-
- 单击 操作 栏中的 编辑 或 删除,允许管理当前 VarmorPolicy 策略。
在本文的 VarmorPolicy 中,开启了全局禁止修改文件权限。可以使用如下示例,验证测试是否在 Pod 中生效。
预期结果如下,由于 Pod 开启了全局禁止修改文件权限,因此执行chmod命令,返回失败。
bash: /bin/chmod: Permission denied
违规日志页允许查看指定集群、工作负载触发的违规审计记录,帮助用户快速定位“哪个 Pod、命中了哪条规则、阻断了什么行为”(如访问的文件路径、被过滤的系统调用、网络访问目标等)。日志支持按集群、策略、时间等维度筛选,为策略调优与安全事件溯源提供依据。
- 选择 违规日志 页签,即可查看指定集群或 Pod 中的违规日志。
-
最近更新时间:2026.07.14 14:30:48