访问特殊路径的 OPA 政策是什么?

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

我是 OPA 新手,为了得到这个结果做了很多尝试:

我希望 OPA 只允许访问 /index.html。我正在安装 docker 的 minikube 上工作,并且我有一个 mciroservice 作为网络服务器。但以下 rego 不起作用:

package istio.authz
import rego.v1

allow if {
    http_request.method == "GET"
    http_request.path == "/index"
}

我使用 OPA 网站上的 Quick_start 文件安装了 istio 和 OPA。

当我尝试访问 /index 时,结果如下:

upstream connect error or disconnect/reset before headers. reset reason: connection termination

但不幸的是我不知道如何更改 rego ...

minikube istio opa
1个回答
0
投票

如果未使用bundle api,OPA 会引用应用程序名称空间配置映射“opa-policy”中的策略,并将其作为卷挂载加载到“opa-istio”容器中。更多详细信息请参阅opa 教程

在典型的部署中,策略将内置到 OPA 中 容器镜像,或者通过 Bundle API 动态获取。 本教程中使用 ConfigMap 进行测试。

http_request 的导入语句缺少policy.rego,这将导致策略错误。请使用如下更新的政策。

package istio.authz

import input.attributes.request.http as http_request
import rego.v1

allow if {
    http_request.method == "GET"
    http_request.path == "/index"
}
© www.soinside.com 2019 - 2024. All rights reserved.