OPA(开放策略代理)
OPA(开放策略代理) 是什么?
OPA(开放策略代理)CNCF 毕业的通用策略引擎,使用 Rego 语言将授权决策与应用以及 Kubernetes 准入控制解耦。
OPA(Open Policy Agent)是一个开源的通用策略引擎,允许团队用声明式语言 Rego 将授权、准入控制和配置规则表达为代码。应用与平台以 JSON 形式将输入发送给 OPA 并获得决策,从而将策略从业务逻辑中剥离。它被广泛用于 Kubernetes 准入控制(通过 Gatekeeper)、微服务授权(Envoy/Istio 外部 authz)、Terraform 计划检查、CI/CD 守护规则以及 SaaS RBAC。OPA 可以作为 sidecar、独立服务、库或完全运行在集群内,并支持策略包和决策日志。最佳实践包括为 Rego 策略编写充分的测试、对策略包进行版本化以及持续的策略评审。
● 示例
- 01
Gatekeeper 使用 OPA 拒绝以 root 身份运行的 Kubernetes Pod。
- 02
Envoy ext_authz 通过 gRPC 将每次请求的授权委托给 OPA。
● 常见问题
OPA(开放策略代理) 是什么?
CNCF 毕业的通用策略引擎,使用 Rego 语言将授权决策与应用以及 Kubernetes 准入控制解耦。 它属于网络安全的 云安全 分类。
OPA(开放策略代理) 是什么意思?
CNCF 毕业的通用策略引擎,使用 Rego 语言将授权决策与应用以及 Kubernetes 准入控制解耦。
OPA(开放策略代理) 是如何工作的?
OPA(Open Policy Agent)是一个开源的通用策略引擎,允许团队用声明式语言 Rego 将授权、准入控制和配置规则表达为代码。应用与平台以 JSON 形式将输入发送给 OPA 并获得决策,从而将策略从业务逻辑中剥离。它被广泛用于 Kubernetes 准入控制(通过 Gatekeeper)、微服务授权(Envoy/Istio 外部 authz)、Terraform 计划检查、CI/CD 守护规则以及 SaaS RBAC。OPA 可以作为 sidecar、独立服务、库或完全运行在集群内,并支持策略包和决策日志。最佳实践包括为 Rego 策略编写充分的测试、对策略包进行版本化以及持续的策略评审。
如何防御 OPA(开放策略代理)?
针对 OPA(开放策略代理) 的防御通常结合技术控制与运营实践,详见上方完整定义。
OPA(开放策略代理) 还有哪些其他名称?
常见的别称包括: 开放策略代理, Rego 策略引擎。
● 相关术语
- cloud-security№ 839
策略即代码
将安全、合规与治理规则用机器可读的代码进行定义,从而可版本化、可测试、可评审并自动执行的实践。
- cloud-security№ 991
安全即代码
将安全控制、测试和基础设施以源代码形式表达,实现版本化、同行评审、自动化,并与应用一起持续交付的实践。
- cloud-security№ 600
Kubernetes 安全
对 Kubernetes 集群(API Server、控制平面、节点、工作负载与网络)的保护,防止配置错误、被攻陷以及横向移动。
- cloud-security№ 1014
服务网格安全
服务网格为云原生环境中服务间流量提供的身份、加密与授权控制集合。
- compliance№ 204
合规
通过文档化控制、证据收集和持续评估,满足法律、监管、合同及内部安全要求的实践。
- network-security№ 1262
零信任网络
默认不信任任何用户、设备或服务,并对每一次连接基于身份进行持续验证的网络架构。