Below you will find pages that utilize the taxonomy term “OPA”
March 31, 2022
用 Goalng 开发 OPA 策略
"\u003cp\u003e\u003ccode\u003eOpen Policy Agent\u003c/code\u003e 简称\u003ccode\u003eOPA\u003c/code\u003e是一个开源的通用策略引擎,可在整个堆栈中实现统一的、上下文感知的策略实施。OPA 已经成为了云原生计算基金会 ( \u003ca href=\"https://www.cncf.io/\"\u003eCNCF\u003c/a\u003e) 领域的毕业项目,已经在 \u003ca href=\"https://www.openpolicyagent.org/docs/kubernetes-admission-control.html\"\u003eKubernetes\u003c/a\u003e / \u003ca href=\"https://istio.io\"\u003eIstio\u003c/a\u003e 等多个知名项目里使用 。\u003c/p\u003e\n\u003cp\u003eOPA的核心思想就是策略即代码。\u003c/p\u003e\n\u003cp\u003e它使用\u003ccode\u003eRego\u003c/code\u003e语言开发,Rego 的灵感来自 \u003ca href=\"https://en.wikipedia.org/wiki/Datalog\"\u003eDatalog\u003c/a\u003e,它是一种易于理解、已有数十年的历史的查询语言。Rego 扩展了 Datalog 以支持 JSON 等文档模型。对于它的详细介绍请参考官方文档 ,这里不再介绍,本方主要介绍如何使用Golang 来开发一个opa策略。\u003c/p\u003e\n\u003ch1 id=\"概述\"\u003e概述\u003c/h1\u003e\n\u003cp\u003eOPA 将 \u003ccode\u003e策略决策\u003c/code\u003e 与 \u003ccode\u003e策略执行\u003c/code\u003e 分离,当您的软件需要做出策略决策时,它会查询 OPA 并提供结构化数据(例如 JSON)作为输入。 OPA 接受任意结构化数据作为输入。\u003cimg src=\"https://d33wubrfki0l68.cloudfront.net/b394f524e15a67457b85fdfeed02ff3f2764eb9e/6ac2b/docs/latest/images/opa-service.svg\" alt=\"\"\u003e\u003c/p\u003e\n\u003cp\u003e对于它的输入一般称为 \u003ccode\u003einput\u003c/code\u003e, 可以为任意类型,输出也一样可以为任意类型,即可以输出布尔值 \u003ccode\u003etrue\u003c/code\u003e 或 \u003ccode\u003efalse\u003c/code\u003e,也可以输出一个 \u003ccode\u003eJSON\u003c/code\u003e 字符串对象。\u003c/p\u003e\n\u003ch1 id=\"示例\"\u003e示例\u003c/h1\u003e\n\u003cp\u003e我们先从官方提供的一个 playground 开始,它是一个官方提供的在线执行 …\u003c/p\u003e"