跳转至主要内容

Supported Models

Casbin 支持以下访问控制模型和模式。如果不确定需要哪一种,先看 选择访问控制模型。

  1. ACL (访问控制列表)
  2. 带有超级用户的ACL
  3. 无用户的 ACL:适用于没有认证或用户身份的系统(例如纯 API 或设备访问)。
  4. 无资源的 ACL:权限针对资源类型而不是具体实例时(例如 "write-article"、"read-log")。
  5. RBAC (基于角色的访问控制)
  6. 带资源角色的 RBAC:用户和资源都可以有角色(或分组)。
  7. 带域 / 租户的 RBAC:用户在不同的域或租户中可以有不同的角色。
  8. ABAC(基于属性的访问控制):在规则中使用属性(例如 resource.Owner)。
  9. PBAC(基于策略的访问控制):由基于规则的策略驱动授权,做出动态的、感知上下文的判定。
  10. BLP(Bell–LaPadula):带安全标签和许可级别的形式化模型。
  11. Biba:限制信息流以防止未经授权修改的完整性模型。
  12. LBAC(基于格的访问控制):在基于格的框架中结合机密性和完整性。
  13. OrBAC(基于组织的访问控制):在 RBAC 基础上增加抽象层,支持多组织策略。
  14. UCON(使用控制):涵盖持续授权、可变属性、义务和条件。
  15. RESTful:路径模式(例如 /res/*、/res/:id)和 HTTP 方法(GET、POST、PUT、DELETE)。
  16. IP 匹配:按 IP 地址或 CIDR 匹配,做网络层面的控制。
  17. 拒绝优先:同时有允许和拒绝策略,拒绝优先于允许。
  18. 优先级:策略规则有先后顺序(类似防火墙规则),第一条匹配的生效。

示例​

模型模型文件策略文件
ACLbasic_model.confbasic_policy.csv
带有超级用户的ACLbasic_with_root_model.confbasic_policy.csv
无用户的ACLbasic_without_users_model.confbasic_without_users_policy.csv
无资源的ACLbasic_without_resources_model.confbasic_without_resources_policy.csv
RBACrbac_model.confrbac_policy.csv
带有资源角色的RBACrbac_with_resource_roles_model.confrbac_with_resource_roles_policy.csv
带域/租户的RBACrbac_with_domains_model.confrbac_with_domains_policy.csv
ReBACrebac_model.confrebac_policy.csv
ABACabac_model.confN/A
BLPblp_model.confN/A
Bibabiba_model.confN/A
LBAClbac_model.confN/A
OrBACorbac_model.conforbac_policy.csv
IP Matchipmatch_model.confipmatch_policy.csv
RESTfulkeymatch_model.confkeymatch_policy.csv
拒绝覆盖rbac_with_not_deny_model.confrbac_with_deny_policy.csv
允许和拒绝rbac_with_deny_model.confrbac_with_deny_policy.csv
优先级priority_model.confpriority_policy.csv
明确的优先级priority_model_explicitpriority_policy_explicit.csv
主题优先级subject_priority_model.confsubject_priority_policyl.csv

Comments are powered by giscus and GitHub Discussions. They load from giscus.app and GitHub only after you click the button below.