Управление доступом на основе атрибутов (ABAC) - это метод управления доступом, основанный на атрибутах (парах ключ-значение), которые используются внутри политик и правил для выражения логики управления доступом.

Управление доступом на основе атрибутов (ABAC) - это метод управления доступом, при котором запросы субъекта на выполнение операций с объектами предоставляются или отклоняются на основе назначенных атрибутов субъекта, назначенных атрибутов объекта, условий среды и набора политик, указанных в условия этих атрибутов и условий.

Источник: Руководство по определению и соображениям управления доступом на основе атрибутов (ABAC).

Короче говоря, ABAC - это эволюция модели управления доступом на основе ролей ( rbac). Если RBAC фокусируется на пользователе, его роли (-ях), разрешениях и, при необходимости, группе (-ах) для определения логики авторизации, ABAC использует атрибуты и политики для определения логики управления доступом.

Атрибуты представляют собой пары "ключ-значение", например роль == менеджер или гражданство == шведский. Атрибуты могут описывать:

  • Пользователь
  • ресурс или объект, к которому осуществляется доступ / запрашивается
  • предпринимаемое действие (просмотреть, удалить, утвердить...)
  • контекстные данные, такие как время дня, IP-адрес пользователя, метод аутентификации...

xacml - это пример стандарта, реализующего ABAC. alfa - это псевдокод, который можно использовать для разработки и реализации политик ABAC.