OPA策略配置求助:仅允许访问/index路径的Rego规则失效
OPA+Istio仅允许访问/index路径的规则修复方案
核心问题:请求属性路径错误
你当前的Rego规则使用了http_request,但Istio传递给OPA的请求属性结构是input.request.http,这直接导致规则永远无法匹配。OPA默认会拒绝所有未匹配allow条件的请求,进而引发你遇到的连接终止错误。
修正后的Rego规则
package istio.authz import rego.v1 allow if { input.request.http.method == "GET" input.request.http.path == "/index" }
额外排查步骤
- 查看OPA Pod日志,确认接收到的请求属性结构,执行命令:
kubectl logs -n opa <你的OPA Pod名称> -f - 检查Istio的Envoy过滤器配置,确保请求属性被正确映射到OPA的
input结构中 - 验证非/index路径是否被正确拒绝,同时确认/index的GET请求能正常访问你的Web服务
- 确保你的Web服务已加入Istio网格,流量路由配置正确
内容的提问来源于stack exchange,提问作者Andrea
相关产品推荐
相关产品推荐

