istio - ISTIO 授权策略支持通配符规则
问题描述
我试图实施 ISTIO 授权策略,如果声明中的值与特定字符串的任何部分匹配,我需要允许请求。
示例:规则如下所示:
规则: - 至: - 手术: 方法:[“GET”] 主机:[“sample.com”] 什么时候: - 键:request.auth.claims[TEST_STRING] 值: ["SUBSTR" , "*SUBSTR" , "*SUBSTR*" , "SUBSTR*"]
如果值 'SUBSTR' 在声明中包含作为前缀或后缀,则一切正常,但如果字符串 SUBSTR 位于中间,则声明条件失败。如果值在中间包含 substr,是否有任何解决方案允许请求。在我的情况下,当声明包含字符串 xyxSUBSTRpqr 无法匹配规则时。
解决方案
不幸的是,没有您尝试使用的带有前缀和后缀的条件模板。
根据 istio文档:
规则
规则匹配来自源列表的请求,这些请求执行受条件列表约束的操作列表。当至少一个源、操作和条件与请求匹配时,就会发生匹配。始终匹配空规则。
规则中的任何字符串字段都支持 Exact、Prefix、Suffix 和 Presence 匹配:
- 完全匹配:“abc”将匹配值“abc”。
- 前缀匹配:“abc*”将匹配值“abc”和“abcd”。
- 后缀匹配:“*abc”将匹配值“abc”和“xabc”。
- 存在匹配:当值不为空时,“*”将匹配。
推荐阅读
- c++ - C++ 中 str.substr() 的空间复杂度
- android - Android Indeterminate ProgressBar:动画自定义drawable
- python - 在python中使用win32打开的word文档中复制表格
- python - 文本未以等距 tkinter 标签显示
- angular - Typescript 可选导入仅在存在时
- html - 想要使用 chrome 控制台单击具有特定类的所有按钮。这可能吗?
- java - 使用多个参数馈送 JAVA_OPTS
- python - 访问列表 Python 中的一个元素
- python - ret, frame = video_capture.read() ValueError: 要解压的值太多(预期为 2)
- xamarin.forms - 如何停止在 SQLite 数据库中重复的项目?