问题描述
我是 OPA(开放策略代理)的新手,并尝试使用 OPA 作为授权的集中服务。
我有几个使用 Spring Boot 构建的微服务,但我不想使用 Spring Security 来保护我的资源/控制器,因为这需要使用 Spring 安全注释来注释我的控制器,并且对资源和角色映射的任何更改都会导致部署服务,这是使用 OPA 的动机,因为我的资源和角色映射并保存在 DB(JSON 格式)中,并且可以动态配置/更改,所以我如何更新 OPA 策略,我遇到了bundles API,但这需要将策略(rego 文件)打包为 tar 文件,并且 OPA 将定期提取它,那么如何将我的 JSON(资源到角色映射)转换为 rego 文件?
解决方法
你不需要。捆绑包可能包含 .rego 文件和数据的 .json 文件,因此您可能想要做的是在构建捆绑包时从数据源中获取 JSON 数据并在更新时发布,或者只是在某个固定时间间隔内发布.有关详细信息,请参阅 bundle file format 上的文档。