本章节主要介绍在服务网格,如何实现连接认证能力
操作场景
希望限制访问生产环境(base namespace)下所有服务间的访问必须开启双向认证 mTLS,以防御中间人攻击。
服务网格中服务间通信模式默认为 PERMISSIVE 宽容模式,即服务间的通信既可以使用 mTLS 加密,也可以使用 plaintext 明文连接。
此时在容器服务控制台登录 client 容器,使用明文连接对生产环境(base namespace)product 服务发起请求:curl http://product.base.svc.cluster.local/
,此时明文连接也可正常访问 product 服务
部署
限制 base namespace 下的服务间通信必须采用 mTLS 模式可以通过 PeerAuthentication 策略设置 mTLS 模式为 STRICT 完成
apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:
name: base-strict
namespace: base
spec:
mtls:
mode: STRICT