基于服务网格的安全
在微服务的体系架构下,开发人员基于不同的服务框架和开发语言实现自身服务。如何保证整个服务网格的系统安全,以Istio为代表的服务网格产品提出了如下的安全目标:
- 默认安全: 应用程序代码和基础结构无需更改
- 深度防御: 与现有安全系统集成,提供多层防御
- 零信任网络: 在不受信任的网络上构建安全解决方案
为此服务网格需要在下列方向上提供相应的安全措施以保证网格内微服务的安全性:
- 认证:基于统一规范的认证身份,确保服务之间的所有网络流量都是经过安全认证的,在服务应用程序和网关侧提供如JWT,TLS双向认证等多种认证形式。支持可配置的认证策略。
- 鉴权:支持服务与服务间和最终用户到服务间的强制授权检验已确保网格中服务的使用者遵循了权限最小化原则。提供网格维度,命名空间维度和应用负载维度上的基于自定义策略的细粒度授权配置。
- 零信任网络:遵循零信任原则,通过mTLS,RBAC和自动证书轮转等必要安全措施构建一个零信任网络。