Skip to main content

지원하는 접근 제어 모델

  1. ACL (Access Control List)
  2. ACL + 슈퍼유저
  3. 사용자 없는 ACL: 인증이나 사용자 로그인이 없는 시스템에 유용
  4. 리소스 없는 ACL: 개별 리소스 보다는 리소스 타입을 통틀어 권한 관리를 원할 때 (예: write-article, read-log) 특정 article이나 log가 아닌 전체에 대해서 통제할 때
  5. RBAC (Role-Based Access Control, 역할-기반 접근 제어)
  6. RBAC + 리소스 역할: 사용자와 리소스 모두 역할(혹은 그룹) 에 연결될 수 있음.
  7. RBAC + 도메인/테넌트: 사용자가 도메인/테넌트에 따라 다른 역할 집합에 연결됨.
  8. ABAC (Attribute-Based Access Control, 속성-기반 접근 제어): 리소스의 속성을 사용해서 접근 제어 구성 가능 (예: resource.Owner)
  9. RESTful: /res/*, /res/:id 등의 경로 및 GET, POST, PUT, DELETE 같은 HTTP Method 사용 가능.
  10. 거부(Deny) 우선: 권한 부여에 허용(allow) 및 거부(deny) 사용 가능하며, 거부가 허용에 우선함.
  11. 우선순위: 정책(Policy) 규칙은 네트워크 방화벽 규칙처럼 우선순위 지정 가능.

예시

모델모델 설정 파일정책 설정 파일
ACLbasic_model.confbasic_policy.csv
ACL + 슈퍼유저basic_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
RBAC + 리소스 역할rbac_with_resource_roles_model.confrbac_with_resource_roles_policy.csv
RBAC + 도메인/테넌트rbac_with_domains_model.confrbac_with_domains_policy.csv
ABACabac_model.confN/A
RESTfulkeymatch_model.confkeymatch_policy.csv
거부(Deny) 우선rbac_with_not_deny_model.confrbac_with_deny_policy.csv
허용/거부rbac_with_deny_model.confrbac_with_deny_policy.csv
우선순위priority_model.confpriority_policy.csv
Explicit Prioritypriority_model_explicitpriority_policy_explicit.csv
Subject-Prioritysubject_priority_model.confsubject_priority_policyl.csv