OPA 速查
共 23 条 Open Policy Agent 常用写法,涵盖基本用法、Rego 语法、测试与调试、Kubernetes 集成、其他场景。 支持搜索与分类筛选,点击即可复制。
基本用法
通用策略引擎,用 Rego 表达策略。
| 命令 | 说明 |
|---|---|
| 评估策略(传入数据与输入) | |
| 交互式运行 | |
| 服务模式 | |
| 管道输入 |
Rego 语法
声明式策略语言。
| 命令 | 说明 |
|---|---|
| 包与默认值 | |
| 规则(条件成立即真) | |
| 多条规则(或关系) | |
| 存在量词 | |
| 否定 | |
| 引用 data(外部数据) |
测试与调试
保证策略正确。
| 命令 | 说明 |
|---|---|
| 运行测试(_test.rego 文件) | |
| 带 mock 输入的测试 | |
| 解释评估过程(调试) | |
| 格式化 Rego | |
| 语法检查 |
Kubernetes 集成
Gatekeeper。
| 命令 | 说明 |
|---|---|
| Gatekeeper | |
| 两层定义 | |
| 准入控制 | |
| 审计 |
其他场景
OPA 的广泛应用。
| 命令 | 说明 |
|---|---|
| 网关授权 | |
| IaC 校验 | |
| 流水线 | |
| 分发策略包 |
使用说明
Open Policy Agent(Rego)速查:基本用法、Rego 语法、测试与调试、Kubernetes 集成、其他场景;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:基本用法、Rego 语法、测试与调试、Kubernetes 集成、其他场景。
- 点「写法」列复制,替换策略路径与输入后使用。
- 用 opa eval -d 策略文件 -i 输入文件 "data.包.规则" 做验证。
- 策略写测试(_test.rego)+ opa test 保证正确,再接入 CI 或 Gatekeeper。
常见问题
- Rego 与传统 if-else 有什么不同?
- Rego 是声明式的:你描述「在什么条件下结论为真」,而不是写控制流。规则体里多个语句用换行分隔表示「与」,多条同名规则表示「或」。
- input 和 data 有什么区别?
- input 是每次查询传入的当前请求数据(如要校验的资源),data 是预先加载的外部数据或本包其他规则,二者在规则里都可引用。
- 怎么和 Kubernetes 配合?
- 用 Gatekeeper 把 OPA 变成准入控制器:ConstraintTemplate 写 Rego,Constraint 实例化约束,不满足的策略会拒绝资源创建。
延伸阅读
相关工具
DGR
Dagster 速查
@asset / dagster dev / Materialize / IO Manager 速查
PFT
Prefect 速查
@flow / @task / prefect deploy / work-pool 速查
SMG
Semgrep 速查
semgrep scan / --config / pattern / semgrep ci 速查
GLK
Gitleaks 速查
gitleaks detect / protect / .gitleaks.toml 速查
CKV
Checkov 速查
checkov -d / --skip-check / baseline 速查
WG
WireGuard 速查
wg genkey / wg-quick up / AllowedIPs 速查