在实施多租户架构时首先需要确定对应的应用场景,包括判断租户内用户和应用负载的可信程度以及对应的安全隔离程度。在此基础上以下几点是安全隔离的基本需求:
开启Kubernetes集群的默认安全配置
- 开启RBAC鉴权,禁止匿名用户访问
- 开启secrets encryption能力,增强敏感信息保护
- 基于CIS kubernetes benchmarks进行相应的安全配置
- 开启NodeRestriction, AlwaysPullImages, PodSecurityPolicy等相关admission controllers
- 通过PSP限制pod部署的特权模式,同时控制其运行时刻SecurityContext配置NetworkPolicy
- Docker 运行时刻开启Seccomp/AppArmor/SELinux配置
- 尽量实现监控、日志等服务的多租隔离