云原生安全
云原生安全的八个维度:镜像安全、运行时安全、密钥安全、网络安全、RBAC、供应链安全、API 安全、AI Agent 安全。
#type / concept
#status / growing
#tech / ops
#tech / sec
[!info] related notes
- 所属 MOC: 云原生 MOC
- 前置概念: cloud-native-development
- 并列概念: cloud-native-resilience, twelve-factor-app
- 相关: Cybersecurity MOC, Security MOC
云原生安全
一句话定义
云原生安全不是上线前扫一下漏洞,而是贯穿开发、构建、部署、运行全过程的安全实践。
八个安全维度
1. 镜像安全
- 使用最小基础镜像(alpine、distroless)
- 定期扫描镜像漏洞(Trivy、Snyk)
- 不在镜像中硬编码密钥或敏感信息
- 使用固定版本标签,不用
latest - 多阶段构建,减小攻击面
2. 运行时安全
- 容器以非 root 用户运行
- 只读文件系统(read-only root filesystem)
- 限制容器 capabilities
- 使用 seccomp / AppArmor 限制系统调用
- 网络策略限制 Pod 间通信
3. 密钥安全
- 不把 API Key、数据库密码写进代码或镜像
- 使用 Kubernetes Secret 或外部密钥管理(Vault、云厂商 KMS)
- 环境变量注入敏感配置
- 定期轮换密钥
- CI/CD 中的 secrets 用平台提供的 secrets 管理
4. 网络安全
- 服务间访问用 Network Policy 限制
- 内部服务不暴露公网
- TLS 加密所有外部通信
- API Gateway 统一入口,限制暴露面
- 使用 mTLS 加密服务间通信(Service Mesh)
5. RBAC 权限
- Kubernetes RBAC 最小权限原则
- Service Account 按服务分配,不用默认 SA
- CI/CD 的 Service Account 权限最小化
- 定期审计权限
6. 供应链安全
- 验证依赖包来源(lockfile、checksum)
- 镜像签名与验证
- CI/CD Pipeline 本身的安全
- 使用可信的基础镜像源
- SBOM(Software Bill of Materials)追踪依赖
7. API 安全
- 认证(Authentication):JWT、OAuth2
- 鉴权(Authorization):RBAC、ABAC
- 限流(Rate Limiting)
- 输入校验(防止注入攻击)
- 审计日志
8. AI Agent 特有安全
AI 应用比普通 CRUD 系统多了几个安全维度:
Prompt 注入防御:
- 用户输入不直接拼入 system prompt
- 检测恶意 prompt 模式
- 工具调用前的人类确认(Human-in-the-loop)
工具调用越权:
- 工具执行前校验权限
- 高风险操作需要人类审批
- 工具调用审计日志
数据泄露防护:
- 用户数据不混入训练数据
- RAG 检索结果的权限隔离
- 输出内容的 PII 脱敏
输出审计:
- 记录每次 LLM 输出
- 异常输出检测与告警
- 模型输出的可追溯性
安全左移
云原生安全强调”安全左移”(Shift Left Security)——把安全检查从上线前移到开发阶段:
- IDE 中的安全 lint
- Git commit 前的 secrets 扫描
- CI 中的镜像漏洞扫描
- PR 中的安全审查
- 部署前的策略检查