实时防护容器应用

更新时间:
复制 MD 格式

如果业务运行于自建 Kubernetes 集群、火山云或腾讯云等第三方云厂商的容器环境,可以通过阿里云 ack-onepilot 组件为工作负载部署运行时应用自保护,实现应用级的实时攻击检测与防护。

适用范围

  • K8s 集群环境:

    • 自建 K8s 集群,火山云和腾讯云等三方云厂商器容器环境。

    • Kubernetes 集群版本为 1.18 或以上。

    • 集群能够连通公网,或通过云企业网等方式打通阿里云 VPC 与集群之间的连接。

  • 操作机工具:操作机器已安装 kubectl 和 helm 命令行工具,且能够管理目标 K8s 集群。

  • 账号与权限:若使用 RAM 用户来操作,请授予 AliyunARMSFullAccessAliyunSTSAssumeRoleAccess 权限,并生成 AccessKey ID 和 AccessKey Secret。

  • 前置接入:已将OpenClaw接入Agent安全中心,需确保服务器已安装 OpenClaw 且 Node.js 版本 ≥ 22。

获取 PilotAmsKey

  1. 访问云安全中心控制台-Agent安全中心-Agent概览,在页面左侧顶部,选择需防护资产所在的区域:中国内地非中国内地

  2. Agent 概览接入平台的 OpenClaw 区域,单击立即防护

  3. 启用 OpenClaw 实时防护弹窗中,选择手动安装

  4. 选择执行安装指令区域,复制并保存安装命令 --key 之后的参数值即为PilotAmsKey

安装 ack-onepilot 组件

ck-onepilot 需在每个集群中部署一次。如果有多个集群,需对每个集群重复执行步骤二至步骤五,步骤一为操作机侧一次性动作,无需重复。

步骤一:安装 Helm 3

如已安装 Helm 3,可跳过此步骤。

curl -fsSL https://get.helm.sh/helm-v3.14.0-linux-amd64.tar.gz | tar xz
sudo mv linux-amd64/helm /usr/local/bin/helm
helm version

步骤二:下载 ack-onepilot

从以下地址下载安装包,最新版本以阿里云官方为准,版本不低于 5.2.1。以下命令示例使用 5.2.1,实际执行时请将 5.2.1 替换为最新版本号。

wget 'https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-onepilot-5.2.1.tgz'
tar xvf ack-onepilot-5.2.1.tgz

步骤三:编辑 values.yaml

编辑 ack-onepilot/values.yaml 文件,配置以下参数,更多说明请参见ack-onepilot

参数

说明

registry

ack-onepilot 镜像地址,根据实际环境确定。

cluster_id

自定义集群 ID,建议格式为 <uid>-<集群ID>

accessKey

RAM 用户的 AccessKey ID

accessKeySecret

RAM 用户的 AccessKey Secret

uid

阿里云主账号 UID。

步骤四:安装 ack-onepilot

执行以下命令将 ack-onepilot 安装到集群:

helm upgrade --install ack-onepilot ./ack-onepilot \
  --namespace ack-onepilot --create-namespace

步骤五:验证组件运行

执行以下命令,确认 ack-onepilot 相关 Pod 均处于 Running 状态。

kubectl get pods -n ack-onepilot
# ack-onepilot 相关 Pod 应为 Running

部署到工作负载

ack-onepilot 通过识别工作负载 Pod 模板上的特定标签(Label),自动为匹配的 Pod 注入探针。为目标工作负载启用防护时,修改其 YAML,向 spec.template.metadata.labels 添加以下标签。

参数说明

标签

说明

PilotAutoEnable

设置为 "on" 启用自动注入。

PilotAmsKey

从云安全中心控制台获取的密钥,获取方式见获取 PilotAmsKey

PilotLang

应用语言,支持 "nodejs""python"

PilotRegion

数据上报地域。

  • cn :中国内地数据中心

  • abroad:非中国内地数据中心。

配置示例

Node.js 应用

spec:
  template:
    metadata:
      labels:
        PilotAutoEnable: "on"
        PilotAmsKey: "<YOUR_AMS_KEY>"
        PilotLang: "nodejs"
        PilotRegion: "cn"

Python 应用

spec:
  template:
    metadata:
      labels:
        PilotAutoEnable: "on"
        PilotAmsKey: "<YOUR_AMS_KEY>"
        PilotLang: "python"
        PilotRegion: "cn"

应用变更

  • 修改完工作负载 YAML 后,执行以下命令将变更应用到集群:

    kubectl apply -f <YOUR-WORKLOAD>.yaml
  • 如果工作负载已在运行中,需要重启 Pod 以使探针生效:

    kubectl rollout restart deployment/<YOUR-DEPLOYMENT> -n <namespace>

查看和处理风险事件

插件安全完毕后,Agent安全中心将自动检测并防御容器应用中可能存在的提示词攻击并拦截恶意 URL 访问等风险。如需查看防护事件,可前往Agent安全中心-Agent风险查看实时防护的攻击拦截记录和风险事件详情。

计费说明

2026 年 8 月 25 日起,Agent 安全中心提供的防御插件将开始正式商用计费。更多内容,请参见【产品变更】实时防御能力计费公告