RBAC и ABAC
Модели управления доступом
«RBAC и ABAC» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.
Модели управления доступом
Модель управления доступом определяет, как принимаются решения о разрешениях. Две наиболее распространенные модели — RBAC и ABAC.
Выбор подходящей модели определяет масштабируемость и гибкость разрешений.
Основы RBAC
Управление доступом на основе ролей (RBAC) назначает разрешения ролям, а затем назначает пользователей ролям.
Пользователь наследует все разрешения своих ролей. Доступ управляется через управление членством в ролях.
Пример RBAC
Рассмотрим такие роли, как editor и viewer:
- editor: чтение и изменение документов
- viewer: только чтение
Назначьте Алисе роль editor, и она автоматически получит оба разрешения.
role: editor
permissions: [doc.read, doc.write]
user: alice -> role: editorПреимущества RBAC
RBAC популярен, потому что он:
- прост для понимания и аудита;
- масштабируем для большого числа пользователей с похожими потребностями;
- удобен для проверки (у кого какая роль).
Недостатки RBAC: взрывной рост числа ролей
Когда доступ зависит от множества детализированных условий, приходится создавать бесконечные роли, например editor_finance_emea_temp.
Этот взрывной рост числа ролей усложняет управление RBAC в больших системах.
Основы ABAC
Управление доступом на основе атрибутов (ABAC) определяет доступ с помощью атрибутов, оцениваемых правилами политик.
Атрибуты описывают пользователя, ресурс, действие и окружение.
Пример ABAC
Политика ABAC может выражать сложные правила без выделенных ролей.
ALLOW read IF user.department == resource.department
AND user.clearance >= resource.sensitivity
AND env.time BETWEEN 09:00 AND 18:00Преимущества ABAC
ABAC обеспечивает:
- детализированные решения с учетом контекста;
- отсутствие взрывного роста числа ролей: одна политика охватывает множество случаев;
- динамические факторы, такие как время, местоположение и устройство.
Недостатки ABAC
ABAC обменивает простоту на мощность:
- политики могут стать сложными и трудными для аудита;
- требуются чистые и достоверные данные об атрибутах;
- сложнее с первого взгляда ответить, «кто может получить доступ к X».
Объединение обоих подходов
Во многих системах используется гибридный подход: RBAC задаёт общие правила, а ABAC — точные условия.
Например, роль предоставляет базовый доступ, а правила на основе атрибутов затем ограничивают его по региону или времени.
Выбор модели
Практическое правило:
- Используйте RBAC, когда доступ чётко соответствует должностным обязанностям.
- Используйте ABAC, когда решения зависят от контекста или часто меняются.
- Объединяйте их, чтобы получить преимущества обоих подходов.
Быстрая проверка
Организация постоянно создаёт такие роли, как editor_finance_emea_contractor, чтобы учесть все комбинации. Какая модель поможет уменьшить эту проблему?
Итоги
Вы сравнили RBAC и ABAC.
- RBAC: простая модель на основе ролей, но при ней легко возникает слишком много ролей.
- ABAC: гибкая модель на основе атрибутов, но её сложнее проверять.
- Гибридные подходы объединяют сильные стороны обеих моделей.
Далее мы рассмотрим единый вход и федерацию удостоверений.
Часто задаваемые вопросы
Урок «RBAC и ABAC» бесплатный?
Да — полный текст урока «RBAC и ABAC» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «RBAC и ABAC»?
Модели управления доступом Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cyber Security Academy?
Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «RBAC и ABAC»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cyber Security Academy?
Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.