Различные компании или поставщики программного обеспечения разработали бесчисленное множество способов контроля доступа пользователей к функциям или ресурсам. Но независимо от типа конструкции, его можно разделить на четыре классические модели разрешений — дискреционное управление доступом (DAC, Discretionary Access Control), обязательное управление доступом (MAC, Mandatory Access Control), управление доступом на основе ролей (RBAC, Role-Control). управление доступом на основе атрибутов) и управление доступом на основе атрибутов (ABAC, контроль доступа на основе атрибутов).
По сути, независимо от типа модели управления разрешениями, можно абстрагировать три основных элемента, а именно: пользователя, систему/приложение и политику.
Три элемента модели контроля доступа
Дискреционная модель контроля доступа (DAC, Discretionary Accessory Access Control)основан наПолитика дискреционного контроля доступамодель создана,позволятьЗаконные пользователи как пользователи или группы пользователей.Политика доступа предусматриваетобъект,Также запретите неавторизованным пользователям доступ к объекту. Пользователи, владеющие объект Разрешения,Это может бытьобъектиз Разрешенияназначено другимпользователь。Например, нет файла File1 Пользователи с правами доступа могут получить доступ к B Пользователь имеет права доступа туда.
список контроля разрешений
Список управления доступом (ACL), каждый объект снабжен списком, в котором записаны, какие операции субъект выполняет над объектом. Когда система пытается получить доступ к объекту, она сначала проверяет этот список, чтобы узнать, есть ли какие-либо права доступа для текущего пользователя. ACL — это ресурсно-ориентированная модель управления доступом, и ее механизм вращается вокруг ресурсов.
Для ACL файлового объекта:
Указывает, что Алиса может читать и записывать файл, а Боб может только читать его.
матрица контроля разрешений
Матрица контроля доступа (ACM, матрица контроля доступа) описывает отношения распределения разрешений между субъектами и объектами в матричной форме. Каждый субъект имеет какие права доступа к каким объектам и для объекта, какие субъекты могут к нему обращаться;
DAC широко распространен в файловых системах, а операционные системы LINUX, UNIX и Windows NT поддерживают DAC. С точки зрения реализации сначала аутентифицируется пользователь, а затем на основе контрольного списка определяется, может ли пользователь получить доступ к ресурсам. Изменение разрешений на управление пользователями обычно осуществляется привилегированными пользователями или группами администраторов.
Функции
Субъект реализации авторизации (1. Субъект, который может авторизовать; 2. Авторизованный объект управления; 3. Группа авторизации) самостоятельно отвечает за предоставление и отзыв прав доступа других субъектов к ресурсам объекта. Модель DAC обычно использует матрицы управления доступом и списки управления доступом для хранения информации управления доступом различных субъектов, чтобы ограничить права доступа субъектов.
недостаток
Модель обязательного контроля доступа (MAC, Mandatory Access Control), Это чтобы компенсировать это DAC Разрешения родились из проблемы чрезмерного рассредоточения контроля. В области компьютеров под безопасностью понимается контроль, управляемый операционной системой. доступа,目标да限制主体或发起者访问或对对象或目标执行某种操作из能力。任何主体对任何对象из任何操作都将根据一组Правила авторизации (также называемые политиками)тест,Определите, разрешена ли операция.
MAC очень подходит для конфиденциальных агентств или других отраслей с четкой иерархической концепцией.,Слишком большой упор на конфиденциальность и недостаточная гибкость в управлении.。С точки зрения реализации,MAC и DAC Каждому пользователю обычно задается набор правил прав доступа к объектам. Учитывая удобство управления, в ходе этого процесса пользователи с одинаковыми функциями часто объединяются в группы, а затем каждой группе назначаются права.
Система определяет режим доступа на основе конфиденциальной метки субъекта, и этот режим включает в себя
Из соображений безопасности этот метод использовался военными. Ниже описаны две широко используемые модели безопасности с обязательным контролем доступа.
Администратор определяет ряд Роль(roles)и назначьте их по теме。Системный процессиобычнопользователь可能有不同из Роль。Присвоить объекту определенный тип,主体具有相应из Рольвы можете получить к нему доступ。Это освобождает администратора от необходимости определять каждыйпользовательиз许可Разрешенияиз繁冗工作中解放出来。
Управление доступом на основе ролей (RBAC, Role Based Access Control) Представлен среди пользователей и Разрешения "Роль" изконцепция,РольразвязкаПонятнопользовательи Разрешения之间из关系。
Основные отличия группы Роли:
Управление доступом на основе ролей模型 RBAC, иногда называемый RBAC на основе правил. доступом на основе ролей(Rule-Based Role-Based Access Control,РБ-RBAC). Он содержит механизм динамического назначения Роль субъектам в соответствии с правилами, определяемыми атрибутами и политиками субъекта. Например,Ты субъект в сети,Вы хотите получить доступ к объекту в другой сети. Эта сеть находится на другой стороне маршрутизатора, для которого определен список доступа. Маршрутизатор на основе вашего сетевого адреса или протокола,Дать тебе некую Роль,Это определяет, имеете ли вы право доступа.
RBAC0
RBAC0 作为базовая модель,Содержит только три основных элемента,пользователь,Роль,Разрешения。пользовательи Роль可以да多对多из关系,Разрешенияи Роль также является отношением многие-ко-многим.
RBAC1
RBAC1 включено RBAC0 并且添加Понятнонаследование ролей。Как следует из названия,наследование ролей означает, что Роль может наследовать от других Ролей,Имея другие Роль Разрешения,Вы также можете самостоятельно связать дополнительные Разрешения. Данная конструкция позволяет группировать и наслаивать Роль.,Это в определенной степени упрощает управленческую работу «Разрешения». То есть между Ролем существуют отношения начальник-подчиненный.,Проекту сущности соответствует самоассоциация сущности Роль.
RBAC2
RBAC2 также включает в себя RBAC0 и добавлены ограничения. RBAC1 и RBAC2 независимы друг от друга. RBAC2 Ограничения определяют обязательные правила, которым следует следовать, когда роли назначаются разрешения или когда роль назначается пользователю, а также когда пользователь активирует роль в определенный момент.
взаимоисключающие ограничения:включить взаимное исключениепользователь,взаимоисключающие,взаимоисключающие Разрешения。тот же самыйпользователь不能拥有相互排斥из Роль,двавзаимоисключающие不能分配一样из Разрешениянабор,Взаимоисключающие Разрешения не могут быть назначены на одну и ту же Роль.,существовать session , одна и та же роль не может иметь взаимоисключающие разрешения.
ограничения мощности:один Роль被分配изпользователь Количество ограничено,它指изда有多少пользовательможет иметь это Роль。Например:один Рольспециально для компаний CEO Создано, количество этой роли ограничено.
Необходимые роли:指要想获得较高из Разрешения,Сначала у вас должен быть более низкий уровень Разрешения. Например: Сначала идет заместитель генерального директора Разрешения.,Только тогда может быть генеральный директор Разрешения.
RBAC3
RBAC3 — это полнофункциональный RBAC3, объединяющий RBAC0, RBAC1 и RBAC2.
基于属性изКонтроль доступа (ABAC, контроль доступа на основе атрибутов) выполняет оценку авторизации путем динамического расчета того, удовлетворяет ли атрибут или группа атрибутов определенным условиям.。可以按需实现不同颗粒度из Разрешенияконтроль,Но определениеРазрешенияИногда трудно увидетьпользовательи对象间из关系。Если правила сложные,Легко доставить менеджерам проблемы с обслуживанием и отслеживанием.
Недвижимость обычно делится на четыре категории:
Определение протокола управления на основе атрибутов требует создания набора атрибутов субъекта, среды и объекта и формирования результата ответа с помощью связанных стратегий управления.
и RBAC По сравнению с АБАК Управление разрешениями является более детальным, например управление скоростью доступа пользователя. В реальной разработке его можно комбинировать RBAC Преимущества Роль менеджмента ABAC гибкость для совместного использования.
Источник статьи: Блог Парк