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