7.3.3 双向认证策略检查

istioctl authn命令用于同Istio认证策略进行交互,从而支持子命令tls-check检查认证策略和目标规则之间的TLS设置是否匹配。通过如下命令检查服务注册表中所有已知服务的设置,具体用法如下:


istioctl authn tls-check

例如,检查特定的某个服务,即命名空间ns1下的服务server1,可以执行如下命令:


CLIENT_POD=$(kubectl get pod -l app=client -n ns1 -o jsonpath={.items..metadata.name})
istioctl authn tls-check ${CLIENT_POD}.ns1  server.ns1.svc.cluster.local

可能的执行结果如下:


HOST:PORT                             STATUS       SERVER     CLIENT     AUTHN POLICY     DESTINATION RULE
server.ns1.svc.cluster.local:8000     CONFLICT     mTLS       HTTP       default/
         -

其中,可以看到在8080端口上始终为server.ns1.svc.cluster.local设置了双向TLS,Istio使用了网格范围的default认证策略,并且在default命名空间中有default目的地规则。