安全隔离
OpenClaw 支持三种安全隔离方案,适用于不同的安全需求场景。
| 方案 | 隔离强度 | 成本 | 适用场景 |
|---|---|---|---|
| 方案 A:普通容器 + 网络策略 | ⭐⭐ | 基准成本 | 同公司用户,低风险 |
| 方案 B:调度亲和性 + 网络策略 | ⭐⭐⭐ | 基准成本 | 同公司用户,中风险 |
| 方案 C:Kata Containers + 裸金属 | ⭐⭐⭐⭐⭐ | +30-50% | 跨公司,高安全要求 |
方案 A:普通容器运行时
Section titled “方案 A:普通容器运行时”- 标准 Linux 容器隔离(Namespace + Cgroup)
- 使用 containerd/runc 运行时
apiVersion: v1kind: Podmetadata: name: openclaw-userspec: containers: - name: openclaw image: openclaw:latest securityContext: readOnlyRootFilesystem: true allowPrivilegeEscalation: false runAsNonRoot: trueapiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: name: openclaw-isolationspec: podSelector: matchLabels: app: openclaw policyTypes: - Ingress - Egress ingress: - from: - podSelector: matchLabels: role: ingress egress: - to: - podSelector: matchLabels: role: nat-gateway- 同公司内部用户
- 风险可控场景
- 成本敏感
方案 B:调度亲和性策略
Section titled “方案 B:调度亲和性策略”将同公司用户的 Pod 固定到同一节点,即使发生逃逸,也只能访问同公司数据。
apiVersion: v1kind: Podmetadata: name: openclaw-company-a labels: company: company-aspec: affinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchLabels: company: company-a topologyKey: kubernetes.io/hostname containers: - name: openclaw image: openclaw:latest- 多租户场景
- 需要隔离不同公司用户
- 成本与方案 A 相同
方案 C:Kata Containers + 裸金属
Section titled “方案 C:Kata Containers + 裸金属”- 每个 Pod 运行在独立的轻量级虚拟机中
- 使用裸金属服务器(无二次虚拟化损耗)
- 虚拟机级别隔离,安全性接近物理隔离
apiVersion: v1kind: Podmetadata: name: openclaw-securespec: runtimeClassName: kata-containers containers: - name: openclaw image: openclaw:latestRuntimeClass 配置
Section titled “RuntimeClass 配置”apiVersion: node.k8s.io/v1kind: RuntimeClassmetadata: name: kata-containershandler: katascheduling: nodeSelector: node.kubernetes.io/instance-type: bare-metal- 裸金属价格比虚拟机高 30-50%
- 超卖后成本可控
- 适合高安全要求场景
- 金融/政务等敏感场景
- 跨公司数据强隔离
- 合规要求
| 阶段 | 推荐方案 | 理由 |
|---|---|---|
| 初期试点 | 方案 A | 成本最低,快速验证 |
| 规模上线 | 方案 B | 成本不变,风险降低 |
| 高安全要求 | 方案 C | 金融/政务等敏感场景 |