RBAC (контроль доступа на основе ролей) основан на определении списка бизнес-ролей и добавлении каждого пользователя в системы к одной или нескольким ролям. Разрешения и привилегии затем предоставляются каждой роли, и пользователи получают их через свое членство в роли (в значительной степени эквивалентной группе). Приложения обычно проверяют пользователя на членство в определенной роли и предоставляют или запрещают доступ на основе этого. Дискреционный контроль доступа (DAC) позволяет пользователю или администратору определять список контроля доступа (ACL) на конкретном ресурсе (например, файл, раздел реестра, таблицу базы данных, объект ОС и т. Д.), Этот список будет содержать записи (ACE), которые определить каждого пользователя, имеющего доступ к ресурсу, и каковы ее привилегии для этого ресурса.
Основным преимуществом RBAC над ЦАП является простота управления - в принципе у вас есть очень мало функций, централизованно управляемых, независимо от того, сколько пользователей, и просто вопрос предоставления каждому пользователю правильной роли; в отличие от ЦАП, где для каждого нового пользователя (или изменения в пользователе, или удаления и т. д.) вам нужно обойти все ресурсы, к которым ей нужен доступ, и добавить их в список. С другой стороны, ЦАП часто бывает более простым и, как правило, более зернистым. Кроме того, в модели ЦАП владелец данных может решить, кто имеет доступ (если у него есть это разрешение на данные) и добавить или удалить людей из списка.
Очень распространенный пример ЦАП - это файловая система Windows. С другой стороны, очень распространенным примером RBAC является ЦАП на корпоративных файловых серверах - любой из групп ActiveDirectory «Sales» будет иметь доступ к папке \ Sales \ shared. Чаще всего это группа «Администраторы» в Windows.
MAC - это обязательный контроль доступа, это можно рассматривать как классификацию или уровень конфиденциальности. Это чаще всего используется в военных системах и обратно в дни мейнфрейма :). Не так много используется, хотя текущие ОС реализуют этот вкус, например, уровни целостности Vista/Win7.
Суммируя отличие:
ЦАП на основе личных разрешений, RBAC на «группу» Уровень разрешения DAC устанавливаются владельцем данных, RBAC владелец системы/с (как правило, разработчиком определяет доступ, предоставляемый каждой роли, и оперативный администратор помещает пользователей в роли). Определения DAC обычно привязываются к данным/ресурсу, тогда как RBAC обычно определяется в двух местах: в коде/конфигурации/метаданных (доступ к ролям) и на пользовательский объект (или таблицу - роли, которые каждый пользователь имеет). С другой стороны, роли RBAC администрируются централизованно (кто связан с какими ролями), тогда как ЦАП администрируется «на ресурсе» (т. Е. Вы управляете каждым ресурсом по отдельности). Определение разрешений на роль обычно статично в RBAC, и пользователям предоставляются только роли; в ЦАП разрешения на ресурс часто меняются во время выполнения. ЦАП следует рассматривать как перечисление «кто имеет доступ к моим данным», а RBAC определяет «что может делать этот пользователь».
Я прошел через этот HTTP: // безопасности. stackexchange.com/questions/346/what-is-the-difference-between-rbac-and-dac-acl?newreg=6cf66d55677a412483970af019ab4f70 уже .... Я хочу ответ, рассматривая пример, упомянутый выше .... –