cerbos lite webassembly 处理简单说明

上次简单说明了下cerbos lite 对于webassembly policy 集成的说明,通过查看lite client 简单说明下

参考处理

  • ci/cd 集成处理

这个也比较符合官方hub 的ci/cd 机制,核心是通过git 的repo 管理,集成ci/cd 构建webassembly文件,webassembly 核心exporter 的方法主要是
图片右下方的,之后app 通过lite sdk 加载

 

  • 代码简单说明

如下图


app会调用lite sdk,加载webassembly 文件,当进行check 校验的时候,使用了一个内置实现的简单grpc server,具体的check 方法是在webassembly 中的check 方法中实现的

说明

目前看官方ci/cd 生成webassembly 部分是基于rust 开发的工具,对于实际check 处理是在webassembly 中实现的,在webassembly 中实现看似会造成wasm 文件会大,但是实际上是比较方便的,这样就可以通过ci/cd 进行check 方法的更新,lite 中的处理实际上就类似了一个远程rpc 调用,只是被持久化到本地的一个调用,hub 中的处理是基于http 请求加载wasm 文件的,但是目前还是缺少实际是如何实现的,可以结合rust sdk 以及golang的一些实现尝试自己开发一个类似的实现,核心是提供上边的几个exporter 方法

参考资料

https://docs.cerbos.dev/cerbos-hub/
https://docs.cerbos.dev/cerbos-hub/decision-points-embedded
https://docs.cerbos.dev/cerbos-hub/decision-points-embedded.html
https://github.com/cerbos/cerbos-sdk-javascript/blob/main/docs/lite.lite.md
https://github.com/cerbos/cerbos-sdk-javascript/tree/main/packages/lite
https://github.com/cerbos/cerbos-sdk-javascript/blob/b41a5853b58c8ecfca7d80901efb431a453fa69d/packages/lite/src/server.ts#L115
https://github.com/cerbos/cerbos-sdk-javascript/blob/b41a5853b58c8ecfca7d80901efb431a453fa69d/packages/lite/src/server.ts#L145

posted on   荣锋亮  阅读(19)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2022-12-05 maven-dependency-plugin unpack 使用
2021-12-05 nginx 动态模块问题
2021-12-05 基于minio s3 gateway 改造业务系统支持基于webhook的文件处理
2021-12-05 nginx 作为s3 的gateway
2020-12-05 golang 死锁&&静态检查的一些工具
2020-12-05 spring cloud 应用集成prometheus 监控实现服务发现的一些方法
2019-12-05 使用jdk 容器镜像注意默认编码问题

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示