System Design Space
Граф знанийНастройки

Обновлено: 19 мая 2026 г. в 09:00

Модели контроля доступа: ACL, RBAC, ABAC, ReBAC

средний

Практический разбор ACL/RBAC/ABAC/ReBAC: как принимается решение авторизации, где проходят границы применимости, как управлять жизненным циклом политики и аудируемостью доступа.

Модель контроля доступа выбирают не по тому, какая аббревиатура звучит современнее, а по тому, как реально устроены роли, ресурсы, контекст и связи в продукте.

Глава сравнивает ACL, RBAC, ABAC и ReBAC как разные способы принимать решение о доступе и показывает, как каждый подход влияет на выразительность правил, объяснимость, стоимость эксплуатации и рост системы.

Для ревью дизайна это хороший материал, чтобы обсуждать политику доступа как часть доменной модели, а не как техническую надстройку, которую можно безболезненно заменить потом.

Практическая польза главы

Практика проектирования

Выбирайте модель доступа по структуре домена: ролям, ресурсам, контексту запроса и связям между объектами.

Качество решений

Проверяйте не только выразительность политики, но и объяснимость решения, стоимость изменений и устойчивость к дрейфу прав.

Аргументация на интервью

Объясняйте выбор через сценарий: кто делает действие, над каким ресурсом, в каком контексте и почему именно эта модель подходит.

Формулировка компромиссов

Явно проговаривайте цену ACL, RBAC, ABAC и ReBAC: простоту, гибкость, задержку проверки, аудит и сложность эксплуатации.

Primary

Zanzibar: Google's Consistent, Global Authorization System

Канонический источник про ReBAC на глобальном масштабе и кортежную модель отношений.

Открыть доклад
ACLRBACABACReBAC

Модель авторизации определяет, как именно система принимает решение доступа. На практике команды комбинируют несколько подходов: , , и на уровне объекта.

Каноническая визуализация моделей

Один и тот же запрос может читать локальный список, каталог ролей, контекстные атрибуты или граф отношений. Переключайте модель, чтобы увидеть, где система принимает решение доступа.

Список доступа рядом с ресурсом

ACL подходит, когда решение можно принять по локальной записи конкретного объекта: кто имеет право читать, менять или администрировать ресурс.

Субъект
Ресурс
Список доступа
Решение

1. Кто запрашивает

Субъект

Пользователь, группа или сервис приходит с действием, например read или write.

↓ что защищаем

2. Что защищаем

Ресурс

Документ, файл, объект хранилища или запись несёт собственный список доступа.

↓ читаем запись

3. Проверка

Список доступа

Система ищет субъект или группу в локальных разрешениях ресурса.

↓ разрешить?

4. Выход

Разрешить или запретить

Если подходящей записи нет, безопасная настройка - запретить действие.

Когда модель удобна

  • Права легко объяснить для одного объекта.
  • Хорошо работает в небольших изолированных доменах.
  • Массовые изменения доступа быстро становятся дорогими.

Как читать схему

Читайте ACL как локальную проверку рядом с ресурсом: она проста и прозрачна, но плохо заменяет глобальную политику доступа.

Сравнение моделей

КритерийACLRBACABACReBAC
Единица политикиЗапись рядом с ресурсомРольПравилоОтношение в графе
ГранулярностьОчень точная, но локальнаяСредняяВысокаяВысокая на графе
Изменения доступаДорого на больших наборахЧерез политики и атрибуты
ОбъяснимостьВысокаяВысокаяСредняяСредняя, нужен
Сложность платформыНизкаяНизкая-средняяСредняя-высокаяВысокая
Типичный масштабЛокальные системыКорпоративные и B2B-системыРегулируемые доменыМасштабная совместная работа

ABAC

NIST SP 800-162

Практические рекомендации по модели политик и атрибутам для ABAC.

Открыть документ

Границы применимости

ACL

Когда подходит: Объектные хранилища, файловые системы и небольшие изолированные домены с явным правилом владельца.

Где начинает болеть: Большие : массовые изменения прав становятся слишком дорогими.

Граница: Используйте как локальную модель рядом с ресурсом, но не как единую глобальную политику для всей компании.

RBAC

Когда подходит: Внутренние платформы, B2B SaaS и зрелые организационные структуры с понятными должностными функциями.

Где начинает болеть: Контекстные решения по географии, времени и риску, а также исключения на уровне отдельных объектов.

Граница: Базовая модель для большинства систем. Усиливайте её ABAC-предикатами или исключениями на уровне ресурса.

ABAC

Когда подходит: Домены с требованиями комплаенса: финансы, медицина, государственные сервисы, где важны контекст и классификация данных.

Где начинает болеть: Команды без управления атрибутами и без тестируемого .

Граница: Нужны строгий словарь атрибутов, аудит изменений политики и .

ReBAC (Zanzibar)

Когда подходит: Коллаборативные продукты: документы, репозитории, рабочие пространства и сложные общие графы отношений.

Где начинает болеть: Малые системы, где граф отношений не окупает инфраструктурную сложность.

Граница: Оправдан при большом числе и необходимости консистентного глобального .

В 2026 типичный промышленный подход: RBAC как каркас, ABAC как контекстные условия, ReBAC для общих объектов, ACL как локальное переопределение на ресурсе.

Контроли жизненного цикла политик доступа

ЭтапОбязательные контролиДействие при провале
Проектирование политикиЕдиный словарь ресурсов и действий, владелец на каждую , с ревью кода.Блокировать слияние политики без владельца и тестов, вернуть изменение в бэклог команды.
Доставка и версионированиеВерсионирование , , подпись артефактов и проверка целостности в среде выполнения.Остановить внедрение и автоматически откатить систему на последнюю стабильную .
Путь принятия решения на критичных эндпоинтах, и проверки на уровне объекта для чувствительных операций.Отключить рискованную операцию и поднять срочное оповещение для инженера.
Ревью и повторное подтверждениеПлановые , и контроль после организационных изменений.Автоматически пометить доступ как временный и инициировать до подтверждения владельцем.
Экстренный отзыв доступаЕдиный процесс , массовый отзыв токенов и связей, проверка последствий по .Перевести систему в ограниченный режим и принудительно завершить активные сессии высокого риска.

Операционные метрики авторизации

P95 задержки авторизационной проверки

Цель: <= 20 ms

Если проверки дорогие, команды начинают обходить слой политики и теряют консистентность .

Доля решений с трассой объяснения

Цель: >= 99%

Нужна для разборов инцидентов и понятного ответа, почему доступ был выдан или отклонен.

MTTR отката изменения политики

Цель: < 10 минут

Быстрый критичен, когда новая политика ломает промышленные потоки или легитимный доступ.

Просроченные доступы после отключения учётной записи

Цель: 0

Показывает зрелость и снижает риск несанкционированного доступа бывших пользователей.

Покрытие проверок на уровне объекта для API высокого риска

Цель: 100%

Без объектного контроля сохраняется риск BOLA/IDOR даже при формально корректной AuthN.

План внедрения модели доступа

1

Фаза 1 (0-30 дней)

Фокус: Инвентаризация прав и критичных ресурсов

Результат: Карта субъектов, ролей, ресурсов и текущих исключений с назначенными владельцами.

2

Фаза 2 (30-60 дней)

Фокус: RBAC-каркас и запрет по умолчанию

Результат: Единый , централизованный и базовые журналы аудита решений.

3

Фаза 3 (60-90 дней)

Фокус: Контекстные правила и граф отношений

Результат: ABAC-предикаты для риска и контекста, ReBAC для общих объектов, для отладки доступа.

4

Фаза 4 (90+ дней)

Фокус: Архитектурное управление и непрерывная верификация

Результат: Регулярные , контроль качества политик в CI/CD и измеримые SLO для платформы авторизации.

Типичные антипаттерны

Делать одну роль всесильного администратора и пытаться закрыть ей все сценарии доступа.

Смешивать бизнес-атрибуты и атрибуты безопасности без владельца и без .

Строить ReBAC без : пользователи не понимают, почему доступ есть или нет.

Оставлять права после организационных изменений, ухода сотрудника или смены роли без автоматического .

Источники

Связанные главы

Чтобы отмечать прохождение, включи трекинг в Настройки