Расширение ролевого управления доступом с помощью атрибутов

workflow

Ранее на нашем портале рассказывалось о методах управления доступом с помощью ролей и атрибутов. Сегодня рассмотрим способы объединения этих методов с целью получения более гибкой модели.

Существует три основных комбинации RBAC и ABAC:

  1. Динамические роли. Ролевая модель дополняется динамическими атрибутами, например, временем суток. Таким образом, набор ролей пользователя определяется динамически системой управления доступа. В зависимости от реализации такого подхода, набор ролей пользователя может полностью динамически определяться системой управления, либо пользователь будет получать один из заранее определенных наборов авторизованных ролей.
  2. На основе атрибутов. Имя роли — это один из многих атрибутов. В данном случае роль — это не набор прав, а лишь название в атрибуте "Роль". При таком подходе быстро теряется простота администрирования ролевой модели, чем больше атрибутов в системе, тем сложнее будет управлять такой системой.
  3. На основе ролей. В данном подходе атрибуты используются для создания правил ограничения доступа ролей. Роли все еще содержат наборы прав доступа, но окончательный набор прав в пользовательской сессии формируется из пересечения прав роли и тех прав, которые не запрещены правилами с использованием атрибутов.

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

Приведу пример использования 1го подхода: например, есть система с 10 атрибутами, 7 из которых статические, 3 — динамические. Такой набор атрибутов даст 210 (1024) ролей в класичесской ролевой модели или  210 (1024) правил для атрибутной модели. При построении комбинированной модели управления доступом потребуется 27 (128) ролей и 2(8) правил. Неплохое сокращение по сравнению с 1024 ролями? Конечно же потребуется произвести настройки, чтобы применить правила к ролям, но работы все равно будет гораздо меньше. Ведь в реальной жизни используются в основном статические атрибуты: должность, подразделение, табельный номер и т.д. Атрибуты, которые необходимо анализировать в течение дня, используются не так часто.

Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInEmail this to someone

ITIL ITIL Practitioner — новый учебный курс 2016

Правильный следующий шаг после ITIL Foundation.
 

Узнайте больше!

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

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

Empty