open-policy-agent/opa

GitHub: open-policy-agent/opa

CNCF毕业项目,云原生领域通用的策略引擎,通过Rego声明式语言实现策略与代码解耦。

Stars: 11286 | Forks: 1522

# ![logo](https://static.pigsec.cn/wp-content/uploads/repos/2026/02/52721c4dbd084905.png) 开放策略代理 [![Build Status](https://static.pigsec.cn/wp-content/uploads/repos/2026/02/9fa18eb19b084907.svg)](https://github.com/open-policy-agent/opa/actions) [![Go Report Card](https://goreportcard.com/badge/github.com/open-policy-agent/opa)](https://goreportcard.com/report/github.com/open-policy-agent/opa) [![CII Best Practices](https://www.bestpractices.dev/projects/1768/badge)](https://www.bestpractices.dev/en/projects/1768/passing) [![Netlify Status](https://api.netlify.com/api/v1/badges/4a0a092a-8741-4826-a28f-826d4a576cab/deploy-status)](https://app.netlify.com/sites/openpolicyagent/deploys) Open Policy Agent (OPA) 是一个开源的通用策略引擎,可在整个技术栈中实现统一、上下文感知的策略执行。 OPA 很荣幸成为 [Cloud Native Computing Foundation](https://www.cncf.io/) (CNCF) 景观中的毕业项目。详情请阅读 CNCF [announcement](https://www.cncf.io/announcements/2021/02/04/cloud-native-computing-foundation-announces-open-policy-agent-graduation/)。 ## OPA 入门 - 使用 [Rego Playground](https://play.openpolicyagent.org) 编写你的第一个 Rego 策略,或者用它分享你的工作以获得反馈和支持。如果你不确定从哪里开始,请查看 [Access Control examples](https://play.openpolicyagent.org/?example-group=access-control)。 - 安装 [VS Code extension](https://marketplace.visualstudio.com/items?itemName=tsandall.opa) 以在本地开始使用,获得实时诊断、调试和格式化功能。有关其他受支持的编辑器,请参阅 [Editor and IDE Support](https://www.openpolicyagent.org/docs/editor-and-ide-support)。 - 前往 [OPA Documentation](https://www.openpolicyagent.org/docs) 学习 Rego 语言以及如何部署和集成 OPA。 - 查看 [Learning Rego](https://www.openpolicyagent.org/ecosystem/by-feature/learning-rego) 部分中的学习资源。 - 按照 [Running OPA](https://www.openpolicyagent.org/docs/latest/#running-opa) 说明在本地开始使用 OPA CLI。 - 有关容器镜像,请参阅 [Docker Hub](https://hub.docker.com/r/openpolicyagent/opa/tags/);有关二进制文件,请参阅 [GitHub releases](https://github.com/open-policy-agent/opa/releases)。 - 查看 [OPA Roadmap](https://docs.google.com/presentation/d/16QV6gvLDOV3I0_guPC3_19g6jHkEg3X9xqMYgtoCKrs/edit?usp=sharing),了解正在进行和计划中的 OPA 功能的高级概览。 ## 想讨论 OPA 或获取支持? - 加入 [OPA Slack](https://slack.openpolicyagent.org) 与其他 OPA 用户和维护者交流。请访问 `#help` 寻求支持。 - 查看 [Community Discussions](https://github.com/orgs/open-policy-agent/discussions) 以提出问题。 - 请参阅 [Support](https://www.openpolicyagent.org/support) 页面了解商业支持选项。 ## 有兴趣了解其他人如何使用 OPA 吗? - 浏览 [OPA Ecosystem Directory](https://www.openpolicyagent.org/ecosystem) 上的社区项目——别忘了 [list your own](https://github.com/open-policy-agent/opa/tree/main/docs#opa-ecosystem)! - 查看 [ADOPTERS.md](./ADOPTERS.md) 文件以获取生产采用者列表。你的组织是否在生产环境中使用 OPA?通过提交 PR 将你的组织添加到列表中,并附上简短的 OPA 用例描述,以此支持 OPA 项目! ## 想要集成 OPA? - 请参阅高级 [Go SDK](https://www.openpolicyagent.org/docs/integration#integrating-with-the-go-sdk) 或低级 Go API [![GoDoc](https://pkg.go.dev/badge/github.com/open-policy-agent/opa?utm_source=godoc)](https://pkg.go.dev/github.com/open-policy-agent/opa/rego?utm_source=godoc) 以将 OPA 与用 Go 编写的服务集成。 - 请参阅 [REST API](https://www.openpolicyagent.org/docs/rest-api.html) 参考,以将 OPA 与用其他语言编写的服务集成。 - 有关更多选项,请参阅 [integration docs](https://www.openpolicyagent.org/docs/integration)。 ## 想要为 OPA 做贡献? - 阅读 [Contributing Guide](https://www.openpolicyagent.org/docs/contributing) 了解如何做出你的第一次贡献。 - 在 Slack 中使用 [#contributors](https://openpolicyagent.slack.com/?redir=%2Farchives%2FC02L1TLPN59%3Fname%3DC02L1TLPN59) 与其他贡献者和 OPA 维护者交流。 - 提交 [GitHub Issue](https://github.com/open-policy-agent/opa/issues) 以请求功能或报告错误。 ## OPA 如何工作? OPA 为你提供了一种高级声明式语言,用于在整个堆栈中编写和执行策略。 使用 OPA,你可以定义控制系统行为的_规则_。这些规则旨在回答如下问题: - 用户 X 可以对资源 Z 调用操作 Y 吗? - 工作负载 W 应该部署到哪些集群? - 在创建资源 R 之前必须设置哪些标签? 你将服务与 OPA 集成,这样这类策略决策就不必在服务中_硬编码_。服务通过在需要策略决策时执行_查询_来与 OPA 集成。 当你向 OPA 查询策略决策时,OPA 会评估规则和数据(由你提供)以生成答案。策略决策作为查询的结果返回。 例如,在一个简单的 API 授权用例中: - 你编写允许(或拒绝)访问服务 API 的规则。 - 你的服务在收到 API 请求时查询 OPA。 - OPA 将允许(或拒绝)决策返回给你的服务。 - 你的服务通过相应地接受或拒绝请求来_执行_这些决策。 有关如何将 OPA 与 [Kubernetes](https://www.openpolicyagent.org/docs/kubernetes)、 [Terraform](https://www.openpolicyagent.org/docs/terraform)、 [Docker](https://www.openpolicyagent.org/docs/docker-authorization)、 [SSH](https://www.openpolicyagent.org/docs/ssh-and-sudo-authorization) 等系统集成的具体示例,请参阅 [openpolicyagent.org](https://www.openpolicyagent.org)。 ## 演讲 - Open Policy Agent (OPA) 介绍与深入探讨 @ Kubecon NA 2023: [video](https://www.youtube.com/watch?v=wJkjsvVpj_Q) - Open Policy Agent (OPA) 介绍与深入探讨 @ Kubecon EU 2023: [video](https://www.youtube.com/watch?v=6RNp3m_THw4) - 使用 WASM & OPA 在难以触及的地方运行策略 @ CN Wasm Day EU 2023: [video](https://www.youtube.com/watch?v=BdeBhukLwt4) - OPA 维护者访谈 @ Kubecon NA 2022: [video](https://www.youtube.com/watch?v=RMiovzGGCfI) - Open Policy Agent (OPA) 介绍与深入探讨 @ Kubecon EU 2022: [video](https://www.youtube.com/watch?v=MhyQxIp1H58) - Open Policy Agent 介绍 @ KubeCon EU 2021: [Video](https://www.youtube.com/watch?v=2CgeiWkliaw) - 使用 Open Policy Agent 满足不断变化的策略需求 @ KubeCon NA 2020: [video](https://www.youtube.com/watch?v=zVuM7F_BTyc) - 使用 Open Policy Agent 在整个应用生命周期中应用策略 @ CloudNativeCon 2019: [video](https://www.youtube.com/watch?v=cXfsaE6RKfc) - Open Policy Agent 介绍 @ CloudNativeCon EU 2018: [video](https://youtu.be/XEHeexPpgrA), [slides](https://www.slideshare.net/slideshow/opa-the-cloud-native-policy-engine/96644504) - Rego 深入探讨 @ CloudNativeCon EU 2018: [video](https://youtu.be/4mBJSIhs2xQ), [slides](https://www.slideshare.net/slideshow/rego-deep-dive/96644608) - Netflix 如何在其云中解决授权问题 @ CloudNativeCon US 2017: [video](https://www.youtube.com/watch?v=R6tUNpRpdnY), [slides](https://www.slideshare.net/slideshow/how-netflix-is-solving-authorization-across-their-cloud/84384095). - Kubernetes 联邦中基于策略的资源放置 @ LinuxCon Beijing 2017: [slides](https://www.slideshare.net/slideshow/policybased-resource-placement-across-hybrid-cloud/83876901), [screencast](https://www.youtube.com/watch?v=hRz13baBhfg&feature=youtu.be) - 在 Kubernetes 中执行定制策略 @ KubeCon US 2017: [video](https://www.youtube.com/watch?v=llDI8VvkUj8), [slides](https://www.slideshare.net/slideshow/enforcing-bespoke-policies-in-kubernetes/83877237) - Istio 的 Mixer:使用自定义适配器进行策略执行 @ CloudNativeCon US 2017: [video](https://www.youtube.com/watch?v=czZLXUqzd24), [slides](https://www.slideshare.net/slideshow/istios-mixer-policy-enforcement-with-custom-adapters-cloud-nativecon-17/83877455) ## 安全 第三方安全审计由 Cure53 执行,你可以查看完整报告 [here](SECURITY_AUDIT.pdf)。 请通过电子邮件向 [open-policy-agent-security](mailto:open-policy-agent-security@googlegroups.com) 报告漏洞。 我们将发送确认消息以确认收到报告,然后在问题调查完成后发送后续消息。
标签:AI工具, AI辅助写作, CNCF, DevSecOps, DNS解析, Docker‑Compose, EVTX分析, EVTX分析, EVTX分析, EVTX分析, EVTX分析, EVTX分析, EVTX分析, Go语言, GPT优化, Groq API, GUI应用, Homebrew安装, Kubernetes, Lerna, OPA, Prompt框架, Rego, Rust语言, Streamlit, web渗透, 上游代理, 二进制文件分析, 云原生, 云安全, 可视化调试, 合规性检查, 基础设施即代码, 安全框架, 审计, 带宽管理, 开放策略代理, 开源项目, 微服务, 提示词工程, 提示词模板, 提示词编写, 数据过滤, 文本排版, 日志审计, 权限管理, 模型越狱, 用户界面自定义, 程序破解, 策略决策点, 策略即代码, 策略引擎, 策略执行, 结构化提示词, 统一授权, 网络安全挑战, 聊天机器人安全, 自动化工作流, 角色扮演, 访问控制, 请求拦截, 软件定义边界, 靶场