Inistio AuthorizationPolicy如何匹配包含查询字符串参数的路径

问题描述 投票:0回答:1

我当前正在使用istio 1.4,并且启用了Policy来检查jwt。我启用了具有该规则的AuthorizationPolicy

  rules
  - to:
    - operation:
        methods: ["GET"]
        paths: [
          "/render/checkout"
        ]
    when:
    - key: request.auth.claims[roles]
      values: ["USER"]

当我用jwt踏上那条路时,一切都很好。问题是,当我使用查询字符串参数(例如/render/checkout?sort=asc)访问相同的网址时,得到了RBAC: access denied。为了绕过这个问题,我最终添加了包括问号和通配符的路径:

paths: [
          "/render/checkout", "/render/checkout?*"
        ]

但是具有很多路径和很多微服务,我觉得这不应该发生,因为它非常重复并且容易出错。

我知道已经有issue on github关于在路径中支持正则表达式,但是目前:

我是否可以避免将每个路径加倍,一个不带查询字符串参数,另一个不带查询字符串参数?

security istio
1个回答
0
投票

github issue几天前有人问过同样的问题,这导致我们github向您发出add

特别是github member answer @GODBS的这一部分。>>


没有其他方法可以排除JWT的路径,然后使用不允许正则表达式的授权策略。


我是否可以避免将每个路径加倍,一个不带查询字符串参数,另一个不带查询字符串参数?

据我所知,目前没有其他方法可以使它起作用。现在的解决方法是像您一样添加其他路径。

我想他们会在将来添加它,这里的问题是需要多长时间。

© www.soinside.com 2019 - 2024. All rights reserved.