Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Контроль доступа на основе ролей

Из Википедии, - свободной энциклопедии

В системах компьютерной безопасности, контролем доступа на основе ролей (RBAC, - role-based access control) [1] [2] называется способ построения систем разграничения доступа авторизованных пользователей. С недавних пор он является альтернативой мандатному контролю доступа (MAC, - mandatory access control) и дискреционному контролю доступа (DAC, - discretionary access control).

Технология контроля доступа RBAC достаточно гибка и сильна, чтобы смоделировать как дискреционный контроль доступа (DAC) [3], так и мандатный контроль доступа (MAC) [4].

До разработки RBAC, единственными известными моделями контроля доступа были MAC и DAC: если модель была не MAC, то она была DAC, и наоборот. Исследования в 90-х показали, что RBAC не попадает ни в ту, ни в другую категорию.

Роли создаются внутри организации для различных рабочих функций. Определенным ролям присваиваются полномочия ('permissions') для выполнения тех или иных операций. Штатным сотрудникам (или другим пользователям системы) назначаются фиксированные роли, через которые они получают соответствующие привилегии для выполнения фиксированных системных функций. В отличие от контроля доступа на основе контекста (CBAC, - context-based access control), RBAC не принимает во внимание текущую ситуацию (такую как, например, откуда было установлено соединение).

Так как привилегии не назначаются пользователям непосредственно, и приобретаются ими только через свою роль (или роли), управление индивидуальными правами пользователя по сути превращается в простое присвоение ему ролей. Это упрощает общие операции, такие как добавление пользователя или смена подразделения пользователем.

RBAC отличается от списков контроля доступа (ACL, - access control lists), используемых в традиционных дискреционных системах контроля доступа, тем что может присваивать привилегии на сложные операции с составными данными, а не только на атомарные операции с низкоуровневыми объектами данных. Например, лист контроля доступа может предоставить или лишить права записи в такой-то системный файл, но он не может сказать, каким образом этот файл может быть изменен. Система, основанная на RBAC, позволяет создать такую операцию как открытие 'кредита' в финансовом приложении или заполнение записи 'тест на уровень сахара в крови' в медицинском приложении. Присвоение привилегии на выполнение такой-то операции многозначно, так как операции являются дробящимися в пределах приложения.

Концепции иерархии ролей и ограничений позволяют создать или смоделировать контроль доступа на основе решетки (LBAC, - lattice-based access control) средствами RBAC. Таким образом, RBAC может быть основанием и расширением LBAC.

Для определения модели RBAC используются следующие соглашения:

  • S = Субъект (Subject) = Человек или автоматизированный агент
  • R = Роль (Role) = Рабочая функция или название, которое определяется на уровне авторизации
  • P = Разрешения (Permissions) = Утверждения режима доступа к ресурсу
  • SE = Сессия (Session) = Соответствие между S, R и/или P
  • SA = Назначение субъекта (Subject Assignment)
  • PA = Назначение разрешения (Permission Assignment)
  • RH = Частично упорядоченная иерархия ролей (Role Hierarchy). RH может быть еще записана так: ≥
  • Один субъект может иметь несколько ролей.
  • Одну роль могут иметь несколько субъектов.
  • Одна роль может иметь несколько разрешений.
  • Одно разрешение может принадлежать нескольким ролям.

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

Используя нотацию теории множеств:

  • при этом разрешения назначаются связям ролей в отношении "многие ко многим".
  • при этом субъекты назначаются связям ролей и субъектов в отношении "многие ко многим".

Обозначение: x ≥ y означает, что x наследует разрешения y.

Субъект может иметь множество одновременных сессий с различными разрешениями.

RBAC широко используется для управления пользовательскими привилегиями в пределах единой системы или приложения. Это является наилучшей практикой. Список таких систем включает в себя Microsoft Active Directory, SELinux, FreeBSD, Solaris, СУБД Oracle, PostgreSQL 8.1, SAP R/3 и множество других, эффективно применяющих RBAC.

В организациях с разнородной IT-инфраструктурой, в диапазоне от дюжины до сотен систем и приложений, следует создавать иерархию ролей и наследование привилегий. Без этого использование RBAC становится крайне запутанным. В статье "Дополнительные роли: практический подход к обслуживанию пользователей предприятия" обсуждаются стратегии, альтернативные большому масштабу присвоения привилегий пользователям. Современные системы расширяют старую модель NIST [5] ограничениями RBAC для развертывания на больших предприятиях. Существует несколько академических документов и по меньшей мере одна коммерческая система, - Beyond NIST.

Для больших систем с сотнями ролей, тысячами пользователей и миллионами разрешений управление ролями, пользователями, разрешениями и их взаимосвязями является сложной задачей, которую нереально выполнить малой группой администраторов безопасности. Привлекательной возможностью является использование самой RBAC для содействия децентрализованному управлению RBAC. Административные модели для контроля доступа на основе ролей (ARBAC, - Administrative Models for Role Based Access Control) обсуждаются здесь [6]

Смотрите также

Источники

  1. ^ Ferraiolo, D.F. and Kuhn, D.R. (October 1992). " Role Based Access Control" (PDF). 15th National Computer Security Conference: 554-563.
  2. ^ Sandhu, R., Coyne, E.J., Feinstein, H.L. and Youman, C.E. (August 1996). "Role-Based Access Control Models" (PDF). IEEE Computer 29 (2): 38-47.
  3. ^ Ravi Sandhu, Qamar Munawer (October 1998). "How to do discretionary access control using roles". 3rd ACM Workshop on Role-Based Access Control: 47-54.
  4. ^ Sylvia Osborn, Ravi Sandhu, and Qamar Munawer (2000). "Configuring role-based access control to enforce mandatory and discretionary access control policies". ACM Transactions on Information and System Security (TISSEC): 85-106.
  5. ^ Sandhu, R., Ferraiolo, D.F. and Kuhn, D.R. (July 2000). "The NIST Model for Role Based Access Control: Toward a Unified Standard". 5th ACM Workshop Role-Based Access Control: 47-63.
  6. ^ Qamar Munawer (April 2000). "The Administrative Models For Role Based Access Control" (PDF). PhD Thesis.

Ссылки

Взято с http://en.wikipedia.org/wiki/Role-based_access_control

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2007-09-02 16:19:37

Метки материала: контроль доступа, роли, RBAC, ACL, MAC, DAC, LBAC, permissions


3 комментария

05.12.2008 17:58:07 #
Mozilla Firefox Гость Nashev
упс.. Почти сделал статью и вдруг обнаружил существующую... Подправил, в общем вот она: http://ru.wikipedia.org/wik...D0%B5%D0%B9
02.12.2008 21:14:37 #
Iceweasel dima
Пожалуйста. Лицензия и там и здесь - FDL.
02.12.2008 18:48:16 #
Mozilla Firefox Гость Nashev
Рыбяты, а чего ж Вы в русской википедии перевод с английской не разместили? Ежели уж делать доброе дело, так делать до конца!
 
Если проблемы почему-то технические - может, я размещу?

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.