Casbin K8s-Gatekeeper 是一个集成了 Casbin 作为访问控制工具的 Kubernetes Admission Webhook. 使用 Casbin K8s-Gatekeeper 可以在不编写任何代码,只使用数行 Casbin 的 ACL(Access Control List)语言编写 model 和 policy ,即可建立灵活的规则,实现对 K8s 资源的增删改查操作的准入和拦截。Casbin K8s-Gatekeeper 由 Casbin 社区开发与维护,项目传送门https://github.com/casbin/k8s-gatekeeper
Casbin 是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型。Casbin ACL 的编写十分简单易懂,请访问https://casbin.org/docs/en/overview获取更多信息。Casbin 已经成为 Golang ACL 模型事实上的标准。Casbin K8s-Gatekeeper 使用的 ACL 模型便是 Casbin 。
例如,您无需编写任何代码,只需以下几行 Casbin ACL 语言即可实现不允许使用带特定 tag 的镜像创建 pod
Model:
[request_definition]
r = obj
[policy_definition]
p = obj,eft
[policy_effect]
e = !some(where (p.eft == deny))
[matchers]
m = r.obj.Request.Namespace == "default" && r.obj.Request.Resource.Resource =="deployments" && \
contain(split(accessWithWildcard(${OBJECT}.Spec.Template.Spec.Containers , "*", "Image"),":",1) , p.obj)
Policy:
p, "1.14.1",deny
上面的 Casbin Model&Policy 看起来似乎晦涩难懂,实际十分简单易学,10min 内即可快速上手。教程在这里https://casbin.org/docs/en/syntax-for-models
Casbin K8s-Gatekeeper 具有以下优点:
1
scyuns 2022-08-17 11:32:53 +08:00
是不是有了这个 就不需要用户中心了
|
2
a728976009 2022-10-12 11:15:17 +08:00
有跟 OPA 的 Gatekeeper 的比较么
|
3
yimiaoxiehou 2023-08-02 11:57:29 +08:00
通过 Casbin 维护 k8s rbac 么
|
4
cnbatch 2023-08-02 14:34:58 +08:00 2
置顶旧贴真是没意思,至少毫无新鲜感,反正我一看日期这么旧就直接翻评论区
正文?既然是旧贴,懒得看 说真的,如果是想增加曝光度(从我这普通阅读者的角度来看),起码置顶个 7 天内的新帖,最好是 3 天内的,效果会好很多,因为不会有什么违和感,还会让人有一种“这个项目没死,不用炒冷饭,大家看,又有新 Update 新 feature 啦”的感觉 当然了,置顶旧贴是你的自由,反正“从普通阅读者的角度去看待与感受”并不是发帖者的义务 |