我当前正在使用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关于在路径中支持正则表达式,但是目前:
我是否可以避免将每个路径加倍,一个不带查询字符串参数,另一个不带查询字符串参数?
github issue几天前有人问过同样的问题,这导致我们github向您发出add。
特别是github member answer @GODBS的这一部分。>>
没有其他方法可以排除JWT的路径,然后使用不允许正则表达式的授权策略。
我是否可以避免将每个路径加倍,一个不带查询字符串参数,另一个不带查询字符串参数?
据我所知,目前没有其他方法可以使它起作用。现在的解决方法是像您一样添加其他路径。
我想他们会在将来添加它,这里的问题是需要多长时间。