Поддерживаемые модели
Casbin поддерживает следующие модели и паттерны контроля доступа. Если вы не уверены, какая из них вам нужна, начните с Выбор модели контроля доступа.
- ACL (Access Control List)
- 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) — Авторизация управляется политиками на основе правил для динамических решений, учитывающих контекст.
- BLP (Bell–LaPadula) — Формальная модель с метками безопасности и уровнями допуска.
- Biba — Модель целостности, ограничивающая поток информации для предотвращения несанкционированных изменений.
- LBAC (Lattice-Based Access Control) — Комбинирует конфиденциальность и целостность в решётчатом фреймворке.
- OrBAC (Organisation-Based Access Control) — RBAC, расширенный слоями абстракции для политик в организациях с несколькими подразделениями.
- UCON (Usage Control) — Охватывает непрерывную авторизацию, изменяемые атрибуты, обязательства и условия.
- RESTful — Шаблоны путей (например,
/res/*,/res/:id) и HTTP-методы (GET, POST, PUT, DELETE). - Совпадение по IP — Совпадение по IP-адресу или CIDR для сетевого контроля.
- Deny-override — Политики allow и deny; deny имеет приоритет над allow.
- Priority — Правила политик упорядочены (например, как правила межсетевого экрана); первое совпадение имеет приоритет.
Comments are powered by giscus and GitHub Discussions. They load from giscus.app and GitHub only after you click the button below.