【问题标题】:How to bypass jwt policy within mesh using istio如何使用 istio 在网格中绕过 jwt 策略
【发布时间】:2019-08-23 17:54:39
【问题描述】:

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

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

【问题讨论】:

    标签: istio


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-17
      • 2020-05-21
      • 1970-01-01
      • 2015-07-11
      • 2014-03-17
      • 2012-12-30
      • 1970-01-01
      • 2011-02-14
      相关资源
      最近更新 更多