Совмещение RBAC/ABAC: гибридная модель доступа без костылей
В многосторонних платформах (B2B2C) одна роль — это часто недостаточно. Сотрудник платформы, клиент, поставщик — у каждого свои права, атрибуты и контексты.
Реализовал гибридную модель авторизации, сочетающую: • RBAC — базовые роли (админ, менеджер, клиент) • ABAC — атрибуты (принадлежность к организации, регион, статус заказа, тип ресурса)
🔐 Архитектурные решения: • Три физически разделённых контура аутентификации (JWT, Access/Refresh токены, отдельные таблицы в БД) • Policy Decision Point (PDP) + Policy Enforcement Point (PEP) как изолированные компоненты, не внедрённые в домен • Динамические политики доступа: правила хранятся в БД, меняются без перезапуска • Инверсия зависимостей: домен зависит от абстракций репозиториев, а не от реализации безопасности
🎯 Результат: • Гибкое управление доступом без «хардкода» в бизнес-логике • Упрощённая замена провайдера аутентификации (например, на Госуслуги) • Снижение риска эскалации привилегий за счёт физической сегментации
Готов обсудить подходы к проектированию систем безопасности, обменяться опытом по реализации PDP/PEP и динамическим политикам.
#Security #RBAC #ABAC #Python #Backend #Authorization #OpenToWork