Портал №1 по управлению цифровыми
и информационными технологиями

Управление доступом на основе атрибутов

Продолжаем тему управления доступом. Недавно мы рассказали о модели RBAC и запросах на доступ, которые​ можно использовать там, где возможностей RBAC не достаточно. Но, как было показано, запросы на доступ так же имеют свои недостатки, главным из которых является накопление прав, предоставленных через запросы. Как же повысить эффективность управления доступом?

Одним из подходов является использование управления доступом на основе атрибутов (ABAC). Этот подход использует анализ атрибутов субъектов и объектов доступа, а также времени и среды. Доступ предоставляется на основе правил или политик, которые представляют из себя набор условий для проверки атрибутов, например:

  • Бизнес-Правило: "Менеджер может редактировать заказ, только если стоимость заказа не выше 1000 руб. и заказ находится в его филиале"
  • Включает в себя Условия

    • Субъект.Должность = "Менеджер"
    • Объект.Тип = "Заказ"
    • Действие.Название = "Редактирование"
    • Объект.Филиал = "Субъект.Филиал"
    • Объект.Стоимость < "1000"

Главное преимущество над классическими моделями управления доступом – возможность использовать сложные правила с проверкой времени суток, дня недели, IP адреса, города, филиала и т.д. Это позволяет реализовать динамическую модель предоставления доступа гораздо более гибкую, чем при использовании, например, классического подхода RBAC.

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

Поэтому, все чаще гибкость атрибутной модели используется для расширения возможностей ролевой модели доступа. Например, создание более сложных правил ролевой модели, которые позволят сделать роли динамически назначаемыми. Есть и другие реализации, когда правила атрибутов ограничивают предоставленные ролью права. Подобные способы комбинирования подходами позволяют реализовать более удобные, понятные и легкопуправляемые модели управления доступом. Конечно же, выбор способа необходимо тщательно продумать в зависимости от конкретного случая.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

DevOps
Kanban
ITSM
ITIL
PRINCE2
Agile
Lean
TOGAF
ITAM