Управление доступом на основе атрибутов
Управление доступом на основе атрибутов ( ABAC ), также известное как управление доступом на основе политик для IAM , определяет парадигму управления доступом, при которой авторизация субъекта на выполнение набора операций определяется путем оценки атрибутов, связанных с субъектом, объектом, запрошенными операциями, и, в некоторых случаях, атрибуты окружающей среды. [1]
ABAC — это метод реализации политик контроля доступа, который легко адаптируется и может быть настроен с использованием широкого спектра атрибутов, что делает его пригодным для использования в распределенных или быстро меняющихся средах. Единственными ограничениями политик, которые могут быть реализованы с помощью ABAC, являются возможности вычислительного языка и наличие соответствующих атрибутов. [2] Правила политики ABAC генерируются как логические функции атрибутов субъекта, атрибутов объекта и атрибутов среды. [3]
В отличие от управления доступом на основе ролей (RBAC) , которое определяет роли, которые несут определенный набор привилегий, связанных с ними и которым назначаются субъекты, ABAC может выражать сложные наборы правил, которые могут оценивать множество различных атрибутов. Путем определения согласованных атрибутов субъекта и объекта в политиках безопасности ABAC устраняет необходимость в явных авторизациях отдельных субъектов, необходимых в методе доступа, отличном от ABAC, что снижает сложность управления списками и группами доступа.
Значения атрибутов могут иметь множество значений или атомарные значения. Атрибуты с множеством значений содержат более одного атомарного значения. Примерами являются role и project . Атрибуты с атомарным значением содержат только одно атомарное значение. Примерами являются клиренс и чувствительность . Атрибуты можно сравнивать со статическими значениями или друг с другом, что обеспечивает управление доступом на основе отношений. [ нужна ссылка ]
Хотя сама концепция существует уже много лет, ABAC считается моделью авторизации «следующего поколения», поскольку она обеспечивает динамическое, контекстно-зависимое и интеллектуальное управление доступом к ресурсам, позволяющее применять политики контроля доступа, включающие определенные атрибуты из множества различных информационных систем. определены для разрешения авторизации и достижения эффективного соответствия нормативным требованиям, что обеспечивает предприятиям гибкость в реализации на основе существующей инфраструктуры.
Управление доступом на основе атрибутов иногда называют контролем доступа на основе политик ( PBAC ) или контролем доступа на основе утверждений ( CBAC ), что является термином, специфичным для Microsoft. Ключевыми стандартами, реализующими ABAC, являются XACML и ALFA (XACML) . [4]
Аспекты управления доступом на основе атрибутов
[ редактировать ]ABAC можно рассматривать как:
- Внешнее управление авторизацией [5]
- Динамическое управление авторизацией [6]
- Контроль доступа на основе политик
- Детальная авторизация
Компоненты
[ редактировать ]Архитектура
[ редактировать ]ABAC поставляется со следующей рекомендуемой архитектурой:
- PEP или точка применения политики: она отвечает за защиту приложений и данных, к которым вы хотите применить ABAC. PEP проверяет запрос и генерирует запрос авторизации, который отправляет PDP.
- PDP или точка принятия политических решений — это мозг архитектуры. Это часть, которая оценивает входящие запросы на соответствие политикам, с которыми она настроена. PDP возвращает решение о разрешении/отказе. PDP также может использовать PIP для получения недостающих метаданных.
- PIP или точка информации о политике соединяют PDP с внешними источниками атрибутов, например LDAP или базами данных.
Атрибуты
[ редактировать ]Атрибуты могут быть о чем угодно и о ком угодно. Они, как правило, делятся на 4 различные категории:
- Атрибуты субъекта: атрибуты, которые описывают пользователя, пытающегося получить доступ, например возраст, допуск, отдел, роль, должность.
- Атрибуты действия: атрибуты, описывающие предпринимаемое действие, например чтение, удаление, просмотр, утверждение.
- Атрибуты объекта: атрибуты, которые описывают объект (или ресурс), к которому осуществляется доступ, например, тип объекта (медицинская карта, банковский счет), отделение, классификация или чувствительность, местоположение.
- Контекстные атрибуты (среды): атрибуты, которые связаны со временем, местоположением или динамическими аспектами сценария управления доступом. [7]
Политика
[ редактировать ]Политики — это заявления, которые объединяют атрибуты, чтобы выразить то, что может произойти, а что не разрешено. Политики в ABAC могут предоставлять или запрещать политики. Политики также могут быть локальными или глобальными и могут быть написаны таким образом, чтобы они переопределяли другие политики. Примеры включают в себя:
- Пользователь может просмотреть документ, если документ находится в том же отделе, что и пользователь.
- Пользователь может редактировать документ, если он является владельцем и если документ находится в режиме черновика.
- Запретить доступ до 9 утра
С ABAC вы можете иметь столько политик, сколько захотите, которые подходят для множества различных сценариев и технологий. [7]
Другие модели
[ редактировать ]Исторически модели контроля доступа включали обязательный контроль доступа (MAC), дискреционный контроль доступа (DAC) и, в последнее время, контроль доступа на основе ролей (RBAC). Эти модели управления доступом ориентированы на пользователя и не принимают во внимание дополнительные параметры, такие как информация о ресурсе, связь между пользователем (запрашивающим объектом) и ресурсом, а также динамическую информацию, например время суток или IP-адрес пользователя.
ABAC пытается решить эту проблему, определяя контроль доступа на основе атрибутов, которые описывают запрашивающую сущность (пользователя), целевой объект или ресурс, желаемое действие (просмотр, редактирование, удаление), а также информацию об окружающей среде или контекстуальную информацию. Вот почему говорят, что управление доступом основано на атрибутах. [8]
Реализации
[ редактировать ]Существует три основные реализации ABAC:
- ОАЗИС XACML
- Сокращенный язык авторизации (ALFA) .
- NIST от Система контроля доступа нового поколения (NGAC)
XACML , расширяемый язык разметки контроля доступа, определяет архитектуру (совместно с ALFA и NGAC), язык политик и схему запросов/ответов. Он не обрабатывает управление атрибутами (назначение атрибутов пользователя, назначение атрибутов объекта, назначение атрибутов среды), которое остается на усмотрение традиционных инструментов IAM , баз данных и каталогов.
Компании, в том числе все подразделения вооруженных сил США, начали использовать ABAC. На базовом уровне ABAC защищает данные с помощью правил «ЕСЛИ/ТО/И», а не назначает данные пользователям. Министерство торговли США сделало это обязательной практикой, и принятие распространяется на несколько правительственных и военных ведомств. [9]
Приложения
[ редактировать ]Концепция ABAC может применяться на любом уровне технологического стека и инфраструктуры предприятия. Например, ABAC можно использовать на уровне брандмауэра, сервера, приложения, базы данных и данных. Использование атрибутов создает дополнительный контекст для оценки легитимности любого запроса на доступ и принятия решения о предоставлении или отказе в доступе.
Важным соображением при оценке решений ABAC является понимание их потенциальных затрат на производительность и их влияния на взаимодействие с пользователем. Ожидается, что чем более детализирован контроль, тем выше накладные расходы.
Безопасность API и микросервисов
[ редактировать ]ABAC можно использовать для применения детальной авторизации на основе атрибутов к методам или функциям API. Например, банковский API может предоставлять метод ApprovTransaction(transId). ABAC можно использовать для защиты вызова. С помощью ABAC автор политики может написать следующее:
- Политика : менеджеры могут одобрять транзакции в пределах установленного лимита одобрения.
- Используемые атрибуты : роль, идентификатор действия, тип объекта, сумма, лимит одобрения.
Поток будет следующим:
- Пользователь Алиса вызывает метод API ApprovTransaction(123).
- API принимает вызов и аутентифицирует пользователя.
- Перехватчик в API обращается к механизму авторизации (обычно называемому точкой принятия решения о политике или PDP) и спрашивает: может ли Алиса одобрить транзакцию 123?
- PDP извлекает политику ABAC и необходимые атрибуты.
- PDP принимает решение, например, «Разрешить» или «Запретить», и возвращает его перехватчику API.
- Если принято решение «Разрешить», вызывается базовая бизнес-логика API. В противном случае API возвращает ошибку или доступ запрещен.
Безопасность приложений
[ редактировать ]Одним из ключевых преимуществ ABAC является то, что политики и атрибуты авторизации могут быть определены технологически нейтральным способом. Это означает, что политики, определенные для API или баз данных, можно повторно использовать в пространстве приложений. Распространенными приложениями, которые могут извлечь выгоду из ABAC, являются:
- Системы управления контентом
- ERP-системы
- Собственные приложения
- Веб-приложения
Здесь применим тот же процесс и последовательность действий, что и описанные в разделе API.
Безопасность базы данных
[ редактировать ]Безопасность баз данных уже давно является специфичной для поставщиков баз данных: Oracle VPD, IBM FGAC и Microsoft RLS — все это средства для достижения детальной безопасности, подобной ABAC.
Примером может быть:
- Политика: менеджеры могут просматривать транзакции в своем регионе
- Переработанная политика с учетом данных: пользователи с
role == manager
могу выполнить действиеSELECT
наtable == TRANSACTIONS
еслиuser.region == transaction.region
Безопасность данных
[ редактировать ]Безопасность данных обычно идет на шаг дальше, чем безопасность базы данных, и применяет контроль непосредственно к элементу данных. Это часто называют безопасностью, ориентированной на данные. В традиционных реляционных базах данных политики ABAC могут контролировать доступ к данным в таблице, столбце, поле, ячейке и подячейке, используя логические элементы управления с условиями фильтрации и маскированием на основе атрибутов. Атрибуты могут быть данными, пользователем, сеансом или инструментами, обеспечивающими максимальный уровень гибкости при динамическом предоставлении/запрете доступа к определенному элементу данных. В больших данных и распределенных файловых системах, таких как Hadoop, ABAC применяется на уровне данных для управления доступом к папке, подпапке, файлу, подфайлу и другим детальным данным.
Безопасность больших данных
[ редактировать ]Управление доступом на основе атрибутов также может применяться к системам больших данных, таким как Hadoop. Политики, аналогичные использованным ранее, можно применять при извлечении данных из озер данных. [10] [11]
Безопасность файлового сервера
[ редактировать ]Начиная с Windows Server 2012, Microsoft реализовала подход ABAC для контроля доступа к файлам и папкам. Это достигается за счет динамического контроля доступа (DAC). [12] и язык определения дескрипторов безопасности (SDDL). SDDL можно рассматривать как язык ABAC, поскольку он использует метаданные пользователя (утверждения) и файла/папки для управления доступом.
См. также
[ редактировать ]- Список контроля доступа
- Контекстное управление доступом (CBAC)
- Безопасность, ориентированная на данные
- Дискреционный контроль доступа (DAC)
- Контроль доступа на основе графов (GBAC)
- Контроль доступа на основе решеток (LBAC)
- Обязательный контроль доступа (MAC)
- Контроль доступа на уровне организации (OrBAC)
- Управление доступом на основе ролей (RBAC)
- Контроль доступа на основе отношений (ReBAC)
- Управление доступом на основе набора правил (RSBAC)
- Безопасность на основе возможностей
- Аутентификация на основе рисков
- Секретная информация
- Федеративная идентичность
- Сеть, управляемая идентификацией
- Управление идентификацией
- Система управления идентификацией
- Облегченный протокол доступа к каталогу
- OAuth
- РАЗРЕШАТЬ
- Язык разметки утверждений безопасности
- Служба токенов безопасности
- Единый вход
- Программное обеспечение для инициализации пользователей
- ХАКМЛ
Ссылки
[ редактировать ]- ^ Отдел компьютерной безопасности, Лаборатория информационных технологий (24 мая 2016 г.). «Управление доступом на основе атрибутов | CSRC | CSRC» . ЦКРС | НИСТ . Проверено 25 ноября 2021 г.
- ^ Ху, Винсент С.; Кун, Д. Ричард; Феррайоло, Дэвид Ф.; Воас, Джеффри (февраль 2015 г.). «Контроль доступа на основе атрибутов» . Компьютер . 48 (2): 85–88. дои : 10.1109/MC.2015.33 . ISSN 1558-0814 . S2CID 54967881 .
- ^ «Руководство по защите веб-сервисов: рекомендации Национального института стандартов и технологий» (PDF) .
- ^ Сильва, Эдельберто Франко; Мучалуат-Сааде, Дебора Кристина; Фернандес, Наталья Кастро (01 января 2018 г.). «ACROSS: универсальная структура для управления доступом на основе атрибутов с распределенными политиками для виртуальных организаций» . Компьютерные системы будущего поколения . 78 : 1–17. дои : 10.1016/j.future.2017.07.049 . ISSN 0167-739X .
- ^ «Обзор технологии внешнего управления авторизацией» . www.gartner.com . Проверено 31 мая 2017 г.
- ^ «Компас лидерства: динамическое управление авторизацией – 71144» . Куппингер Коул . Проверено 14 июля 2020 г.
- ^ Перейти обратно: а б «Альтернативы для систем контроля доступа к ролям/заявкам» . stackoverflow.com .
- ^ «Что такое контроль доступа на основе атрибутов (ABAC)?» . www.okta.com . Проверено 13 сентября 2023 г.
- ^ Сэнфорд, Джим. «Шифрование на стероидах – контроль доступа на основе атрибутов (ABAC)» . Сименс . Проверено 13 октября 2023 г.
- ^ «Динамическая, детальная авторизация защищает большие данные» .
- ^ «Первый детальный контроль доступа к данным в Hadoop» . Архивировано из оригинала 23 марта 2016 г.
- ^ «Обзор динамического контроля доступа (Windows 10) — безопасность Windows» .
Внешние ссылки
[ редактировать ]- Что такое контроль доступа на основе атрибутов?
- КОНТРОЛЬ ДОСТУПА НА ОСНОВЕ АТРИБУТОВ (ABAC) – ОБЗОР
- Унифицированная модель управления доступом на основе атрибутов (ABAC), охватывающая DAC, MAC и RBAC.
- Модели управления доступом на основе атрибутов (ABAC) и их реализация в облачной инфраструктуре как услуге
- ABAC, а не RBAC: Добро пожаловать в мир контекстной безопасности (IoT), 2015 г., Лори МакВитти
- Компас рынка: динамическое управление авторизацией, 2020, Грэм Уильямсон