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

Парадигма контроля доступа

Управление доступом на основе атрибутов ( ABAC ), также известное как управление доступом на основе политик для IAM , определяет парадигму управления доступом, в которой разрешение субъекта на выполнение набора операций определяется путем оценки атрибутов, связанных с субъектом, объектом, запрошенными операциями и, в некоторых случаях, атрибутами среды. [1]

ABAC — это метод реализации политик контроля доступа, который легко адаптируется и может быть настроен с использованием широкого спектра атрибутов, что делает его пригодным для использования в распределенных или быстро меняющихся средах. Единственными ограничениями политик, которые могут быть реализованы с помощью ABAC, являются возможности вычислительного языка и доступность соответствующих атрибутов. [2] Правила политики ABAC генерируются как булевы функции атрибутов субъекта, атрибутов объекта и атрибутов среды. [3]

В отличие от управления доступом на основе ролей (RBAC), которое определяет роли, несущие определенный набор привилегий, связанных с ними, и которым назначаются субъекты, ABAC может выражать сложные наборы правил, которые могут оценивать множество различных атрибутов. Определяя согласованные атрибуты субъекта и объекта в политиках безопасности, ABAC устраняет необходимость в явных разрешениях для субъектов отдельных лиц, необходимых в методе доступа, отличном от ABAC, что снижает сложность управления списками доступа и группами.

Значения атрибутов могут быть заданными или атомарными. Атрибуты с заданными значениями содержат более одного атомарного значения. Примерами являются роль и проект . Атрибуты с атомарными значениями содержат только одно атомарное значение. Примерами являются допуск и чувствительность . Атрибуты можно сравнивать со статическими значениями или друг с другом, что позволяет осуществлять контроль доступа на основе отношений. [ необходима цитата ]

Хотя сама концепция существует уже много лет, ABAC считается моделью авторизации «следующего поколения», поскольку она обеспечивает динамическое, учитывающее контекст и риски управление доступом к ресурсам, позволяя определять политики управления доступом, включающие конкретные атрибуты из множества различных информационных систем, для разрешения авторизации и достижения эффективного соответствия нормативным требованиям, что обеспечивает предприятиям гибкость в их реализации на основе существующих инфраструктур.

Управление доступом на основе атрибутов иногда называют управлением доступом на основе политик ( PBAC ) или управлением доступом на основе утверждений ( CBAC ), что является специфическим термином Microsoft. Ключевыми стандартами, реализующими ABAC, являются XACML и ALFA (XACML) . [4]

Размеры контроля доступа на основе атрибутов

ABAC можно рассматривать как:

  • Внешнее управление авторизацией [5]
  • Динамическое управление авторизацией [6]
  • Контроль доступа на основе политик
  • Детальная авторизация

Компоненты

Архитектура

ABAC поставляется с рекомендуемой архитектурой, которая выглядит следующим образом:

  1. PEP или точка применения политики: отвечает за защиту приложений и данных, к которым вы хотите применить ABAC. PEP проверяет запрос и генерирует запрос на авторизацию, который отправляет в PDP.
  2. PDP или точка принятия решения о политике — это мозг архитектуры. Это часть, которая оценивает входящие запросы на соответствие политикам, с которыми она была настроена. PDP возвращает решение о разрешении/запрете. PDP также может использовать PIP для извлечения отсутствующих метаданных
  3. PIP или точка информации о политике связывает PDP с внешними источниками атрибутов, например, LDAP или базами данных.

Атрибуты

Атрибуты могут быть о чем угодно и о ком угодно. Они, как правило, делятся на 4 категории:

  1. Атрибуты субъекта: атрибуты, описывающие пользователя, пытающегося получить доступ, например, возраст, допуск, отдел, роль, должность.
  2. Атрибуты действия: атрибуты, описывающие предпринимаемое действие, например, чтение, удаление, просмотр, одобрение.
  3. Атрибуты объекта: атрибуты, которые описывают объект (или ресурс), к которому осуществляется доступ, например, тип объекта (медицинская карта, банковский счет), отдел, классификация или чувствительность, местоположение
  4. Контекстные (средовые) атрибуты: атрибуты, которые имеют дело со временем, местоположением или динамическими аспектами сценария контроля доступа [7]

Политики

Политики — это утверждения, которые объединяют атрибуты для выражения того, что может произойти, а что нет. Политики в ABAC могут быть политиками предоставления или запрета. Политики также могут быть локальными или глобальными и могут быть написаны таким образом, что они переопределяют другие политики. Вот некоторые примеры:

  1. Пользователь может просмотреть документ, если документ находится в том же отделе, что и пользователь.
  2. Пользователь может редактировать документ, если он является его владельцем и документ находится в режиме черновика.
  3. Запретить доступ до 9 утра

С ABAC вы можете иметь неограниченное количество политик, которые подходят для множества различных сценариев и технологий. [7]

Другие модели

Исторически модели контроля доступа включали обязательный контроль доступа (MAC), дискреционный контроль доступа (DAC) и, в последнее время, контроль доступа на основе ролей (RBAC). Эти модели контроля доступа ориентированы на пользователя и не учитывают дополнительные параметры, такие как информация о ресурсе, связь между пользователем (запрашивающей сущностью) и ресурсом, а также динамическую информацию, например, время суток или IP-адрес пользователя.

ABAC пытается решить эту проблему, определяя контроль доступа на основе атрибутов, которые описывают запрашивающую сущность (пользователя), целевой объект или ресурс, желаемое действие (просмотр, редактирование, удаление) и окружающую или контекстную информацию. Вот почему контроль доступа называется основанным на атрибутах. [8]

Реализации

Существует три основных варианта реализации ABAC:

XACML , eXtensible Access Control Markup Language, определяет архитектуру (общую с ALFA и NGAC), язык политик и схему запроса/ответа. Он не обрабатывает управление атрибутами (назначение атрибутов пользователя, назначение атрибутов объекта, назначение атрибутов среды), которое оставлено традиционным инструментам IAM , базам данных и каталогам.

Компании, включая все подразделения вооруженных сил США, начали использовать ABAC. На базовом уровне ABAC защищает данные с помощью правил «ЕСЛИ/ТО/И», а не назначает данные пользователям. Министерство торговли США сделало это обязательной практикой, и ее принятие распространяется на несколько правительственных и военных агентств. [9]

Приложения

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

Важным соображением при оценке решений ABAC является понимание их потенциальных накладных расходов на производительность и их влияния на пользовательский опыт. Ожидается, что чем более детализированы элементы управления, тем выше накладные расходы.

Безопасность API и микросервисов

ABAC можно использовать для применения основанной на атрибутах, детальной авторизации к методам или функциям API. Например, банковский API может предоставлять метод approvedTransaction(transId). ABAC можно использовать для защиты вызова. С помощью ABAC автор политики может написать следующее:

  • Политика : менеджеры могут одобрять транзакции в пределах своего лимита одобрения
  • Используемые атрибуты : роль, идентификатор действия, тип объекта, сумма, лимит утверждения.

Поток будет следующим:

  1. Пользователь, Алиса, вызывает метод API approvedTransaction(123)
  2. API принимает вызов и аутентифицирует пользователя.
  3. Перехватчик в API обращается к механизму авторизации (обычно называемому точкой принятия решения о политике или PDP) и спрашивает: может ли Алиса одобрить транзакцию 123?
  4. PDP извлекает политику ABAC и необходимые атрибуты.
  5. PDP принимает решение, например, разрешить или запретить, и возвращает его перехватчику API.
  6. Если решение — Permit, вызывается базовая бизнес-логика API. В противном случае API возвращает ошибку или доступ запрещен.

Безопасность приложений

Одним из ключевых преимуществ ABAC является то, что политики и атрибуты авторизации могут быть определены технологически нейтральным способом. Это означает, что политики, определенные для API или баз данных, могут быть повторно использованы в пространстве приложений. Распространенные приложения, которые могут выиграть от ABAC:

  1. Системы управления контентом
  2. ERP-системы
  3. Приложения собственного производства
  4. Веб-приложения

Здесь применим тот же процесс и последовательность действий, что описаны в разделе API.

Безопасность базы данных

Безопасность баз данных уже давно является специфической чертой поставщиков баз данных: Oracle VPD, IBM FGAC и Microsoft RLS — все это средства для достижения детальной безопасности, подобной ABAC.

Примером может служить:

  • Политика: менеджеры могут просматривать транзакции в своем регионе
  • Переработанная политика с учетом данных: пользователи role = managerмогут выполнять действие SELECT, table = TRANSACTIONSеслиuser.region = transaction.region

Безопасность данных

Безопасность данных обычно идет на один шаг дальше безопасности базы данных и применяет контроль непосредственно к элементу данных. Это часто называют безопасностью, ориентированной на данные. В традиционных реляционных базах данных политики ABAC могут контролировать доступ к данным в таблице, столбце, поле, ячейке и подъячейке, используя логические элементы управления с условиями фильтрации и маскирования на основе атрибутов. Атрибуты могут быть данными, пользователем, сеансом или инструментами, чтобы обеспечить максимальный уровень гибкости в динамическом предоставлении/запрете доступа к определенному элементу данных. В больших данных и распределенных файловых системах, таких как Hadoop, ABAC, применяемый на уровне данных, контролирует доступ к папке, подпапке, файлу, подфайлу и другим гранулярным.

Безопасность больших данных

Контроль доступа на основе атрибутов также может применяться к системам Big Data, таким как Hadoop. Политики, аналогичные тем, которые использовались ранее, могут применяться при извлечении данных из озер данных. [10] [11]

Безопасность файлового сервера

Начиная с Windows Server 2012, Microsoft реализовала подход ABAC для контроля доступа к файлам и папкам. Это достигается с помощью динамического контроля доступа (DAC) [12] и языка определения дескрипторов безопасности (SDDL). SDDL можно рассматривать как язык ABAC, поскольку он использует метаданные пользователя (заявки) и файла/папки для контроля доступа.

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

Ссылки

  1. ^ Отдел компьютерной безопасности, Лаборатория информационных технологий (2016-05-24). "Управление доступом на основе атрибутов | CSRC | CSRC". CSRC | NIST . Получено 2021-11-25 .
  2. ^ Ху, Винсент С.; Кун, Д. Ричард; Феррайоло, Дэвид Ф.; Воас, Джеффри (февраль 2015 г.). «Управление доступом на основе атрибутов». Computer . 48 (2): 85–88. doi :10.1109/MC.2015.33. ISSN  1558-0814. S2CID  54967881.
  3. ^ «Руководство по безопасным веб-сервисам: Рекомендации Национального института стандартов и технологий» (PDF) .
  4. ^ Сильва, Эдельберто Франко; Мучалуат-Сааде, Дебора Кристина; Фернандес, Наталия Кастро (01.01.2018). «ACROSS: общая структура для управления доступом на основе атрибутов с распределенными политиками для виртуальных организаций». Future Generation Computer Systems . 78 : 1–17. doi :10.1016/j.future.2017.07.049. ISSN  0167-739X.
  5. ^ «Обзор технологий для внешнего управления авторизацией». www.gartner.com . Получено 2017-05-31 .
  6. ^ "Leadership Compass: Dynamic Authorization Management - 71144". KuppingerCole . Получено 2020-07-14 .
  7. ^ ab "Альтернативы для систем контроля доступа на основе ролей/заявок". stackoverflow.com .
  8. ^ «Что такое управление доступом на основе атрибутов (ABAC)?». www.okta.com . Получено 13 сентября 2023 г.
  9. ^ Сэнфорд, Джим. «Шифрование на стероидах – контроль доступа на основе атрибутов (ABAC)». Siemens . Получено 13 октября 2023 г. .
  10. ^ «Динамическая, детальная авторизация защищает большие данные».
  11. ^ "Первый мелкозернистый контроль доступа к данным на Hadoop". Архивировано из оригинала 2016-03-23.
  12. ^ «Обзор динамического контроля доступа (Windows 10) — безопасность Windows».
  • Что такое контроль доступа на основе атрибутов?
  • КОНТРОЛЬ ДОСТУПА НА ОСНОВЕ АТРИБУТОВ (ABAC) - ОБЗОР
  • Унифицированная модель управления доступом на основе атрибутов (ABAC), охватывающая DAC, MAC и RBAC
  • Модели контроля доступа на основе атрибутов (ABAC) и их реализация в облачной инфраструктуре как услуге
  • ABAC, а не RBAC: Добро пожаловать в мир контекстной безопасности (IoT), 2015, Лори МакВитти
  • Market Compass: Динамическое управление авторизацией, 2020, Грэм Уильямсон
Взято с "https://en.wikipedia.org/w/index.php?title=Управление_доступом_на_основе_атрибутов&oldid=1256804546"