带有通配符的 Istio 授权策略

use*_*404 7 authorization istio

授权策略不支持路径上的任何通配符模式吗?

\n

我有以下端点:

\n
/my-service/docs/active (GET)\n/my-service/docs/<id>/activate/<bool> (PUT)\n
Run Code Online (Sandbox Code Playgroud)\n

第一个将获取所有活动文档,第二个将激活/停用特定文档。\nI\xe2\x80\x99已尝试在授权策略上设置它,但由于 willdcard,它似乎忽略了此策略。

\n
/my-service/docs/active (GET)\n/my-service/docs/<id>/activate/<bool> (PUT)\n
Run Code Online (Sandbox Code Playgroud)\n

除了更新我的所有端点之外,还有什么不同的解决方案吗?

\n

10倍

\n

jt9*_*t97 4

正如我在评论中提到的

\n

根据 istio文档

\n
\n

规则

\n

规则匹配来自源列表的请求,这些源执行\n受一系列条件限制的操作列表。当至少一个源、操作和条件与请求匹配时,就会发生匹配。空规则始终匹配\n。

\n

规则中的任何字符串字段都支持精确、前缀、后缀和\n存在匹配:

\n
    \n
  • 精确匹配:\xe2\x80\x9cabc\xe2\x80\x9d 将匹配值 \xe2\x80\x9cabc\xe2\x80\x9d。
  • \n
  • 前缀匹配:\xe2\x80\x9cabc*\xe2\x80\x9d 将匹配值 \xe2\x80\x9cabc\xe2\x80\x9d 和 \xe2\x80\x9cabcd\xe2\x80\x9d。
  • \n
  • 后缀匹配:\xe2\x80\x9c*abc\xe2\x80\x9d 将匹配值 \xe2\x80\x9cabc\xe2\x80\x9d 和 \xe2\x80\x9cxabc\xe2\x80\x9d。
  • \n
  • 存在匹配:\xe2\x80\x9c*\xe2\x80\x9d 当值不为空时将匹配。
  • \n
\n
\n

所以授权策略确实支持通配符,但我认为问题在于路径*/activate/*,因为路径只能在开头、结尾或整个字符串使用通配符,双通配符不起作用。

\n

有相关的开放 github 问题:

\n\n