본문으로 건너뛰기

지원되는 모델

Casbin은 다음과 같은 접근 제어 모델과 패턴을 지원합니다. 어떤 모델이 필요한지 확실하지 않다면 접근 제어 모델 선택하기를 먼저 읽어보십시오.

  1. ACL (Access Control List)
  2. superuser가 포함된 ACL
  3. 사용자가 없는 ACL — 인증이나 사용자 신원이 없는 시스템(예: API 전용 또는 디바이스 접근)을 위한 모델입니다.
  4. 리소스가 없는 ACL — 권한이 특정 인스턴스가 아닌 리소스 유형에 적용되는 경우(예: "write-article", "read-log")를 위한 모델입니다.
  5. RBAC (Role-Based Access Control)
  6. 리소스 역할이 포함된 RBAC — 사용자와 리소스 모두 역할(또는 그룹 멤버십)을 가질 수 있습니다.
  7. 도메인/테넌트가 포함된 RBAC — 사용자가 서로 다른 도메인이나 테넌트에서 다른 역할을 가질 수 있습니다.
  8. ABAC (Attribute-Based Access Control) — 규칙에서 속성(예: resource.Owner)을 사용합니다.
  9. PBAC (Policy-Based Access Control) — 동적이고 맥락 인식(context-aware) 결정을 위해 규칙 기반 정책이 권한 부여를 주도합니다.
  10. BLP (Bell–LaPadula) — 보안 라벨 및 클리어런스를 포함한 형식적 모델입니다.
  11. Biba — 무단 변경을 방지하기 위해 정보 흐름을 제한하는 무결성(integrity) 모델입니다.
  12. LBAC (Lattice-Based Access Control) — 격자(lattice) 기반 프레임워크 내에서 기밀성과 무결성을 결합합니다.
  13. OrBAC (Organisation-Based Access Control) — 다중 조직 정책을 위한 추상화 계층으로 확장된 RBAC입니다.
  14. UCON (Usage Control) — 지속적 권한 부여, 변경 가능한 속성, 의무(obligations) 및 조건(conditions)을 다룹니다.
  15. RESTful — 경로 패턴(예: /res/*, /res/:id) 및 HTTP 메서드(GET, POST, PUT, DELETE)를 사용합니다.
  16. IP Match — 네트워크 수준 제어를 위해 IP 주소 또는 CIDR로 매칭합니다.
  17. Deny-override — 허용(allow) 및 거부(deny) 정책을 모두 지원하며, 거부가 허용을 우선합니다.
  18. Priority — 정책 규칙은 순서가 정해져 있습니다(예: 방화벽 규칙과 유사). 먼저 일치하는 규칙이 적용됩니다.

예시​

ModelModel filePolicy file
ACLbasic_model.confbasic_policy.csv
ACL with superuserbasic_with_root_model.confbasic_policy.csv
ACL without usersbasic_without_users_model.confbasic_without_users_policy.csv
ACL without resourcesbasic_without_resources_model.confbasic_without_resources_policy.csv
RBACrbac_model.confrbac_policy.csv
RBAC with resource rolesrbac_with_resource_roles_model.confrbac_with_resource_roles_policy.csv
RBAC with domains/tenantsrbac_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
Deny-overriderbac_with_not_deny_model.confrbac_with_deny_policy.csv
Allow-and-denyrbac_with_deny_model.confrbac_with_deny_policy.csv
Prioritypriority_model.confpriority_policy.csv
Explicit Prioritypriority_model_explicitpriority_policy_explicit.csv
Subject-Prioritysubject_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.