Master
工具

Open Policy Agent(OPA)

NOT ON THE CURRENT EDITION
This blip is not on the current edition of the Radar. If it was on one of the last few editions it is likely that it is still relevant. If the blip is older it might no longer be relevant and our assessment might be different today. Unfortunately, we simply don't have the bandwidth to continuously review blips from previous editions of the RadarUnderstand more
Published: Nov 20, 2019
Last Updated: May 19, 2020
May 2020
试验?

在我们为客户构建的许多分布式云原生解决方案中,Open Policy Agent (OPA) 已经迅速地展现了它的价值。OPA 提供了一套统一的框架和语言,用于声明,实施和控制云原生解决方案中各个组件的策略。它是实现安全策略即代码的工具中的一个很好的例子。无论是在K8s 集群中部署资源,还是在服务网格中跨服务执行访问控制,抑或是通过代码精准地控制应用资源访问,在很多场景中 OPA 都给我们提供了非常顺畅的体验。最近的一个商业产品 Styra 声明式授权服务(Styra's Declarative Authorization Service (DAS)),通过向 K8s 的 OPA 中添加管理工具(或者说控制平面),预先构建的策略库,策略影响分析和日志记录等功能,使企业采用 OPA 变得更加简单。我们期待 OPA 的成熟和扩展,希望它可以从一个可用的服务演变成一个(大型的)以数据为中心的解决方案。

Nov 2019
评估?

横跨多个技术领域统一定义和实施安全策略很有挑战。即使对于简单的应用程序,也必须使用其组件内置的安全策略配置和实施机制,来控制对容器编排器、保存服务状态的服务及数据存储等组件的访问。

我们对开放策略代理(OPA)这个尝试解决此问题的开源技术感到非常兴奋。OPA可以使用Rego策略定义语言,以代码的方式进行细粒度的访问控制与灵活的策略定义。Rego在应用程序代码之外,以分布式且不干扰用户的方式实施策略。在撰写本文时,OPA以统一而灵活的策略定义及执行实现,确保了通过Envoy边车和Kafka访问Kubernetes API和微服务API的安全性。它也可以用作任何服务的边车,用以验证访问策略或过滤响应数据。OPA背后的公司Styra针对分布式策略的集中可见性提供提供商业化的解决方案。我们希望OPA可以通过CNCF孵化计划成熟起来,并继续为多样化的数据存储等更具挑战性的策略执行场景提供支持。