ladon 的用法:
{
"description": "One policy to rule them all.",
"subjects": ["users:", "users:maria", "groups:admins"],
"actions" : ["delete", ""],
"effect": "allow",
"resources": [
"resources:articles:",
"resources:printer"
],
"conditions": {
"remoteIP": {
"type": "CIDRCondition",
"options": {
"cidr": "192.168.0.1/16"
}
}
}
}
acl 的功能肯定都实现了
主体:可以用前缀代表用户,用户组,角色等, 也算是简单实现了 rbac 吧
条件:一些环境属性,可以通过 condtions 设置主体的属性或者资源的属性, 也算是实现了 abac 吧?
ladon 整体的语义与 aws 的特别像,是不是如果我要做一个类似 aws 的权限操作方式,用这个比用 casbin 更简单易用。
casbin 有 model, policy 两个概念,policy 包含策略信息,model 是规则匹配模板,
如果我一个用户,他既授权了一些带属性的(比如 ip 的判断),类似 abac ,又授权了 rbac 的模型, 那就得用两个 model 与两个 policy?
那 casbin 相比 ladon 来说,他的主要优势在哪呢?灵活性更强?性能更好?
ladon, casbin, policy, resources