Два широко используемых в настоящее время Разрешения Модель:на основеРольконтроль доступа(role-based access control RBAC)和на основесвойствоконтроль доступа(attribute-based access control ABAC)
Что такое РБАК?
Например, когда пользователь входит в систему управления финансами, каким пользователям разрешен доступ и редактирование каких меню, каким ресурсам продукта разрешен доступ и редактирование и т. д. Все эти разрешения зависят от того, какую роль выполняет пользователь.
В RBAC роль обычно относится к группе людей с определенными общими характеристиками, такими как: отдел, местоположение, стаж, уровень, должностные обязанности и т. д.
В начале системы администратор создает несколько разных ролей с разными комбинациями разрешений в зависимости от потребностей бизнеса. Например, роль A имеет разрешения на доступ и редактирование для всех меню, а роль B имеет разрешения на доступ и редактирование только для меню A, но не имеет. разрешения на редактирование других меню. Если необходимо предоставить разрешения пользователю, назначьте пользователю соответствующую роль, чтобы предоставить необходимые разрешения.
Что такое АБАК?
Контроль доступа ABAC использует набор характеристик, называемых «атрибутами». Сюда входят свойства пользователя, свойства среды и свойства ресурсов.
Атрибуты пользователя: включают в себя такие сведения, как имя пользователя, роль, организация, идентификатор и уровень допуска.
Атрибуты окружающей среды: к ним относятся такие вещи, как время доступа, расположение данных и текущий уровень угроз организации.
Свойства ресурса: включают такие данные, как дата создания, владелец ресурса, имя файла и конфиденциальность данных.
В зависимости от потребностей бизнеса могут быть сформулированы различные политики контроля доступа. Например, можно указать, что сотрудники финансового отдела могут получить доступ к системе в офисной сети в рабочее время в рабочие дни. Если сотрудники финансового отдела используют офисную сеть, но не имеют доступа в рабочее время, дополнительная проверка подлинности. Будет добавлено Если сотрудники финансового отдела не находятся в офисе, Доступ будет запрещен, если время доступа превышено и сеть офиса не используется.
Разница между RBAC и ABAC
Основное различие между RBAC и ABAC заключается в способе предоставления доступа к методам. RBAC предоставляет права доступа на основе ролей, а ABAC может определять права доступа на основе характеристик пользователя, характеристик объекта, типов операций и других атрибутов.
Краткое описание модели RBAC
RBAC состоит из 3 основных компонентов.
- Пользователь
- Роль
- Разрешения
Принципы безопасности RBAC
- Принцип наименьших привилегий: настройте роли с минимальным набором привилегий, необходимых для выполнения их задач.
- Принцип разделения обязанностей: выполняйте деликатные задачи, вызывая независимые и взаимоисключающие роли, например: бухгалтер и финансовый администратор совместно участвуют в проводочных операциях.
- Принцип абстракции данных: реализуется с помощью таких концепций, как абстрактные разрешения. Например, в деятельности по управлению учетными записями можно использовать абстрактные разрешения, такие как кредит и дебет, вместо использования типичных разрешений на чтение, запись и выполнение.
Преимущества и недостатки RBAC
преимущество:
1. Упрощение управления авторизацией
2. Облегчите разделение ролей
3. Принцип облегчения предоставления наименьших привилегий
4. Содействие разделению обязанностей
5. Облегчить классификацию объектов
недостаток:
— Не предусмотрен механизм контроля последовательности операций. Этот недостаток затрудняет адаптацию модели RBAC к системам, предъявляющим строгие требования к последовательности операций.
3 модели RBAC
1. RBAC0:Самый простой、Самая оригинальная реализация,Это также основа для других моделей RBAC.
В этой модели между пользователями и ролями может существовать связь «многие ко многим», и пользователь может иметь разные роли в разных сценариях.
2. RBAC1:на основеRBAC0Модель,Введены отношения наследования между Роль,На Роль есть различие между начальником и подчиненным.
3. RBAC2:на основеRBAC0Модель的基础上,Роль контроля доступа проведена
Краткое описание модели ABAC
ABAC (Контроль доступа к базе атрибутов) Управление разрешениями на основе атрибутов
В отличие от обычного способа каким-либо образом связывать пользователей с разрешениями, ABAC динамически вычисляет один или набор атрибутов.
Определите, выполняются ли определенные условия для принятия решений об авторизации (можно написать простую логику).
Недвижимость обычно делится на четыре категории:
Атрибуты пользователя (например, возраст пользователя, адрес пользователя)
Атрибуты окружающей среды (например, текущее время)
Атрибуты операции (добавление, удаление, изменение, проверка)
Свойства объекта (например, статья, также известная как свойства ресурса)
Например: учащиеся уровня P5 (уровень ранга) имеют разрешения на доступ к системе открытого доступа.
Выше приведен простой пример ABAC.,Это через сущностиКлассифицироватьВот этотсвойствоконтролировать, есть лиOAсистематический Разрешения
Другой пример: студенты R&D (уровень P5) (должность) имеют доступ к Gitlab компании.
В приведенном выше примере используется набор сущностейсвойство(Классифицироватьи позиция)управлять объектом эксплуатации Разрешения
Другой пример: студенты P5 (ранг), занимающиеся исследованиями и разработками (должность), могут просматривать и загружать (управлять) кодом во внутренней сети (среде) компании.
Приведенный выше пример явно более сложен, чем два предыдущих.,Помимо осуждения сущностейсвойство(Классифицироватьи позиция),Также судил нынешнийСвойство окружающей среды и свойство Operations
Таким образом, мы можем использовать следующую картинку, чтобы выразить модель контроля доступа ABAC.
ABACотличныйнедостаток:
преимущество:
Для крупных организаций модель управления, основанная на RBCA, должна поддерживать большое количество ролей и отношений авторизации. По сравнению с этим ABAC более гибок.
При добавлении новых ресурсов ABAC необходимо поддерживать только меньше ресурсов, тогда как RBAC необходимо поддерживать все связанные роли, что делает ABAC более масштабируемым и удобным.
ABAC имеет более детальный контроль и динамическое выполнение на основе контекста, тогда как RBAC может принимать решения только на основе статических параметров.
недостаток:
Конструкция модели относительно сложна.