如何使用istio绕过网格中的jwt策略

时间:2019-08-21 08:49:12

标签: istio

我正在使用istio设置最终用户身份验证。我的网格中有服务A和服务B,并且服务B被应用了jwt策略,因此对于集群发出的请求,将需要授权令牌才能访问。

但是,我发现如果服务A需要访问服务B,它还返回401,则意味着需要令牌,我如何绕过网格内的身份验证并将其仅应用于来自网格外的流量?

1 个答案:

答案 0 :(得分:0)

我认为用外部身份验证方法安排对同一K8s目标服务的访问是不可行的,假设外部网格访问者对该服务具有JWT令牌的权利,但是内部网格客户端不应遵守此政策规则。

更深入地了解Origin authentication(最终用户身份验证)design方面,您可能会发现Istio Policy高度依赖于target工作负载,代表了特定的K8s服务对象。因此,您不能根据初始请求到达目标k8s服务的方式来更改JWC策略行为。

我想说,您可以在最高istio-ingressgateway服务级别上应用JWT策略,因此,除了K8s发现的网状服务到服务通信之外,到网状服务的所有向外网络请求都将在此阶段进行身份验证。系统,可以通过mTLS传输通道进行保护。但是,该解决方案需要重新考虑影响所有整个网格服务授权和身份验证方法的当前微服务设计。