Spring 5实战开发及新特性精讲

416 阅读2分钟

download: Spring 5实战开发及新特性精讲

OPA 解决了什么问题

在实际的生产环境中很多场景中都需要策略控制,比如:

  • 需要策略控制用户是否可登陆服务器或者做一些操作;
  • 需要策略控制哪些项目/哪些组件可进行部署;
  • 需要策略控制如何访问数据库;
  • 需要策略控制哪些资源可部署到 Kubernetes 中;

但是对于这些场景或者软件来说,配置它们的策略是需要与该软件进行耦合的,彼此是不统一,不通用的。管理起来也会比较混乱,带来了不小的维护成本。

OPA 的出现可以将各处配置的策略进行统一,极大的降低了维护成本。以及将策略与对应的软件/服务进行解耦,方便进行移植/复用。

OPA 的发展过程

OPA 最初是由 Styra 公司在 2016 年创建并开源的项目,目前该公司的主要产品就是提供可视化策略控制及策略执行的可视化 Dashboard 服务的。

OPA 首次进入 CNCF 并成为 sandbox 级别的项目是在 2018 年, 在 2021 年的 2 月份便已经从 CNCF 毕业,这个过程相对来说还是比较快的,由此也可以看出 OPA 是一个比较活跃且应用广泛的项目。

OPA 是什么

前面我们已经介绍过 Open Policy Agent (OPA) 是一种开源的通用策略引擎,可在整个堆栈中实现统一、上下文感知的策略控制。

OPA 可将策略决策与应用程序的业务逻辑分离(解耦),透过现象看本质,策略就是一组规则,请求发送到引擎,引擎根据规则来进行决策。