我是 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 ...
如果未使用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"
}