Repolode
open-policy-agent

open-policy-agent/opa

通用策略引擎,用 Rego 语言编写授权与合规规则,供服务、Kubernetes 等系统调用决策。

Star
12,442
Fork
1,710
未关闭 Issue
266
最近提交
15小时前

这是什么?

Open Policy Agent(OPA)是一个通用策略引擎。无需把授权或合规逻辑硬编码进每个服务,而是用声明式语言 Rego 编写规则,服务在需要决策时发起查询,OPA 根据提供的规则和数据计算结果,再由调用方执行。

OPA 是云原生计算基金会(CNCF)的毕业项目。它可以作为独立 CLI 或服务运行,提供容器镜像和二进制文件;Go 服务可通过 Go SDK 或底层 Go API 直接嵌入,其他语言则可通过 REST API 集成。

项目提供了与 Kubernetes、Terraform、Docker、SSH 等系统集成的文档,并提供 VS Code 扩展,支持实时诊断、调试和格式化。

核心功能

  • 01策略使用声明式语言 Rego 编写。
  • 02可作为独立 CLI 或服务运行,也可通过 SDK 嵌入 Go 应用。
  • 03提供 REST API,任何语言的服务都能请求策略决策。
  • 04提供 VS Code 扩展,支持实时诊断、调试与格式化。
  • 05提供容器镜像和二进制文件下载。

适用场景

  • 为服务 API 实施授权控制,判断用户能否对资源执行某操作。
  • 在 Kubernetes 资源创建前按准入策略进行校验。
  • 依据合规规则检查 Terraform 等基础设施配置。
  • 在多个微服务之间集中管理访问控制决策。

快速上手

  1. 1

    从 GitHub 发布页或 Docker Hub 下载 OPA 二进制文件或容器镜像

  2. 2

    按照官方文档中的 Running OPA 说明在本地启动 OPA 命令行工具

使用前须知

  • 编写策略需要先学习 Rego 语言。

收录于专题

标签

常见问题

opa 是什么?
通用策略引擎,用 Rego 语言编写授权与合规规则,供服务、Kubernetes 等系统调用决策。 Open Policy Agent(OPA)是一个通用策略引擎。无需把授权或合规逻辑硬编码进每个服务,而是用声明式语言 Rego 编写规则,服务在需要决策时发起查询,OPA 根据提供的规则和数据计算结果,再由调用方执行。
opa 可以免费使用吗?用的什么许可证?
opa 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
opa 还在维护吗?
活跃维护中。opa 最近一次提交是在 2026年11月6日。
opa 适合用来做什么?
为服务 API 实施授权控制,判断用户能否对资源执行某操作。 在 Kubernetes 资源创建前按准入策略进行校验。 依据合规规则检查 Terraform 等基础设施配置。 在多个微服务之间集中管理访问控制决策。
opa 怎么安装和运行?
从 GitHub 发布页或 Docker Hub 下载 OPA 二进制文件或容器镜像 按照官方文档中的 Running OPA 说明在本地启动 OPA 命令行工具
在哪里获取 opa?
源代码和安装说明在 GitHub 上:https://github.com/open-policy-agent/opa

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目