Casbin

Casbin

  • 문서
  • API
  • 편집기
  • IDE Plugins
  • Single Sign-On (SSO)
  • Forum
  • 도움말
  • 블로그
  • Pricing
  • Contact Sales
  • Languages icon한국어
    • English
    • 中文
    • Русский
    • Français
    • Deutsch
    • 日本語
    • 번역 참여하기
  • GitHub

›기초

기초

  • 개요(Overview)
  • 시작하기
  • 작동 원리
  • 자습서

모델

  • 지원하는 접근 제어 모델
  • 모델(Model) 문법
  • Effector
  • 함수
  • RBAC
  • RBAC with Pattern
  • RBAC + 도메인
  • Casbin RBAC v.s. RBAC96
  • ABAC
  • Priority Model
  • Super Admin

저장소

  • 모델(Model) 저장
  • 정책(Policy) 저장
  • 정책(Policy) 부분 집합 불러오기

확장 기능

  • Enforcers
  • 어댑터
  • 감시자
  • Dispatchers
  • 역할(Role) 관리자
  • 미들웨어
  • GraphQL Middlewares
  • Cloud Native Middlewares

API

  • API Overview
  • Management API
  • RBAC API
  • RBAC with Domains API
  • RoleManager API
  • Data Permissions

고급 사용법 (Advanced usage)

  • 멀티 스레딩
  • 벤치마크
  • Performance Optimization
  • Authorization of Kubernetes
  • Authorization of Service Mesh through Envoy

관리

  • 관리자 포탈
  • Casbin 서비스
  • 로깅 및 오류 처리
  • Frontend Usage

Editor

  • 온라인 편집기
  • IDE Plugins

자세히

  • Casbin 적용 사례
  • Contributing
  • Privacy Policy
  • Terms of Service
Translate

개요(Overview)

Casbin은 강력하고 효율적인 오픈소스 접근 제어 라이브러리입니다. 다양한 접근 제어 모델에 기반한 권한 부여를 지원합니다.

Casbin이 지원하는 언어

golangjavanodejsphp
CasbinjCasbinnode-CasbinPHP-Casbin
실무 개발 적합(Production-Ready)실무 개발 적합(Production-Ready)실무 개발 적합(Production-Ready)실무 개발 적합(Production-Ready)
pythondotnetc++rust
PyCasbinCasbin.NETCasbin-CPPCasbin-RS
실무 개발 적합(Production-Ready)실무 개발 적합(Production-Ready)production-readyproduction-ready

언어별 기능 지원 현황

FeatureGoJavaNode.jsPHPPythonC#DelphiRustC++LuaDartElixir
Enforcement✅✅✅✅✅✅✅✅✅✅✅✅
RBAC✅✅✅✅✅✅✅✅✅✅✅✅
ABAC✅✅✅✅✅✅✅✅✅✅✅✅
Scaling ABAC (eval())✅✅✅✅✅✅❌✅✅✅✅✅
Adapter✅✅✅✅✅✅✅✅✅✅✅❌
Management API✅✅✅✅✅✅✅✅✅✅✅✅
RBAC API✅✅✅✅✅✅✅✅✅✅✅✅
Batch API✅✅✅✅✅✅❌✅✅✅❌❌
Filtered Adapter✅✅✅✅✅✅❌✅✅✅❌❌
Watcher✅✅✅✅✅✅✅✅✅✅❌❌
Role Manager✅✅✅✅✅✅❌✅✅✅✅❌
Multi-Threading✅✅✅❌✅❌❌✅❌❌❌❌
'in' of matcher✅✅✅✅✅❌✅❌❌❌✅✅

Casbin이 모든 언어에서 같은 기능을 지원하도록 최선을 다하고 있습니다. 그러나 아직은 완벽하지 않습니다. 현재 진행 상황은 위의 표와 같습니다. ✅ Watcher와 Role Manager는 core 라이브러리에서 인터페이스로만 존재합니다. Watcher와 Role Manager의 구현 여부는 아직 결정하지 못했습니다.

Casbin이란?

Casbin이 하는 것:

  1. 전통적인 {보안 주체, 대상, 행위} 형식이나 여러분이 별도로 정의한 형식에 따라 보안 정책을 실시합니다. 권한 허용과 거부를 모두 지원합니다.
  2. 접근 제어 모델과 보안 정책을 저장합니다.
  3. 사용자-역할 간 맵핑 및 역할-역할 간 맵핑(역할-기반 접근 제어에서의 역할 계층)을 관리합니다.
  4. support built-in superuser like root or administrator. A superuser can do anything without explicit permissions.
  5. 규칙 검사를 위한 다양한 빌트인 연산자를 제공합니다. 예를 들어, keyMatch는 리소스 키 /foo/bar를 패턴 /foo*에 매칭합니다.

Casbin이 하지 않는 것:

  1. 인증 (로그인 시 username과 password를 검증하는 것)
  2. 사용자와 역할 목록 관리. 해당 프로젝트에서 이들을 직접 관리하는 것이 더 편할 것이라고 생각합니다. 사용자 정보에는 패스워드가 있는데, Casbin은 패스워드 저장소로는 설계되지 않았습니다. 다만, Casbin은 역할-기반 접근 제어 시나리오에서 사용될 사용자와 역할 간의 연결을 저장합니다.
시작하기 →
  • Casbin이 지원하는 언어
  • 언어별 기능 지원 현황
  • Casbin이란?
Casbin
Docs
Getting StartedManagement APIRBAC APIMiddlewares
Community
Who's using Casbin?Stack Overflow
Casbin          jCasbin
Node-Casbin   PHP-CasbinPyCasbin          Casbin.NETCasbin-CPP        Casbin-RS
Follow @casbinHQ
Copyright © 2022 Casbin Organization