【问题标题】:How to use Authorization and JWT with Istio如何在 Istio 中使用授权和 JWT
【发布时间】:2020-05-10 20:56:38
【问题描述】:

简而言之,我计划让我的服务处理与内部授权相关的自己的授权,即……用户可以访问特定对象(内容:1234)

我认为 Istio Security 正在发生的事情是它处理以下内容

  1. 它可以在我的任何服务被命中之前验证 JWT 令牌
  2. 可以授权请求被允许调用请求的服务
  3. 我相信我实际上可以使用 Istio 生成 JWT 令牌

我想确保我对上述内容的看法是正确的,并提出另外 2 个问题

  1. 我正计划在令牌中包含角色,这就是我的服务如何处理我上面提到的本地安全性,即……用户可以访问内容:1234。 这可能吗?我该怎么做呢?我是否将 Istio 连接到我编写的一些代码或我编写的 MicroServcie?对此感到困惑

  2. 我假设 JWT 令牌将在请求中,因此我应该能够在 Istio 后面的服务中访问它。只是确保。

提前感谢您的帮助

【问题讨论】:

    标签: jwt istio


    【解决方案1】:

    1.

    它可以在我的任何服务被命中之前验证 JWT 令牌

    没有。 Istio 特使过滤器能够对特使代理将从 HTTP 请求的标头中提取的 JWT 令牌执行检查。但是验证(签署 JWT),您可以设置 OpenID Connect 提供程序。例如一个包含 Keycloak 服务器的 pod。


    2.

    可以授权请求被允许调用请求的服务

    是的,您可以配置 AuthorizationPolicy 来执行此操作。这是example


    3.

    我相信我实际上可以使用 Istio 生成 JWT 令牌

    没有。与第一个问题相同的原因。


    4.

    我计划在令牌中包含角色,这就是我的服务如何处理我上面提到的本地安全性,即……用户可以访问内容:1234。这可能吗?我该怎么做呢?我是否将 Istio 连接到我编写的一些代码或我编写的 MicroServcie?对此感到困惑

    答案 #2 涵盖了这一点。


    5.

    我假设 JWT 令牌将在请求中,因此我应该能够在 Istio 后面的服务中访问它。只是确保。

    是的,只要请求得到正确处理(标头在每个服务之间的每个跃点上转发),JWT 令牌就应该在标头中。


    有一篇关于JWT Authenticationhere的文章。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2019-03-19
      • 2019-08-12
      • 1970-01-01
      • 2021-03-05
      • 2017-10-09
      • 2021-11-08
      • 2017-09-11
      • 2020-12-17
      • 2021-11-21
      相关资源
      最近更新 更多