segrax/opa-policy-generator

将 OpenAPI 3 规范转换为 OPA 策略

0.5.0 2023-07-18 04:38 UTC

This package is auto-updated.

Last update: 2024-09-18 07:07:27 UTC


README

OpenAPI 3 规范转换为 OPA 策略。

Software License

警告

虽然这个工具将生成表示策略的文件,但在使用策略之前建议手动审查每一行。

如 API 密钥等项必须手动设置,以及任何其他在规范中无法定义的安全相关项。

早期开发

这个工具处于开发阶段,可能不支持所有 OpenAPI3 功能,如果发现缺少您所需的功能,请提交功能请求。

如何使用

使用 opapg 最简单的方法是通过 docker,将包含规范文件夹挂载为卷

    docker run --volume d:/projects/myapi:/srv/app segrax/opapg from-openapi openapi.yaml --output=mypolicy

这将生成一个策略以及一组策略测试(在挂载的卷中),并将 'opa test' 命令的结果输出到控制台

data.name.api.test_locat_id_oauth2_allowed: PASS (537.7µs)
data.name.api.test_locat_id_oauth2_denied: PASS (401.6µs)
data.name.api.test_locat_id_apiKey1_allowed: PASS (352.5µs)
data.name.api.test_locat_id_apiKey1_denied: PASS (293.5µs)
data.name.api.test_locations_near_allowed: PASS (280.2µs)
data.name.api.test_locations_get_allowed: PASS (849.6µs)
data.name.api.test_locations_create_bearerAuth_allowed: PASS (707.1µs)
data.name.api.test_locations_create_bearerAuth_denied: PASS (346.1µs)
data.name.api.test_media_get_allowed: PASS (398µs)
data.name.api.test_media_list_allowed: PASS (343.1µs)
data.name.api.test_media_upload_bearerAuth_allowed: PASS (314.3µs)
data.name.api.test_media_upload_bearerAuth_denied: PASS (447.2µs)
--------------------------------------------------------------------------------
PASS: 12/12

待办事项

还有许多功能需要添加,请将想法/功能请求提交到问题跟踪器。

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件