概述
Istio Auth的目标是提高微服务及其通信的安全性,而不需要修改服务代码。它负责:
为每个服务提供强大的身份,代表其角色,以实现跨集群和云的互通性
加密服务间通信和终端用户到服务的通信
提供密钥管理系统来自动执行密钥和证书的生成、分发、轮换和撤销
架构
图展示Istio Auth架构,其中包括三个主要组件:身份、密钥管理和通信安全。它描述了Istio Auth如何用于加密服务间通信,在以服务帐户“foo”运行的服务A,和以服务帐户“bar”运行的服务B之间。
如图所示,Istio Auth利用secret volume mount,从Istio CA向Kubernetes容器传递keys/certs。对于在VM/裸机上运行的服务,我们引入了节点代理,它是在每个VM/裸机上运行的进程。它在本地生成私钥和CSR(证书签名请求),将CSR发送给Istio CA进行签名,并将生成的证书与私钥一起交给Envoy。