cerbos lite webassembly 处理简单说明
  8KhYbgszLLmZ 2023年12月12日 58 0

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

参考处理

  • ci/cd 集成处理

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

cerbos lite webassembly 处理简单说明_github

 

  • 代码简单说明

如下图

cerbos lite webassembly 处理简单说明_javascript_02

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

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月12日 0

暂无评论

推荐阅读
  anLrwkgbyYZS   2023年12月30日   28   0   0 i++iosi++ioscici
  anLrwkgbyYZS   2023年12月30日   29   0   0 ideciciMaxideMax
8KhYbgszLLmZ